在更新了各种依赖项之后,我在编译中得到了一个Crashlytics错误,“Crashlytics发现了一个无效的API键:null。检查Crashlytics插件,确保已成功添加应用程序!联系人[电子邮件保护]寻求帮助。”我反复尝试[电子邮件保护]错误告诉你,Fabric和Crashlytics是单独的团队,所以他们无法帮助我。我避免了将额外的Fabric层实现到Crashlynics,并且无法从Fabric站点获取新密钥,甚至无法让站点识别我。在尝试通过从我的代码中删除Crashlytecs来解决这个问题时,我得到了“Default FirebaseApp is not initialized in this process com.example.app(默认FirebaseApp未在此过程中初始化)”。确保在运行时首先调用FirebaseApp.initializeApp(Context)崩溃。
我从未需要添加“FirebaseApp.initializeApp(this)”的初始化行,事实上,它被注释掉了。文档甚至提到,如果只对一个活动使用Firebase,则不需要这样做。添加它没有任何区别,仍然会出现运行终止错误。
原来是更新的google-services依赖性导致了新的模糊错误。目前,我没有时间花更多的时间来修复新依赖所导致的散弹枪错误,所以在有人提出解决方案之前,我会坚持使用旧版本。除了奇怪的初始化崩溃之外,新版本可能会强制Crashlytics用户使用Fabric。用户也被强制返回到旧的依赖版本:Crashlytics发现无效的API密钥:null。更新com.google.gms:google-services:4.1.0后
//com.google.gms:google-services:4.1.0坏com.google.gms:google服务:4.0.1/GOOD
编辑10/17/18:再次更新以下依赖项后
实现'com.google.firebase:firebase-ads:17.0.0'实现“com.google.firebase:firebase-auth:16.0.4”实现“com.google.firebase:firebase-database:16.0.3”实现'com.google.firebase:firebase-core:16.0.4
我在尝试安装时立即崩溃,并显示“xxx意外关闭”,就像我尝试谷歌服务依赖项更新时一样。在日志中,我找到了一个链接,指示我将其添加到清单中
<元数据android:name=“com.google.android.gms.ads.APPLICATION_ID”android:value=“ca-app-pub-xxxxxxx~xxxxxx”/>
这是新的,这里的设置和填隙说明中没有提到https://firebase.google.com/docs/android/setup还有这里https://developers.google.com/admob/android/istitual网站.
我过去只需要为我的应用程序处理一个与广告相关的ID,INTERSTITIAL_UNIT_ID。现在需要处理两个ID。除了上述添加,文档还指示在此处添加ADMOB_APP_ID(与新清单代码中的ads.APPLICATION_ID相同的编号)
MobileAds.initialize(此为ADMOB_APP_ID);
INTERSTITIAL_UNIT_ID和ADMOB_APP_ID ID可以在Google ADMOB控制台中找到。我的游戏应用程序在我第一次更新firebase依赖项时停止提供广告,但仍然不提供广告,在
公共void onAdFailedToLoad(int errorCode){。。。
即使在所有这些增加了混乱之后,如果没有初始化错误运行崩溃,我仍然无法更新google-services依赖项。我预计会在谷歌服务4.0.1上停留一段时间。
编辑10/24/18:自[电子邮件保护]经过数周关于更新后无法获得广告服务的通信:
“感谢您共享设备日志。从日志来看,这似乎是一个现有问题,这是我们优先考虑的问题,我们的团队正在进行修复,而这只发生在Android O和P设备上。”
仅限O和P设备?这是最后两个版本,O于2017年9月25日发布。伊克斯。
更新8/8/21:在将google-services从4.3.8更新到4.3.9之后,我突然又遇到了近3年前的问题,尽管我确实调用了初始化(尽管据称不需要)。将不得不再次延迟更新实施:
//com.google.gms:google-services:4.3.9坏com.google.gms:谷歌服务:4.3.8/GOOD