Firebase 崩溃报告错误:客户端应用程序 com.xxxx 被阻止

Posted

技术标签:

【中文标题】Firebase 崩溃报告错误:客户端应用程序 com.xxxx 被阻止【英文标题】:Firebase Crash Reporting error: client application com.xxxx are blocked 【发布时间】:2017-06-06 03:05:26 【问题描述】:

我已经在我的项目中成功实施了 FCM 和 Firebase 分析,但我在尝试使用 Firebase 崩溃报告时发现了一个错误,我不知道我缺少什么。

我只是想在the official tutorial 之后使用 Firebase 崩溃报告并收到此错误: 它说:

服务器未收到报告:来源错误消息:来自此 android 客户端应用程序 com.xxxxxx 的请求被阻止

在谷歌和这里(堆栈溢出)挖掘后,我发现了一些相关问题( link 1, link 2, link 3) 但他们的解决方案都不适合我。我的意思是,有人谈论检查 API_KEY,有人谈论在控制台中启用检查崩溃报告,并且列表继续。在发布此问题之前,我已经尝试了这些答案。

更新:为那些不想看上面链接的人稍微解释一下:我尝试更新 google-services.json 文件,更改 API_KEY,删除并再次添加 SHA1,让 API_KEY 为空等。为我所做的每个更改下载 google-services.json 文件。

我的 google-services.json 文件中的 API_KEY 如下所示:

"api_key": [
    
      "current_key": "AIzaxxxxxxxxxxzxxxxxx"
    ,
    
      "current_key": "AIzaxxxxxxxxxxxxxx"
    
  ],

我检查了我的 google-service.json 是否已调试并发布 SHA1。

更新 奇怪的是我在分析部分得到报告,你可以在下一个截图中看到:

查看console.developers.google.com 中的项目,我发现我启用了移动崩溃和性能报告API(如您在以下屏幕截图中看到的那样): 点击“Mobile Crash and Performance Reporting API”后,我得到了这个: 上图显示了 2 张图片:“Mobile Crash and Performance Reporting API”的所有流量完成,以及 API 处理的错误。如您所见,它说我的所有请求都是 403 错误(您可以在它说 403:0.0004 的地方看到它):这是真的,我已经尝试了 4 次并且一直得到相同的控制台错误。

不知道发生了什么或我错过了什么

如果您需要有关 gradle 应用程序文件的信息来帮助我,这里是:

编译'com.google.firebase:firebase-core:10.0.1' 编译 'com.google.firebase:firebase-messaging:10.0.1' 编译 'com.google.firebase:firebase-crash:10.0.1' 编译 'com.google.android.gms:play-services-maps:10.0.1' 编译 'com.google.android.gms:play-services-location:10.0.1' 编译'com.google.android.gms:play-services-awareness:10.0.1'

【问题讨论】:

【参考方案1】:

我遇到了同样的问题,通过将 Google 控制台中的 API 密钥 Key restriction 设置为 NONE 解决了这个问题。

【讨论】:

我喜欢你是我的问题。感谢您的解决方案。 谢谢你!很有帮助。我自己永远不会发现那个错误。正在尝试将 Firebase 应用内消息添加到我的应用,但此服务未将包名称传递给 API,因此我过去设置的限制阻止了该请求。 这个答案有效,但如果你应该将 bundleId 设置为 Key 限制 > 应用程序限制 如果只有 NONE,那么它的目的是什么> 有效吗?【参考方案2】:

我遇到了同样的问题,通过下载新的配置文件google-services.json解决了。

【讨论】:

我试过了,尝试更改文件内的 API_KEY,尝试在项目中添加 dev SHA1,但没有成功 我已经意识到崩溃报告在发布版本中有效,但在开发版本中无效 也许你只添加了发布版本的API_KEY而不是调试版本? @RosarioPereiraFernandes 这是我尝试过的事情之一,我的意思是,删除发布和调试密钥并再次添加两者,再次下载 google-service.json ......不走运。【参考方案3】:

我遇到了类似的问题,我尝试降低 gradle 级别,这对我有帮助,因为最新版本中存在一些稳定性问题。

到:

compile 'com.google.firebase:firebase-core:9.2.1'
compile 'com.google.firebase:firebase-messaging:9.2.1'
compile 'com.google.firebase:firebase-crash:9.2.1'
compile 'com.google.android.gms:play-services-maps:9.2.1'
compile 'com.google.android.gms:play-services-location:9.2.1'
compile 'com.google.android.gms:play-services-awareness:9.2.1'

你也sdk到:

compileSdkVersion 23
buildToolsVersion "21.1.2"

defaultConfig 
    applicationId "cloud.savari.example.com.fcm"
    minSdkVersion 17
    targetSdkVersion 23
    versionCode 1
    versionName "1.0"

【讨论】:

但我无法降低级别,因为我正在使用setCurrentScreen 女巫自 9.8 起可用 那我建议你尽可能把它放下然后重试。我去了9.2.1 并不少于locations and FCM 尝试使用这些版本,但要确保play-services and firebase 在同一个版本上。

以上是关于Firebase 崩溃报告错误:客户端应用程序 com.xxxx 被阻止的主要内容,如果未能解决你的问题,请参考以下文章

Firebase Analytics / Firebase Crashlytics - 报告错误

调试 Firebase 崩溃报告 - CALayer 位置包含 NAN

Firebase 崩溃报告如何初始化

Firebase Crashlytics 未报告崩溃

将 Firebase 崩溃报告更新到 Firebase Crashlytics:仍在旧仪表板上

上传 1 个缺失的 DSYM 以处理 Firebase 崩溃报告中的 18 次崩溃