没有Fabric API密钥,Firebase Crashlytics无法正常工作

时间:2018-07-24 11:22:23

标签: android firebase crashlytics google-fabric

我有一个安装了Fabric Crashytics的android应用。我按照官方指南设置了Firebase Crashlytics,并关联了Fabric和Firebase帐户(AFAIK Firebase最近收购了Fabric)。 因此,我特别删除了Fabric中带有<meta-data/>标签的manifest.xml API密钥。

然后,我尝试进行测试崩溃,但是Firebase和Fabric仪表板中都没有出现该崩溃,但是我在logcat中成功登录了日志:Crashlytics report upload complete: <ID>

当我嗅探网络时,似乎我从Crashlytics获得了403 Unathorized。但是,当我在Fabric标签中添加<meta-data/> API密钥时,它可以工作,并且我看到崩溃报告。

请帮助我配置的问题,如果我使用的是新的Firebase Crashlytics,而文档却没有说明,为什么我需要使用旧的Fabric API key

3 个答案:

答案 0 :(得分:3)

对于iOS上使用Fabric的用户,这就是我最终从支持中获得的东西。我想重新开始。

  • 访问https://firebase.google.com/docs/crashlytics/get-started?authuser=1#ios
    • 相应地修改Podfile中的Pod(按照说明指定Fabric和Crashlytics的版本)
    • 更新构建阶段运行脚本:“ $ {PODS_ROOT} / Fabric / run”,而不是指向其Fabric API密钥的当前脚本
  • 从Info.plist中删除API密钥-在您的AppDelegate.swift中,删除import Fabric并导入Crashlytics和任何Fabric.with语句,保留import Firebase并改用FirebaseApp.configure()

  • 在Firebase控制台中转到项目设置,单击“集成”选项卡,从Firebase取消适当的Fabric应用程序的链接(如果不执行此操作,则会出现类似以下错误:“ [Fabric]下载失败设置Error Domain = FABNetworkError Code = -5“)

  • 转到“ Crashlytics”选项卡,您应该看到必须再次安装Firebase Crashlytics。
  • 完成这些步骤,选择“此应用程序未安装Crashlytics”,然后进入最后一步,构建并运行该应用程序,然后等待几秒钟。然后将设置“ Crashlytics”标签。

一旦我这样做,然后力坠毁,它终于出现了。

答案 1 :(得分:1)

如果您从现有的Fabric能够解决问题的应用程序迁移到Firebase能够解决问题的应用程序,则必须遵循以下条件

<meta-data
          android:name="io.fabric.ApiKey"
            android:value="xxxxxxxxxxxxxxxxxxxxxxxxxx"
            />
 Fabric.with(new Crashlytics()));

但是不确定一旦结构失效,这些API和KEY会发生什么情况。

答案 2 :(得分:0)

Firebase Crash Reporting将由Fabric Crashlytics取代,而不会反过来...当前似乎仍然对firebase-crash有某种依赖性,在将来的版本中可能会删除它。

https://firebase.google.com/docs/crashlytics/upgrade-from-crash-reporting

^尽管它在那里读到“ Firebase Crashlytics”,但可能仍然是“ Fabric Crashlytics”。