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

Firebase Crashlytics无法接收Unity编辑器及设备端测试崩溃问题求助

环境配置
  • Unity editor version: 2020.3.20f1
  • Firebase Unity SDK version: firebase_unity_sdk_8.6.2
  • 额外接入SDK:Admob SDK
  • 开发环境:Windows端Unity编辑器
  • 目标平台:Android
  • 脚本运行时:IL2CPP
  • API兼容级别:.NET 4.x
问题描述

Crashlytics一直处于等待上报状态,但Firebase Analytics可正常接收数据。
状态截图
已按照官方文档要求在项目中安装了Crashlytics SDK并完成相关配置,仅跳过了第4步的符号文件上传环节。
编写的Firebase初始化脚本如下:

public static FirebaseManager Instance;
private FirebaseApp app;
private void Awake()
{
    Instance = this;
}
private void Start()
{
    InitFB();
}
private void InitFB()
{
    // Initialize Firebase
    FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task =>
    {
        var dependencyStatus = task.Result;
        if (dependencyStatus == DependencyStatus.Available)
        {
            app = FirebaseApp.DefaultInstance;
            FirebaseApp.LogLevel = LogLevel.Debug;
            Debug.Log(dependencyStatus);
        }
        else
        {
            Debug.LogError(System.String.Format(
              "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
        }
    });
}

测试脚本如下:

int updatesBeforeException;
void Start()
{
    updatesBeforeException = 0;
}
private void Update()
{
    throwExceptionEvery60Updates();
}
void throwExceptionEvery60Updates()
{
    if (updatesBeforeException > 0)
    {
        updatesBeforeException--;
    }
    else
    {
        updatesBeforeException = 60;
        throw new System.Exception("test exception please ignore");
    }
}

在编辑器中运行应用时,Firebase初始化返回可用状态,触发测试崩溃也正常抛出,但Crashlytics后台始终收不到崩溃上报数据。
初始化成功截图
崩溃抛出截图

排查方案
  1. Unity编辑器下触发的崩溃/异常不会被Crashlytics上报,Crashlytics仅会捕获真机/模拟器运行打包后的应用产生的异常,你需要打包成Android APK安装到设备上触发测试异常,才能收到上报数据。
  2. 检查Android打包配置中是否开启了Development Build,如果关闭了Development Build,默认不会上报非致命异常,需要手动添加配置:在初始化Firebase之后添加Crashlytics.ReportUncaughtExceptionsAsFatal = true;,同时确保Crashlytics.IsCrashlyticsCollectionEnabled设置为true。
  3. 不要跳过符号文件上传环节,即使是测试阶段也需要完成符号文件配置,否则Crashlytics后台无法识别收到的崩溃数据,会导致数据不展示。
  4. 触发测试异常后需要完全退出应用再重新打开,Crashlytics默认会在应用下一次冷启动时才会执行上报操作,异常触发后直接留在崩溃页面不会触发上报逻辑。
  5. 检查AndroidManifest.xml中是否正确配置了Internet权限,Crashlytics上报需要网络权限支持。
  6. 如果接入了Admob SDK,检查是否存在SDK冲突,可以尝试临时移除Admob SDK后再测试上报逻辑,确认是否是多SDK冲突导致上报失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 20:15:07