为什么我在 Firebase 崩溃报告中看不到日志

Why I don't see Logs in Firebase Crash Reporting

我正在使用 Firebase Crash Reporting

我看到了 here 个名为 Logs 的功能。

但是这个怎么用呢?

我的项目中有 Google Analytics,我正在尝试以完全相同的方法使用 FirebaseCrash.log() 记录崩溃。

public void sendGoogleAnalyticsEvent(String category, String label, String action) {
    Map<String, String> build = new HitBuilders.EventBuilder()
            .setCategory(category)
            .setLabel(label)
            .setAction(action)
            .build();
    tracker.send(build);
    FirebaseCrash.log("Category: " + category + " label: " + label + " action: " + action);
}

但我在崩溃中没有看到任何 Logs。这个人谈论自动记录的事件,我也没有看到。 怎么了 ?

更新: 如果我从 Firebase 菜单 select 'Analytics' ,所有内容都会显示并正常工作

确保您使用的是最新版本的 Firebase 崩溃报告 SDK,当前 10.0.1

Firebase 崩溃报告中显示的日志是从 Firebase Analytics 导入的,因此您必须改用 Firebase Analytics。 source

compile 'com.google.firebase:firebase-core:10.0.1'

例如:

Bundle bundle = new Bundle();
bundle.putString("name", "button");
FirebaseAnalytics.getInstance(this).logEvent("button_click", bundle);

throw new RuntimeException("This is a crash");

结果如下面的截图所示

来自文档:

"要报告捕获的异常,请使用 report(Throwable)。

要将日志消息附加到崩溃报告,请在执行过程中使用 log(String) 或 logcat(int, String, String) ,这将最好地帮助您了解崩溃之前发生的事情。”

// THIS IS ADDITIONAL INFORMATION SHOWN IN LOGS SECTION OF EACH ISSUE
FirebaseCrash.log("User selects Settings");
...

FirebaseCrash.log("User selects Enable BT");
...

在您捕获的异常处理程序中:

// THIS SHOWS UP IN ISSUES IN CRASH REPORTING
Throwable t=new Throwable("BluetoothAdapter is null in init_BT()").fillInStackTrace();
FirebaseCrash.report(t);

此外,之前使用 Firebase Analytics logEvent() 在用户上记录的事件也将显示在 "Logs" 中,以解决 Wilik 的回答中显示的问题。

崩溃的进一步分析(来自下面的 Captech link): "When a Crash Report is generated it is created with the "app_exception“事件。此事件可用作在 Analytics 仪表板中创建受众时的条件...”[我自己还没有尝试过]

https://developers.google.com/android/reference/com/google/firebase/crash/FirebaseCrash https://www.captechconsulting.com/blogs/an-introduction-to-firebase-analytics-and-crash-reporting