如何在iOS应用中实现用于追踪推荐的Deferred Deep Linking?
iOS 自行实现延迟深度链接(Deferred Deep Linking)追踪推荐方案
一、苹果官方支持该功能,合规实现可行
苹果允许开发者自行实现延迟深度链接,只要遵循隐私政策(如不非法收集用户隐私数据、明确告知数据用途)即可,无需依赖第三方商业服务。
二、核心实现思路(无第三方依赖)
步骤1:配置通用链接(Universal Links)
- 在苹果开发者后台开启
Associated Domains能力,添加applinks:你的业务域名(如applinks:yourdomain.com) - 在你的服务器根目录或
.well-known目录放置apple-app-site-association文件,配置规则将带推荐码的链接(如https://yourdomain.com/referral?code=XXX)关联到你的App。示例配置片段:
{ "applinks": { "apps": [], "details": [ { "appID": "TeamID.BundleID", "paths": ["/referral*"] } ] } }
步骤2:后端处理链接请求与会话绑定
当用户点击带推荐码的链接时,请求先到达你的后端:
- 生成唯一
session_id,将session_id与referral_code绑定存储到数据库 - 返回一个跳转页面,页面逻辑:
- 将
session_id存入浏览器localStorage,或通过webcredentials关联域名权限设置跨端可访问的Cookie - 自动跳转到App Store的App下载链接(如
itms-apps://itunes.apple.com/app/[你的AppID])
- 将
步骤3:App首次启动时获取推荐码
用户安装并首次启动App后:
- 使用
ASWebAuthenticationSession打开你的业务域名下的一个空白页面(如https://yourdomain.com/get-referral) - 该空白页面读取之前存储的
session_id,通过通用链接或自定义Scheme将session_id回调给App - App调用后端接口,传入
session_id获取对应的referral_code,完成推荐追踪
三、注意事项
- 隐私合规:iOS 14+需遵循ATT框架,若涉及用户标识需明确告知;避免依赖IDFA(需用户授权),优先用会话绑定的方式
- 通用链接配置需确保服务器文件可被苹果爬虫正常访问(无权限限制、HTTPS协议)
- 测试时需用真实设备,模拟器可能无法完全复现跳转与数据传递逻辑
四、参考资料
- 苹果官方《Universal Links 开发指南》
- 苹果官方
ASWebAuthenticationSessionAPI文档 - 苹果官方《关联域名配置说明》
内容的提问来源于stack exchange,提问作者Flarosa
相关产品推荐
相关产品推荐

