将 Firebase Crash 报告更新至 Firebase Crashlytics:仍然使用旧版仪表板。

4

我将我的安卓应用程序升级,使用Firebase Crashlytics代替Firebase Crash报告,按照这里描述的步骤进行。

并且我在应用程序中添加了这个崩溃测试:

Button crashButton = new Button(this);
crashButton.setText("Crash!");
crashButton.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        Crashlytics.getInstance().crash(); // Force a crash
    }
});
addContentView(crashButton,
               new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
               ViewGroup.LayoutParams.WRAP_CONTENT));

我可以在Firebase仪表板上实际查看由Crashlytics生成的崩溃:

enter image description here

但是正如你所看到的,这仍然使用旧的仪表板,当我转到Crashlytics时,即使按照文档中描述的所有步骤操作,我始终拥有这个页面: 在此输入图片描述 然后:

enter image description here

什么都没有发生。 是否还需要执行更多步骤才能使 Firebase 崩溃报告仪表板被 Crashlytics 仪表板取代?


嘿,我是来自Crashlytics的Paul。看起来崩溃信息已经发送到了Crash Reporting仪表板。你能确认它们是否也发送到了Crashlytics仪表板吗?谢谢! - buser
嗨!我该怎么检查呢?我无法访问Crashlytics仪表板... 我只使用Crashlytics类(Crashlytics.log(),Crashlytics.getInstance().crash()等)。 - Margaux Masson
1
每次我看到屏幕上的文档,都会出现以下步骤:第一步:这个应用程序是否是新的Crashlytics?第二步:安装SDK,第三步:构建和运行您的应用程序。但我却卡在了这个页面上,从未见过Crashlytics仪表板。 - Margaux Masson
2
@buser 我们的应用程序也遇到了同样的问题。我们按照这里描述的步骤,仍然无法查看 Crashlytics 仪表板。是否有解决方法? - SwampThingTom
1
你是否曾经安装过Fabric.io/Crashlytics?我在我的plist文件中有一个密钥引用,我有一个iOS应用程序,它一直出现问题。当我删除了这些密钥后,一切都开始正常工作了。 - Yogurt
显示剩余3条评论
2个回答

3

我有同样的问题,与时间顺序有关:

  • 首先,我的应用程序使用来自fabric的crashlytics
  • 其次,我替换了crashlytics为firebase crash report,但没有完全删除
  • 第三,我想从firebase崩溃报告升级到firebase crashlytics,仍然在旧的仪表板上。

然后我阅读了文档:

If you're moving to Firebase Crashlytics from Fabric Crashlytics, there are two things to be aware of:

Fabric Beta doesn't currently have a Firebase equivalent. If you'd like to use Beta in your project, keep using Fabric Crashlytics.
If you're upgrading an existing app from Fabric Crashlytics, remove the Fabric API key from your AndroidManifest.xml by deleting the key's meta-data tag, which should include io.fabric.ApiKey and your old Fabric API key.

所以我从我的AndroidManifest.xml中删除了Fabric API密钥,然后运行应用程序。它可以工作。


非常感谢!从清单文件中删除“ApiKey”解决了我的问题 :) - mapo
这对我有效。 同时,请确保从代码、清单和Gradle文件中删除所有其他与Fabric / Crashlytics相关的引用。 然后从头开始按照以下教程操作: https://firebase.google.com/docs/crashlytics/get-started?authuser=0 - Daniel Benedykt
谢谢。从项目中删除 Fabric API 密钥对我也起了作用。 - Android Geek

1
您需要从build.gradle中删除firebase-crash的依赖项;然后它会报告:

D/FirebaseApp: com.google.firebase.crash.FirebaseCrash未链接。 跳过初始化。

I/FirebaseInitProvider: FirebaseApp初始化成功

然后它只应向Crashlytics报告。 还需要在仪表板中链接项目。
您还可以使用以下内容在Mainfest.xml中启用/禁用崩溃报告:
<!-- <meta-data android:name="io.fabric.ApiKey" android:value=""/> -->
<meta-data android:name="firebase_crash_collection_enabled" android:value="false"/>
<meta-data android:name="firebase_crashlytics_collection_enabled" android:value="true"/>

移除旧的 Firebase Crash Reporting 库和旧的 Fabric Crashlytics API 密钥将连接应用程序到 Firebase Crashlytics。iOS 客户端应该表现类似...但是,手动迁移时,以前的日志可能不会被保留 - 如果需要它们,最好等待报告被迁移。https://medium.com/@bonnell/fabric-and-firebaser-here-16ffb98b5afe


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接