Appy
← 返回博客

通用链接 完整指南

了解 iOS 和 Android 中通用链接、深度链接与 App Links 的核心知识、实现方法与最佳实践

2025年10月10日•12 分钟阅读•教程

省掉配置:一条链接,打开你的 App 或对应的应用商店

  • 免费套餐,无需信用卡
  • App Store 与 Google Play 兜底
  • Pro 套餐可直接打开 App
免费创建我的链接

通用链接如何工作

实现过程通常包含三个关键部分:

1

Apple App Site Association(AASA)文件

部署在域名上的 JSON 文件(路径为 /.well-known/apple-app-site-association),用于告诉 iOS 哪些应用可以处理该域名下的链接。

2

应用配置

你的应用需要在 entitlements(iOS)或 intent filters(Android)中声明可处理的域名与 URL 规则。

3

URL 处理代码

应用需要实现接收深度链接 URL 的代码,并将用户导航到正确页面或内容。

01 · 你的域名

关联文件

告诉操作系统哪些应用可以处理该域名

/.well-known/apple-app-site-association/.well-known/assetlinks.json

双方必须一致

操作系统将文件与应用相互比对

02 · 你的应用

应用配置

iOS 上是 entitlements,Android 上是 intent filters:声明可处理的域名和路径

applinks:yourdomain.comandroid:autoVerify="true"

03 · 你的应用

URL 处理代码

在应用内接收 URL

正确的页面

上文列出的三个部分:域名为应用担保,应用认领域名,你的代码把 URL 变成具体页面。

iOS Universal Links 实现

步骤 1:创建 AASA 文件

创建名为 apple-app-site-association 的文件(无扩展名),内容结构如下: apple-app-site-association

{
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "TEAMID.com.yourcompany.yourapp",
        "paths": [
          "/products/*",
          "/articles/*",
          "/user/*"
        ]
      }
    ]
  }
}
⚠️

重要提示

该文件必须通过 HTTPS 提供,并使用有效 SSL 证书,同时返回 Content-Type: application/json 响应头。

步骤 2:配置 iOS 应用

在 Xcode 中为应用添加 Associated Domains capability,并加入你的域名:

applinks:yourdomain.com
applinks:www.yourdomain.com

步骤 3:在应用中处理 URL

// AppDelegate.swift
func application(_ application: UIApplication,
                 continue userActivity: NSUserActivity,
                 restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
    
    guard userActivity.activityType == NSUserActivityTypeBrowsingWeb,
          let url = userActivity.webpageURL else {
        return false
    }
    
    // Handle the URL and navigate to appropriate screen
    handleUniversalLink(url)
    return true
}

Android App Links 实现

步骤 1:创建 assetlinks.json

将该文件托管在 https://yourdomain.com/.well-known/assetlinks.json:

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.yourcompany.yourapp",
    "sha256_cert_fingerprints": [
      "XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX"
    ]
  }
}]

步骤 2:更新 AndroidManifest.xml

<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" />
        <data android:host="yourdomain.com" />
        <data android:pathPrefix="/products" />
    </intent-filter>
</activity>

步骤 3:处理 Intent

// MainActivity.kt
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    
    val action = intent.action
    val data = intent.data
    
    if (Intent.ACTION_VIEW == action && data != null) {
        // Handle the deep link
        handleDeepLink(data)
    }
}

最佳实践与常见陷阱

推荐做法

  • ✅ 始终为域名使用 HTTPS
  • ✅ 在真实设备上测试,而不只是模拟器
  • ✅ 为未安装 App 的用户设置网站地址(fallback URL)
  • ✅ 加入完整的分析追踪
  • ✅ 妥善处理各种边界情况
  • ✅ 保持 AASA/assetlinks 文件及时更新

❌避免这样做

  • ❌ 不要为 AASA/assetlinks 文件配置重定向
  • ❌ 不要忘记校验 JSON 语法
  • ❌ 不要把应用导航逻辑写死
  • ❌ 不要假设用户一定已安装应用
  • ❌ 不要跳过不同系统版本的测试

测试与调试

iOS 测试

  • 1. 使用 Apple 的 AASA 验证工具
  • 2. 在备忘录、信息或邮件中测试链接
  • 3. 在 Xcode Console 中查看日志
  • 4. 在设置 → 开发者中验证域名关联状态

Android 测试

  • 1. 使用 adb shell am start -a android.intent.action.VIEW -d "your-url"
  • 2. 在 Chrome、Gmail 和消息应用中测试
  • 3. 使用 adb shell dumpsys package domain-preferred-apps 检查验证状态
  • 4. 查看 logcat 错误日志

分析与归因

想了解通用链接的真实效果,完善的分析非常关键。建议重点追踪以下指标:

  • 不同渠道的点击率
  • App 打开率 vs 网站访问率
  • 各渠道用户获取成本
  • 深度链接内容的转化率
  • 用户通过深度链接后的首次操作耗时
  • 平台表现差异(iOS vs Android)

专业建议

使用 Appy 这类智能链接平台可自动处理通用链接、追踪分析,并把未安装 App 的用户引导到应用商店或网站,节省数周开发时间,并获得企业级基础设施。

免费试用 Appy

结论

通用链接已成为现代移动应用的重要基础能力。它能提供顺滑的用户体验、改善归因,并在多平台环境中稳定工作。虽然实现时需要关注细节,但在用户体验和分析能力上的收益非常值得。

建议从基础配置开始,充分测试后根据真实表现数据持续优化。如果你希望跳过复杂实现流程,可以使用 Appy 这类平台,让这些能力自动运行。

相关 Appy 资源

探索 Appy 的通用链接、深度链接和二维码工具,加速移动应用增长。

继续探索

指南
2026年10月21日
8 分钟阅读

不靠设备指纹,怎样衡量应用安装

即使用户同意了跟踪,Apple 也不允许使用设备指纹;欧盟监管机构则把基于 IP 的跟踪视为对设备的访问。本文梳理在 iPhone 和 Android 上还有哪些方法能带着证据衡量安装,并给出一套从不靠猜的衡量方案。

attribution
fingerprinting
privacy
install attribution
阅读文章
指南
2026年10月9日
12 分钟阅读

应用内浏览器如何处理深度链接:Instagram、TikTok、Facebook、Gmail、Telegram 等

同一条链接,在 Safari 里能打开应用,到了 Instagram 里就失灵。本文梳理每个应用用的是哪种浏览器、Apple、Google 和 Chrome 的规则,以及你能做些什么。

in-app browser
universal links
app links
instagram
阅读文章
产品
2026年10月1日
8 分钟阅读

看清每次安装来自哪条链接:Appy 的 iOS 与 Android SDK

Appy 的链接现在能跟到应用商店之后。新的 SDK 为每条链接、每个二维码、每个营销活动统计安装、应用内事件和收入,还让新用户第一次打开就进入对的页面。

install attribution
deferred deep linking
install referrer
mobile attribution
阅读文章

想看更多内容?浏览 博客全部主题.

跳过复杂配置,直接用 Appy

Appy 可自动处理通用链接、深度链接、二维码和分析能力,无需编码。