延迟深度链接
延迟深度链接(Deferred Deep Link)是一种在用户点击链接时应用尚未安装的情况下,先引导到 App Store / Google Play 安装应用,安装完成后自动跳转到原始链接目标(应用内特定页面)的技术。普通深度链接仅在应用已安装时有效,而延迟深度链接覆盖了未安装的情况。把目标页面的跳转推迟到安装之后再执行,正是「延迟」一词的由来。
与二维码组合的典型场景是商品包装上的二维码。用户扫描后,如果已安装品牌应用则直接打开商品详情页;如果未安装则引导安装,安装后自动打开同一商品页面。用户正在查看的商品上下文跨越安装过程得以保持,不会因为安装中断而丢失。如果没有这项技术,用户安装后只会看到应用首页,需要自己重新找到刚才扫码的那件商品。
实现延迟深度链接通常使用 Branch、AppsFlyer、Adjust 等第三方服务。把二维码中存放的网址指向这些服务,延迟深度链接就会被自动处理。曾被广泛采用的 Firebase Dynamic Links 已于 2025 年 8 月 25 日停止服务,已发行的链接也不再生效,因此不能作为新项目的选择。若只需处理已安装应用的页面跳转,可以改用 Android 的 App Links 与 iOS 的 Universal Links 这类系统原生机制自行搭建,但跨越安装过程恢复上下文仍需第三方服务或自建的安装后匹配。
安装后能否恢复上下文并不确定。在 iOS 上,常见做法是网页端把一个令牌写入剪贴板,应用首次启动时再读取它,不过 iOS 16 之后读取剪贴板会弹出是否允许粘贴的确认对话框,用户拒绝时就无法恢复。根据 IP 地址和设备属性组合推测的概率性匹配也会一并使用,但在引入 App Tracking Transparency 之后的 iOS 上准确率已经下降,Apple 也不建议采用未经用户同意的匹配方式。因此在设计以二维码为起点的路径时,要同时准备好恢复失败时的退路,让用户平稳落在普通首页或新手引导上。