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

Firebase Web应用Flutter App Link无法唤起App问题排查

问题排查与解决方案

更换新URL后无法唤起App但旧URL正常,核心问题集中在新域名的Android App Links验证未通过,以下是具体排查点和修复步骤:

1. 修正flutter_deeplinking_enabled配置

你当前将flutter_deeplinking_enabled设为false,但通过Android原生intent-filter处理deeplink时,需将该值改为true,否则Flutter无法接收原生路由的deeplink请求。修改后重新打包:

<meta-data android:name="flutter_deeplinking_enabled" android:value="true" />

新域名的https://wishlist-88d58.web.app/.well-known/assetlinks.json必须满足:

  • 可通过HTTPS直接访问,返回200状态码,无跳转
  • 文件语法无错误(如引号转义、逗号遗漏)
  • 包名和SHA256指纹与当前使用的App完全匹配(注意区分调试版/发布版指纹:调试版来自Android Studio默认的debug keystore,发布版来自你的签名密钥)

3. 检查App Links验证状态

连接设备后执行以下adb命令,查看新域名的验证结果:

adb shell dumpsys package domain-preferred-apps | grep wishlist-88d58.web.app

若输出包含status: 0,说明域名与App的关联验证失败,需重新检查assetlinks.json的内容和可访问性。

4. 清除设备缓存与重置域名偏好

设备可能缓存了旧的验证信息,执行以下操作:

  • 卸载并重新安装App
  • 清除浏览器缓存(尤其是Chrome,它会缓存App Links验证结果)
  • 执行adb命令重置域名偏好设置:
adb shell pm clear-domain-preferences

5. 确认Firebase Hosting部署配置

若使用Firebase Hosting托管新域名,需确保:

  • firebase.json中未设置忽略.well-known目录的规则
  • 重新执行firebase deploy,确保assetlinks.json已部署到服务器

6. 规范intent-filter配置

当前intent-filter配置逻辑正确,可优化为合并scheme与host的写法(不影响功能,但更规范):

<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="http" android:host="wishlist-88d58.web.app" />
    <data android:scheme="https" android:host="wishlist-88d58.web.app" />
</intent-filter>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 01:52:39