You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 13设备Firebase动态链接无法自动配置深层链接的原因

问题描述

我正在开发一款基于Flutter的应用,采用Firebase动态链接作为临时方案(已知该服务明年将被移除)。已按要求完成Manifest配置及Firebase控制台设置,配置的intent-filter如下:

<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:host="----------------"
        android:scheme="https"/>
</intent-filter>

Firebase控制台已完成域名关联等基础设置,该功能在Android 11设备上运行正常:已安装应用时直接跳转至应用,未安装则跳转至回退链接。但在Android 13设备上,即使已安装应用,仍直接跳转至回退链接,需手动进入「设置>应用>应用名称>默认打开方式」添加允许链接后才能正常使用。

技术解决方案

1. 确保App Links验证通过(核心修复)

Android 13对App Links的自动验证逻辑更严格,android:autoVerify="true"依赖域名下的assetlinks.json文件完成验证:

  • 检查你的域名.well-known目录下是否存在assetlinks.json,文件需包含应用包名和SHA-256签名指纹,格式示例:
[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.your.package.name",
    "sha256_cert_fingerprints": ["你的应用SHA-256指纹"]
  }
}]
  • 用浏览器访问https://你的域名/.well-known/assetlinks.json,确认内容可正常访问且无HTTPS证书错误
  • 执行adb shell pm get-app-links com.your.package.name命令,查看输出中对应域名的verified状态是否为true

2. 适配Android 13的权限与Intent Filter配置

  • 确认intent-filter的data标签配置完整,若动态链接有特定路径规则,需补充android:pathPrefix或android:path属性
  • 避免多个intent-filter出现规则冲突,确保Firebase动态链接的intent-filter独立无重叠

3. 核对Firebase控制台配置

  • 确认动态链接域名已正确关联到应用,且控制台中填写的SHA-256指纹与本地应用的debug/release签名完全一致
  • 使用Firebase动态链接测试工具生成测试链接,验证跳转行为是否符合预期

4. 手动触发验证(调试场景)

若自动验证未生效,可通过ADB命令强制重新验证:

adb shell pm verify-app-links --re-verify com.your.package.name

执行后重启应用,再次测试动态链接跳转。

5. 临时兼容方案(验证受阻时)

如果上述方法暂时无法解决,可添加自定义Scheme的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:host="----------------"
        android:scheme="your-app-scheme"/> <!-- 例如:myapp:// -->
</intent-filter>

同时在Firebase控制台的动态链接设置中,将该自定义Scheme添加到应用关联链接列表。

内容的提问来源于stack exchange,提问作者Abin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 22:07:52