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

Flutter Android应用打开Firebase动态链接时崩溃问题排查求助

Flutter集成Firebase动态链接崩溃排查与修复

一、修正Intent Filter配置

当前intent-filter仅声明了https scheme,Firebase动态链接在Android端需要同时支持自定义scheme以确保App能被正确唤起,补充配置如下:

<intent-filter>
    <action android:name="android.intent.action.VIEW"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>
    <!-- 保留原有https配置 -->
    <data
        android:scheme="https"
        android:host="testdynamiclinking.page.link" />
    <!-- 新增自定义scheme,建议使用应用包名相关标识,例如"com.your.app" -->
    <data
        android:scheme="your-app-custom-scheme"
        android:host="testdynamiclinking.page.link" />
</intent-filter>

二、验证Firebase初始化流程

  • 确保在Flutter应用启动早期(如main()函数)调用Firebase.initializeApp(),必须在动态链接回调逻辑执行前完成初始化。
  • 检查android/app目录下的google-services.json文件,确认包名、SHA-1指纹等信息与Firebase控制台配置完全一致。

三、规范动态链接回调逻辑

避免在回调中直接执行UI操作或未捕获异常的代码,需切换到主线程处理并添加错误捕获:

FirebaseDynamicLinks.instance.onLink.listen((dynamicLinkData) {
  // 确保UI操作在主线程执行
  WidgetsBinding.instance.addPostFrameCallback((_) {
    final Uri deepLink = dynamicLinkData.link;
    // 示例:根据链接路径跳转对应页面
    Navigator.pushNamed(context, deepLink.path);
  });
}).onError((error) {
  // 打印错误日志便于排查
  print('动态链接处理失败: ${error.message}');
});

四、检查依赖与版本适配

  • 确认android/app/build.gradle中正确引入Firebase动态链接依赖,且版本与其他Firebase组件保持一致:
dependencies {
  implementation 'com.google.firebase:firebase-dynamic-links:21.2.0'
}
  • 你的compileSdkVersion 33和minSdkVersion 21符合要求,无需调整版本号,但需确保所有依赖库均适配该版本范围。

五、捕获崩溃日志

若无默认日志输出,可通过以下方式获取崩溃堆栈:

  • 在Android Studio的Logcat中过滤AndroidRuntime标签,查看具体崩溃原因。
  • 添加Flutter全局错误捕获:
void main() {
  FlutterError.onError = (details) {
    FlutterError.presentError(details);
    print('Flutter全局错误: ${details.exception}');
  };
  runApp(MyApp());
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 23:05:25