Deep Link是一种链接,它不指向网页,而是指向移动应用的特定屏幕。根据Branch.io 移动深度链接报告 2025,配置了深度链接的应用在安装转化率上高出42%,在用户留存率上高出28%。让我们来了解深度链接在 iOS 和 Android 上的工作方式、存在哪些类型以及有哪些可用工具。
要点
Deep Link是移动应用的 URL,它不仅包含要打开哪个应用的信息,还包含要显示哪个屏幕的信息。例如,链接 myapp://profile/42 会打开 myapp 应用并立即导航到 ID 为 42 的用户资料页面。如果没有深度链接,用户只会到达应用的主屏幕。
深度链接对于营销和用户体验至关重要。它们用于电子邮件活动、推送通知、广告活动和二维码。根据 AppsFlyer(2025)的数据,使用深度链接的活动比指向主屏幕的普通链接的点击率(CTR)高出35%。
在 IT Sectr,我们自 2019 年以来在所有项目中都实施了深度链接。我们的经验表明,在移动应用中正确配置深度链接可以通过重定向后立即提供相关内容,将用户参与度提高 25–30%。
在 iOS 上,实现深度链接有两种主要方式:URL Scheme(自定义协议)和 Universal Link(标准 https 链接)。两种方法都允许为移动应用配置深度链接,并且各有优缺点。
URL Scheme 是一种自定义协议,如 myapp://path/to/screen。它自 iOS 3.0 起可用,并且不需要服务器配置。缺点:如果应用未安装,Safari 无法打开此类链接,用户会看到错误。此外,URL Scheme 可能被其他应用拦截,因为该协议不是唯一的。
Universal Link(iOS 9+)是一种普通的 https 链接,既可以作为网页也可以作为深度链接使用。如果应用已安装,iOS 会拦截该链接并打开应用。如果没有,则会打开网页。Universal Links 更安全(域已验证)且不显示警告。
设置 Universal Links 需要两个步骤:将 apple-app-site-association 文件放置在服务器上,并在 Xcode 中添加 entitlement。AASA 文件包含 JSON 格式的受支持路径和应用 ID 信息。iOS 在安装应用时下载此文件,并在跟踪链接时进行验证。
重要:AASA 文件必须通过 HTTPS 访问,且无重定向。在 IT Sectr,我们建议所有新项目配置 Universal Links 而不是 URL Scheme — 它们更安全、更可靠,并提供更好的用户体验。
App Links(Android 6.0+)是 Android 上 Universal Links 的对应物,用于移动应用。应用指定它可以处理哪些 https URL,并通过服务器上的数字文件进行验证。Android 在无需用户干预的情况下检查域-应用关联。
要实现 App Links,您需要:在 AndroidManifest.xml 中添加带有 autoVerify="true" 的 Intent Filter,将 assetlinks.json 文件放置在服务器上,并对应用进行签名。之后,Android 会自动将来自指定域的所有链接定向到应用(如果已安装)。
Intent Filter 是 AndroidManifest.xml 中的一个声明,它告诉系统 Activity 可以处理哪些类型的意图。对于深度链接,Intent Filter 包含 data 元素:方案(http/https)、主机(域)和路径。
<activity android:name=".MainActivity">
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https"
android:host="example.com"
android:pathPrefix="/product/" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myapp"
android:host="product" />
</intent-filter>
</activity>
第一个 Intent Filter 处理 App Links(通过 assetlinks.json 验证的 https 链接)。第二个处理 URL Scheme(myapp://)。重要:autoVerify="true" 告诉 Android 在安装应用时验证关联。如果验证失败,系统将显示应用选择对话框。
| 参数 | iOS | Android |
|---|---|---|
| 深度链接类型 | Universal Link(iOS 9+)、URL Scheme | App Links(Android 6+)、Intent Filter |
| 验证文件 | apple-app-site-association(JSON) | assetlinks.json(JSON) |
| 需要 HTTPS | 是 | 是 |
| 无应用时 | 打开网页 | 打开网页 |
| 可被其他应用拦截 | 否(域是唯一的) | 否(域已验证) |
| URL Scheme 冲突 | 是(任何应用都可以注册相同的 scheme) | 是 |
表 1. iOS 和 Android 深度链接方法的比较。Universal Links 和 App Links 是现代标准。URL Scheme 和没有 autoVerify 的 Intent Filters 是旧版但仍在使用的方。
Firebase Dynamic Links(Google 服务)和 Branch.io 是管理深度链接的平台,它们解决了主要问题:当应用未安装时该怎么办?它们创建智能链接,重定向到 App Store / Google Play 进行安装,然后在安装后重定向到所需屏幕。
Firebase Dynamic Links 是免费服务(截至 2025 年)。它允许创建诸如 https://yourdomain.page.link/xxx 之类的链接,这些链接在两个平台上都作为深度链接工作。Firebase Dynamic Links 支持延迟深度链接和归因。
Branch.io 是一个商业平台,具有更广泛的功能:社交媒体链接、QR 码、分析和归因。Branch.io 被大型应用(Pinterest、Reddit)使用,并与主要 MMP(AppsFlyer、Adjust)集成。
Deferred Deep Link 是移动应用的深度链接,在安装后激活。用户在安装应用之前点击链接,安装应用,并在首次启动后自动到达目标屏幕。这是广告活动的关键机制:用户点击了产品广告 → 安装了应用 → 立即看到了该产品。
归因是确定安装来源。哪个广告活动带来了用户?哪个渠道?归因平台(AppsFlyer、Adjust、Branch)识别深度链接上的每次点击,并将其与安装关联。根据 AppsFlyer(2025)的数据,延迟深度链接相比普通安装可将购买转化率提高 30%。
在 IT Sectr,我们为电子商务项目配置延迟深度链接。例如,在移动购物应用中:用户看到特定产品的广告,点击链接,下载应用,并立即进入该产品的页面。此场景中的购买转化率比标准安装高 2 倍。
常见问题
Universal Link是 iOS 的一种 Deep Link,使用标准 https 协议。Deep Link 是任何指向应用的链接的通用术语。Universal Link 是一种特殊情况,比普通的 URL Scheme 更安全、更可靠。
这是一个记住用户意图(打开哪个屏幕)直到应用安装的链接。安装后,应用接收链接参数并打开所需的屏幕。如果没有这个,用户安装后会到达主屏幕。
在 iOS 上,使用命令 xcrun simctl openurl booted "https://your.link"。在 Android 上,使用 adb shell am start -W -a android.intent.action.VIEW -d "https://your.link"。您也可以使用 Branch.io 等服务进行测试。
不需要,如果应用已安装 — Universal Links 和 App Links 就足够了。Firebase Dynamic Links 或 Branch.io 仅适用于“安装前链接”场景(延迟深度链接)。对于大多数应用,基本的深度链接足够。
总结
我们将开发一款交钥匙移动应用程序
IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。