在万维网的早期时代,导航基本上是直接的:每个文档、图像和资源都拥有一个唯一的统一资源定位器(URL),标准的网页浏览器可以通过超文本传输协议(HTTP)进行访问。然而,智能手机生态系统的崛起以及原生移动应用在苹果iOS和谷歌Android上的主导地位打破了这一通用的网络地址范式。原生移动应用并不像互联超链接网页那样运行;它们以沙箱化的软件二进制文件存在,在专有操作系统的容器中执行已编译的代码。

将网页链接或社交媒体帖子直接连接到原生移动应用程序中的特定屏幕、产品 SKU 或用户资料,需要一种被称为移动深度链接的复杂技术。移动深度链接远非简单的 URL 重定向,它涉及复杂的操作系统握手、加密域验证协议、客户端用户代理启发式方法以及稳健的回退路由机制。

对于移动软件工程师、系统架构师和技术成长领导者来说,掌握移动深度链接协议对于构建无摩擦的用户旅程至关重要。本指南探讨了移动深度链接的架构演变,剖析了自定义 URI 方案、苹果通用链接、安卓应用链接以及智能回退执行。

软件工程师工作站,配有双显示器,显示移动深度链接代码、URI 方案和架构图
移动深度链接架构通过经过验证的加密握手、通用链接和 URI 方案连接网络与原生移动应用。

移动应用路由的发展

从基本的移动网页重定向到现代加密深度链接的历程,跨越了十五年以上的操作系统工程。当移动计算从一种新颖的辅助平台发展为人类的主要计算界面时,操作系统供应商被迫在用户便利性与严格的应用程序安全之间取得平衡。

移动深度链接标准的架构比较:

深度链接标准 底层协议 验证机制 卸载时的备用行为
自定义 URI 方案 scheme://路径(例如 spotify://) 无;任何应用都可以注册任何方案字符串 在浏览器中失败并显示刺耳的错误:"无效的 URL"
苹果通用链接 标准 https:// URL 加密域关联(AASA JSON 文件) 优雅、无缝回退到响应式网页
安卓应用链接 标准 https:// URL 加密数字资产链接(JSON 验证) 优雅、无缝回退到响应式网页
智能重定向桥 智能 https:// 路由 多层操作系统检测与方案握手 动态回退到网页、应用商店或移动个人资料中心

现代移动深度链接结合了标准 HTTPS URL 的可靠性与本地应用程序执行的即时响应性。

自定义 URI 方案的机制、优势与漏洞

用于移动应用调用的最早机制是自定义 URI 方案。操作系统允许开发者在其应用清单文件中注册自定义协议标识符——例如 twitter://、fb:// 或 tg://——当该协议被调用时,操作系统会启动已注册的二进制文件。

虽然自定义 URI 方案提供了一个可行的初始解决方案,但它们存在显著的架构缺陷:

  • 缺乏命名空间所有权验证:操作系统未验证方案名称的所有权。恶意应用程序可能注册bankapp://,拦截本应发送给真实金融应用的敏感身份验证令牌。
  • 灾难性的卸载失败:如果用户在未安装应用的情况下点击自定义 URI 链接,浏览器会显示一个难看的错误对话框:“Safari 无法打开该页面,因为地址无效。”
  • 应用内网页视图抑制:嵌入的社交媒体网页视图经常完全阻止自定义协议方案,以防用户退出其封闭式的内容流。
  • 模糊的多应用冲突:如果两个已安装的应用程序注册了相同的自定义方案,操作系统会显示令人困惑的歧义提示。

有关数百个应用程序中历史和现代 URI 协议语法的详尽目录,请查阅我们的 URL 方案指南。

在几秒钟内创建智能深度链接

不要因为笨拙的应用内浏览器登录界面而失去移动访客。使用 DSLink 生成干净的、可打开应用的深度链接,并提供实时分析。

Open URL Schemes Guide

为了消除自定义 URI 方案的安全风险和糟糕的用户体验,苹果在 iOS 9 中引入了通用链接,谷歌在 Android 6.0 中引入了应用链接。这两种架构都放弃了自定义协议方案,转而采用标准的、经过加密验证的 HTTPS URL。

