我已按照here中所述的步骤,将我的android应用程序升级为使用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生成的崩溃:
但是,您可以看到它仍然使用旧的Dashboard,当我转到Crashlytics时,即使按照文档中描述的所有步骤进行操作,我也始终拥有此页面:
然后:
什么也没发生。 要使Firebase崩溃报告仪表板被Crashlytics仪表板取代,还需要执行其他一些步骤吗?
答案 0 :(得分:2)
按时间顺序,我遇到了同样的问题:
然后我阅读了文档:
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密钥,然后运行该应用程序。可以。
答案 1 :(得分:0)
您必须从firebase-crash
中删除对build.gradle
的依赖;然后报告:
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