Android 12 Deep Linking是否仅支持生产环境?配置疑问咨询
Android 12+ Deep Link 问题答复
域名验证、用户审批两个环节是否必须同时完成
不需要,两类Deep Link的生效逻辑完全不同:
- 配置
android:autoVerify="true"的App Links(点击链接默认直跳应用、无选择弹窗):仅需域名验证(Digital Asset Links校验)通过即可。系统会在应用安装时自动拉取域名下的校验文件,校验通过后直接授予应用对应链接的默认打开权限,无需用户手动审批。如果后续用户主动修改了链接默认打开方式,以用户手动设置为准。 - 未配置
android:autoVerify="true"、或域名验证失败的普通Deep Link:必须用户手动在系统设置中授予链接打开权限,且点击链接时会弹出应用选择弹窗,无法实现默认直跳。
你提供的Manifest配置符合App Links的规范要求,只要对应生产域名的校验文件验证通过,线上即可正常生效。
公网不可访问的Staging环境是否无法做Deep Link测试
可以正常测试。官方提示的核心要求是禁止将公网不可访问的测试/Staging域名配置到正式发布版本的Manifest中,并非限制测试环境使用Deep Link能力。
该约束的核心原因是:系统执行autoVerify自动校验时,只要Manifest中配置的任意一个域名无法公网访问、或不存在合法的校验文件,整个autoVerify流程就会判定失败,连带导致本可以校验通过的生产域名也无法拿到自动跳转授权,直接影响线上功能可用性。
Staging环境测试Deep Link的落地方案:
- 基于Build Variants做配置隔离:正式构建变体的Manifest仅配置公网可访问的生产域名,开发、Staging构建变体通过独立Manifest片段配置对应测试环境的域名,从构建层面避免测试域名被打入正式包。
- Staging域名无法通过公网完成自动校验,测试时不需要走自动验证流程,可通过两种方式手动授权:
- 执行adb命令直接授权:
adb shell applinks set-app-link --user 0 <应用包名> always <待测试的Staging域名> - 手动进入系统「应用信息-默认打开-支持的链接」页面,找到对应Staging域名,手动开启打开权限即可正常触发跳转。
- 执行adb命令直接授权:
内容的提问来源于stack exchange,提问作者Glitch_Znab
相关产品推荐
相关产品推荐

