我正在尝试新的Firebase / Crashlytics设置,似乎遇到了一个奇怪的问题 .
-
我有一个Android代码库,有多种产品口味,每种口味都是一个单独的应用程序 .
-
所有这些应用都在Fabric中注册(过去)
-
所有这些应用都添加到Firebase中
-
两者之间的所有链接似乎都很好(从Fabric端以及Firebase端,它表示它已全部链接起来)
-
我从清单文件中删除了Fabric API密钥,并将相应的插件/依赖项等添加到两个gradle文件中
我尝试按照Firebase说明发送测试崩溃报告 .
-
我对其中一种产品口味非常好,所以我认为一切都很好 . 然而,
-
其余的产品风格不发送崩溃报告,我在日志中收到此错误:
E / Fabric:无法从https://settings.crashlytics.com/spi/v2/platforms/android/apps/package名称/设置中检索设置
4 回答
这比我弄清楚如何正确迁移花了我很多时间 . 实际上你有两种方法可以做到:
这种方式在Firebase Crashlytics developer guide中描述 . 您必须从此处删除应用清单文件中的
com.crashlytics.ApiKey
meta-data
.通过这种方式,您将无法在Firebase或Fabric控制台中显示崩溃 .
这种方式可能没有记录 . Crucial is here to keep com.crashlytics.ApiKey meta-data in your manifest . 然后,您需要将Fabric Crashlytics与Firebase相关联 . 您还可以启用将事件(以前称为Answers)转发到Firebase Analytics . 这两个操作都显示在Fabric控制台中,在侧边菜单中查找Firebase .
所有新的崩溃报告都显示在Fabric控制台和Firebase控制台中 . 此链接还会将所有Fabric崩溃报告历史记录复制到Firebase .
我认为这里不需要
firebase-core
神器,但我添加了它 . 我也在使用Fabric Events,因此在Firebase Analytics中出现了firebase-core
其他应用使用事件 .好吧,我认为我解决了这个问题,但解决方案似乎不应该是它的工作方式(至少我不认为) .
转到Firebase控制台>项目设置>帐户关联>结构>选择应用程序并取消链接
Confim in Fabric> App> Firebase - 它已取消链接
转到Firebase>项目> Crashlytics(选择您想要的应用程序),您现在应该会再次关联应用程序的对话框
选择链接为新的Crashlytics(不存在)并按照说明进行操作
之后一切都应该正常
所以基本上,从Fabric> Firebase屏幕 - 没有可见的链接,从Firebase>帐户链接> Fabric屏幕 - 也没有可见的链接 . 所以没有链接,但您的崩溃将在Firebase中可见 .
转到项目的设置并为您的Android应用程序添加SHA-1密钥 . 之后,将google-service.json重新下载到您的来源 . 这导致此错误消失
经过相当长的延迟后,您将看到Firebase控制台崩溃 .
顺便说一句,这对我在一个Google帐户下注册的应用程序没有帮助,之后转移到另一个帐户 . 为Firebase团队对此问题的回复进行了调整 .
就我而言,元数据的位置:io.fabric.ApiKey是错误的 .
before
after
我希望这会有所帮助 .