You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何从外部应用通过深度链接跳转至Spotify播客的特定时间点?

如何从外部应用通过深度链接跳转至Spotify播客的特定时间点?

当然可以实现!我之前做播客类应用的时候专门研究过这个需求,Spotify提供了两种靠谱的方案,不管是直接跳转还是结合API生成链接都能搞定,给你详细拆解:

一、最直接的方案:使用Spotify深度链接(URL Scheme/HTTPS)

这是实现快速跳转的最优解,不需要复杂的API授权,直接构造特定格式的链接就能唤起Spotify客户端并跳转到指定时间点。

核心格式说明

有两种链接格式可选,适配不同场景:

  • 客户端专属URL Scheme(适合原生APP直接唤起):
    spotify:episode:{EPISODE_ID}?context=spotify:show:{SHOW_ID}&offset=pt{MINUTES}m{SECONDS}s
    
  • 跨平台HTTPS链接(适合网页、原生APP,未装客户端时跳网页版):
    https://open.spotify.com/episode/{EPISODE_ID}?context=spotify:show:{SHOW_ID}&offset=pt{MINUTES}m{SECONDS}s
    

参数详解

  • {EPISODE_ID}:目标播客单集的唯一ID,你可以直接从Spotify客户端复制单集链接(比如https://open.spotify.com/episode/123abc里的123abc就是ID)
  • {SHOW_ID}:可选参数,加上后跳转后会保留该播客节目的上下文(用户能看到整个节目列表),体验更完整;如果不需要可以省略这部分
  • offset=pt{X}m{Y}s:关键的时间戳参数!pt是固定前缀,{X}是分钟数,{Y}是秒数,比如你要跳转到23:45,就写成pt23m45s

示例用法

假设目标单集ID是5XtFZ9x9SxZ7V7aQ8L9K0J,节目ID是1A2B3C4D5E6F7G8H9I0J,要跳转到23:45,构造的链接就是:

spotify:episode:5XtFZ9x9SxZ7V7aQ8L9K0J?context=spotify:show:1A2B3C4D5E6F7G8H9I0J&offset=pt23m45s

在你的APP里调用系统的URL打开API(比如Android的Intent,iOS的UIApplication.shared.open(_:options:completionHandler:))就能直接唤起Spotify并跳转到对应时间点。

二、进阶方案:结合Spotify Web API动态生成链接

如果你的应用需要先验证单集有效性、获取节目信息,再生成跳转链接,可以用Spotify Web API辅助:

  • 调用GET /episodes/{id}接口,传入单集ID,获取单集的官方信息(确认存在、时长等)
  • 用返回的id字段构造上面的深度链接,确保参数的正确性
  • 这种方案适合需要做前置校验的场景,避免用户跳转到无效的单集链接

踩过的坑提醒

  • 时间戳格式要严格:别漏了pt前缀,分钟和秒的单位m/s不能写错,比如pt23m45s是正确的,23:45或者23m45s都会失效
  • 平台兼容性:Android和iOS的Spotify客户端对两种链接格式都支持良好,网页版HTTPS链接也能正常解析时间戳
  • 未装客户端的情况:HTTPS链接会自动跳转到Spotify网页版,同样支持时间戳跳转;URL Scheme则会提示用户安装客户端

我当时做的播客推荐工具就是用第一种深度链接方案,用户点击推荐卡片上的按钮,直接跳转到Spotify里对应干货片段的时间点,测试下来几乎没有兼容性问题,用户体验很顺畅。

内容来源于stack exchange

火山引擎 最新活动