本文约需 9 分钟阅读。
深度链接是一种从 Web 浏览器、邮件、SNS 等直接跳转到移动应用特定页面的技术。普通链接打开应用的首页,而深度链接可以指定商品详情页、特定文章、用户资料等应用内的任意页面。AppsFlyer 2023 年调查显示,活用深度链接的活动与普通链接相比,转化率平均提升 2.5 倍。产生这一差异的原因是,用户从点击链接到到达内容的步骤数大幅减少。普通链接需要"在浏览器打开 → 启动应用 → 首页 → 寻找目标页面"4 个步骤,而深度链接只需"点击 → 目标页面"1 个步骤即可完成。
深度链接有 3 种主要方式。第一是 URI Scheme (自定义 URL Scheme)。使用"myapp://product/12345"这样应用固有的 scheme 指定跳转目标。这是最古老的方式,实现简单,但应用未安装时会出错。此外,不同应用注册相同 scheme 会发生冲突,可能启动非预期的应用。第二是 iOS 的 Universal Links。Apple 在 iOS 9 引入的方式,将普通 HTTPS URL (例:https://example.com/product/12345) 与应用的特定页面关联。应用已安装则打开应用,未安装则在浏览器显示页面的回退行为是标准配置。第三是 Android 的 App Links。Android 6.0 引入的方式,与 Universal Links 类似将 HTTPS URL 与应用关联。如果您想系统学习移动应用开发和营销策略,推荐参阅在 Amazon 搜索应用营销策略实践书籍。
深入探讨 Universal Links 和 App Links 为何优于 URI Scheme 的技术背景。URI Scheme 不保证应用间的唯一性,恶意应用可以注册相同 scheme 用于钓鱼攻击。Universal Links 和 App Links 具有验证 HTTPS 域名所有权的机制,因此域名所有者以外的人原理上无法劫持链接。这一验证通过 OS 自动获取和验证部署在 Web 服务器上的配置文件 (AASA 或 assetlinks.json) 来实现。iOS 在应用安装时通过 Apple CDN 下载 AASA 文件,缓存域名与应用的关联。Android 在 App Links 验证时直接获取域名的 assetlinks.json,比对包名和 SHA-256 指纹。
短链接与深度链接的组合在营销中是强大的手法。将长深度链接 URL 转换为短链接,可以在 SNS 帖子和邮件中简洁共享。例如,将电商应用商品页面的深度链接"https://example.com/app/product/12345?utm_source=email&utm_campaign=summer-sale"缩短为"brand.co/summer-item",外观更简洁,有望提升点击率。Adjust 2023 年移动应用趋势报告显示,深度链接渠道的用户应用内平均会话时间长 2.7 倍,购买完成率高 1.8 倍。这一数值差异的背景在于,深度链接将用户的"意图"与"到达目标"直接连接,防止中途流失。
延迟深度链接 (Deferred Deep Link) 是应对应用未安装用户的高级技术。用户点击链接时应用未安装的情况下,先引导至 App Store 或 Google Play,应用安装完成后自动打开最初的目标页面。Branch、AppsFlyer、Adjust 等归因工具提供此功能。技术上,在点击时将设备信息 (IP 地址、User-Agent、屏幕分辨率等) 记录到服务器,应用首次启动时用相同设备信息进行匹配,将安装前的点击与安装后的启动关联。
说明技术实现的概要。设置 Universal Links 需要在 Web 服务器的根目录或 .well-known 目录放置 apple-app-site-association (AASA) 文件,以 JSON 格式记述应用的 Bundle ID 和对应的 URL 路径。AASA 文件示例:{"applinks":{"apps":[],"details":[{"appID":"TEAMID.com.example.app","paths":["/product/*","/article/*"]}]}}。App Links 的情况下,在 .well-known 目录放置 assetlinks.json 文件,记述应用的包名和 SHA-256 指纹。两者都必须使用 HTTPS,经过重定向时需要在最终重定向目标的域名上放置配置文件。
通过短链接服务的深度链接需要注意重定向行为。这是实现上最大的陷阱。Universal Links 和 App Links 经过 HTTP 重定向 (301/302) 时,可能不会触发应用跳转。因为 OS 在重定向源而非重定向目标的域名搜索 AASA/assetlinks.json。回避此问题有两种方法。第一是在短链接服务端进行深度链接对应设置。部分服务提供 AASA 文件的代理功能。第二是服务器端不返回 302 重定向而返回 HTML 页面,用 JavaScript 的 window.location 进行跳转。后者的情况下,OS 可以正确引用链接目标域名的 AASA 文件。不过,JavaScript 重定向会产生页面加载,与服务器端重定向相比跳转增加约 200 至 500ms 的延迟,存在权衡。
缺点方面,深度链接的实现和运营存在几个课题。第一是需要对应 iOS 和 Android 不同的技术规格,开发成本增加。第二是 OS 版本升级可能伴随规格变更,需要持续维护。iOS 14 以后 AASA 文件的分发改为通过 Apple CDN,更新反映最长需要 24 小时。第三是用户卸载应用或应用版本过旧时,需要适当设计回退处理。第四是随着隐私法规的加强 (iOS 的 ATT 框架等),延迟深度链接的归因精度呈下降趋势。Apple 公布的数据显示,ATT 引入后选择同意率仅约 25% 至 30%,用户级别的追踪变得困难。第五是测试环境的构建复杂。深度链接的动作确认必须使用真机测试,模拟器无法准确再现 Universal Links 的行为。
深度链接是提升移动应用用户体验、大幅改善营销活动转化率的技术。与短链接结合,可以在确保链接管理性和追踪性的同时,实现无缝的应用跳转。
参考资源:如果您想系统学习移动应用开发和应用营销,推荐在 Amazon 搜索移动 UX 设计实践书籍。