深度链接是一种从 Web 浏览器、邮件、SNS 等直接跳转到移动应用特定页面的技术。普通链接打开应用的首页,而深度链接可以指定商品详情页、特定文章、用户资料等应用内的任意页面。活用深度链接的活动与普通链接相比,转化率有时会更高。产生这一差异的原因是,用户从点击链接到到达内容的步骤数减少。普通链接需要"在浏览器打开 → 启动应用 → 首页 → 寻找目标页面"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 与应用关联。
深入探讨 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",外观更简洁,有望提升点击率。通过深度链接流入的用户,应用内停留时间会变长,有时会进而完成购买。这一差异的背景可能在于,深度链接将用户的"意图"与"到达目标"直接连接,减少了中途流失。
延迟深度链接 (Deferred Deep Link) 是应对应用未安装用户的高级技术。用户点击链接时应用未安装的情况下,先引导至 App Store 或 Google Play,应用安装完成后自动打开最初的目标页面。Branch、AppsFlyer、Adjust 等归因工具提供此功能。技术上,在点击时将设备信息 (IP 地址、User-Agent、屏幕分辨率等) 记录到服务器,应用首次启动时用相同设备信息进行匹配,将安装前的点击与安装后的启动关联。
说明技术实现的概要。根据 Apple 的文档 (截至 2026 年 10 月),设置 Universal Links 需要在 Web 服务器的 .well-known 目录放置 apple-app-site-association (AASA) 文件,以 JSON 格式记述应用的 Bundle ID 和对应的 URL 路径。AASA 文件示例:{"applinks":{"apps":[],"details":[{"appID":"TEAMID.com.example.app","paths":["/myapp/items/*","/myapp/posts/*"]}]}}。App Links 的情况下,在 .well-known 目录放置 assetlinks.json 文件,记述应用的包名和 SHA-256 指纹。两者都必须使用 HTTPS,AASA 文件需要在不经过重定向的情况下提供。
通过短链接服务的深度链接需要注意重定向行为。这是实现中容易出错的地方。Universal Links 和 App Links 经过 HTTP 重定向 (301/302) 时,可能不会触发应用跳转。因为 OS 在重定向源而非重定向目标的域名搜索 AASA/assetlinks.json。回避此问题有两种方法。第一是在短链接服务端进行深度链接对应设置。部分服务提供 AASA 文件的代理功能。第二是服务器端不返回 302 重定向而返回 HTML 页面,用 JavaScript 的 window.location 进行跳转。后者的情况下,OS 可以正确引用链接目标域名的 AASA 文件。不过,JavaScript 重定向会产生页面加载,与服务器端重定向相比跳转会变慢,存在权衡。
缺点方面,深度链接的实现和运营存在几个课题。第一是需要对应 iOS 和 Android 不同的技术规格,开发成本增加。第二是 OS 版本升级可能伴随规格变更,需要持续维护。iOS 14 以后 AASA 文件的分发改为通过 Apple CDN,更新到达设备可能需要一段时间。第三是用户卸载应用或应用版本过旧时,需要适当设计回退处理。第四是随着隐私法规的加强 (iOS 的 ATT 框架等),延迟深度链接的归因精度呈下降趋势。根据 Apple 的文档 (截至 2026 年 10 月),应用未通过 ATT 获得用户许可就不能进行追踪,用户级别的追踪变得困难。第五是测试环境的构建复杂。深度链接的动作确认离不开真机测试,模拟器难以再现 Universal Links 的行为。
深度链接是有助于提升移动应用用户体验、改善营销活动转化率的技术。与短链接结合,在确保链接管理性和追踪性的同时,应用跳转也可能更顺畅。