Skip to content

Spotify

Spotify 是音乐、播客和有声读物串流服务。Protocol Launcher 可以生成用于打开 Spotify 内容的官方 Spotify 链接。

使用

有两种方式可以使用这个库:

  • 按需从子路径导入,支持 Tree Shaking,保持打包体积较小。
  • 从根包全量导入,适合快速脚本或演示,但会包含所有应用模块。

生产构建建议选择按需导入;全量导入适合快速脚本或演示。

选择安装方式

按需加载
推荐使用。生产环境优化。
全量导入
使用便捷。适合快速脚本。

Spotify 官方 Content Linking 文档覆盖 Spotify URI(spotify:...)、https://spotify.link/content_linking 链接,以及来自 external_urls.spotify 的 fallback web link。这些 helper 只对应这些官方写法,不包含未公开文档说明的播放或搜索命令。

Open URI

打开官方 Spotify URI。Spotify 文档说明这些 URI 是 Spotify API 返回的值,例如 spotify:album:4oktVvRuO1In9B7Hz0xm0a

On-Demand
ts
import { openUri } from 'protocol-launcher/spotify'

const url = openUri({
  uri: 'spotify:album:4oktVvRuO1In9B7Hz0xm0a',
})

使用官方的 ~campaign$canonical_url 参数生成 Spotify iOS content linking URL。

On-Demand
ts
import { openIosContentLink } from 'protocol-launcher/spotify'

const url = openIosContentLink({
  campaign: 'com.app',
  canonicalUrl: 'https://open.spotify.com/album/0sNOF9WDwhWunNAHPD3Baj',
})

使用官方的 ~campaign$deeplink_path$fallback_url 参数生成 Spotify Android content linking URL。

On-Demand
ts
import { openAndroidContentLink } from 'protocol-launcher/spotify'

const url = openAndroidContentLink({
  campaign: 'com.app',
  deeplinkPath: 'https://open.spotify.com/album/0sNOF9WDwhWunNAHPD3Baj',
  fallbackUrl: 'https://open.spotify.com/album/0sNOF9WDwhWunNAHPD3Baj',
})

打开来自 external_urls.spotify 的 Spotify fallback web link。提供 utmCampaign 时,helper 会序列化 Spotify 官方的 utm_campaign 归因参数,并保留已有 query 参数。

On-Demand
ts
import { openWebLink } from 'protocol-launcher/spotify'

const url = openWebLink({
  url: 'https://open.spotify.com/track/55fmthmn3rgnk9Wyx7G5dU',
  utmCampaign: 'com.app',
})

官方文档