经过验证的深度链接握手如何操作:

  1. 域名关联文件托管:
    域名所有者在其 HTTPS 根服务器上托管一个公开可访问的、经过加密签名的 JSON 文件:Apple 使用 apple-app-site-association(AASA),Android 使用 assetlinks.json。
  2. 构建时权限声明:
    移动应用程序二进制文件在编译时附带关联域名权限声明,说明其被授权处理哪些域名。
  3. 安装验证握手:
    当用户下载或更新应用程序时,移动操作系统会直接连接到域服务器,下载关联文件,并验证开发者团队 ID 是否与域记录匹配。
  4. 操作系统级路由守护进程:
    一旦验证,移动操作系统会在浏览器启动之前拦截匹配的 HTTPS URL,无缝打开本地应用程序,且无需任何模态提示。

因为该关联在操作系统级别经过加密验证,第三方应用程序永远无法劫持或拦截您的域流量。

重定向握手和回退的复杂性

虽然通用链接和应用链接代表了移动路由的黄金标准,但在现实世界中的部署因社交媒体平台而复杂化。嵌入在 Instagram、TikTok、LinkedIn 和 Facebook 中的应用内浏览器经常在内部拦截网页点击,抑制操作系统的本地通用链接路由守护程序,从而让用户困在信息流内。

智能路由引擎如何处理重定向握手:

  • 用户代理启发式检测:路由引擎会检查 HTTP 请求头,以检测点击是否来自应用内的网页视图或完整的系统浏览器。
  • Webview 转义调用: 如果检测到应用内 Webview,引擎会执行针对性的 JavaScript 协议握手,促使操作系统将控制权交给原生应用。
  • 路径和查询参数的保留:特定的路由参数、产品SKU和UTM归因标签可以在重定向过程中完整传递。
  • 优雅的网页回退执行: 如果用户未安装原生应用,智能链接将跳转到响应式网页或官方应用商店页面。(注意:DSLink 不支持安装后上下文传递)。

要了解基础 URL 缩短器与现代深度链接引擎之间的结构差异,请阅读我们关于 深度链接与 URL 缩短器 的技术比较。

构建具有弹性的跨平台深度链接基础设施

构建和维护可靠的跨平台深度链接基础设施需要持续的技术警惕。移动操作系统每年都会更新安全模型,社交平台会修改应用内浏览器的行为,浏览器供应商则会实施像苹果链接跟踪保护这样的隐私保护措施。

用于稳健移动链路路由的工程最佳实践:

  1. 在 Max 计划上部署自定义品牌子域名:
    使用经过验证的子域名,例如 app.yourbrand.dslink.me,通过我们的 品牌子域名生成器 来保持机构域名信任度和电信送达能力。
  2. 使用自动诊断审核重定向路径:
    定期使用我们的链接检查器检测目标 URL,以确认您的重定向路径保持毫秒级延迟并完全符合 SSL 要求。
  3. 保持标准化的 UTM 归因分类:
    使用我们的 UTM 构建工具 构建所有活动链接,以保证网络分析和移动测量合作伙伴之间的归因连续性。
  4. 测试跨物理设备的路由行为:
    不要仅仅依赖桌面模拟器;请在多家移动网络运营商下的物理 iPhone 和 Android 手机上验证深度链接的执行情况。

通过将经过加密验证的操作系统协议与智能智能路由桥接相结合,软件工程师和增长团队消除移动摩擦,为全球用户提供无缝、即时的应用体验。

常见问题

URI 方案和通用链接的主要区别是什么?

URI 方案(app://)可以直接触发应用,但缺乏安全验证,如果应用被卸载则会出现浏览器错误。通用链接(https://)经过加密验证,并可以无缝回退到网页。

iOS 如何验证通用链接的域名所有权?

iOS 会通过 HTTPS 从根域下载托管的 apple-app-site-association (AASA) JSON 文件,以确认该域名所有者授权该应用处理这些 URL 路径。

DSLink 支持安装后上下文传递吗?

不,DSLink 不支持安装后上下文传递。当应用未安装时,DSLink 会将用户干净利落地引导至响应式网页目标或官方应用商店列表。

为什么社交应用内浏览器会中断通用链接?

许多社交 WebView 会在内部拦截网页点击,并阻止操作系统原生的通用链接路由守护进程,以便让用户留在自己的信息流中。