【发布时间】:2018-09-04 14:58:35
【问题描述】:
异常
我们在 Google Play 中看到很多与 Firebase 相关的崩溃。
异常发生在两种方法中:
- com.google.firebase.messaging.MessagingAnalytics.logNotificationDismiss
- com.google.firebase.messaging.MessagingAnalytics.logNotificationReceived
堆栈跟踪示例:
at com.google.firebase.FirebaseApp.getInstance(com.google.firebase:firebase-common@@16.0.1:219)
at com.google.firebase.messaging.MessagingAnalytics.zza (Unknown Source)
at com.google.firebase.messaging.MessagingAnalytics.logNotificationReceived (Unknown Source)
at com.google.firebase.messaging.FirebaseMessagingService.zzd (Unknown Source)
at com.google.firebase.iid.zzc.run (Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:607)
at com.google.android.gms.common.util.concurrent.zza.run (Unknown Source)
at java.lang.Thread.run (Thread.java:762)
调查
我们做了调查,找到了原因:
- Firebase 自身初始化时发生异常。
- 当设备的 Google Play 服务版本过时时,可能会发生这种情况。
- 我们已设法通过将所有 Firebase 调用包装到 try / catch 块中来解决应用代码中的此问题。
- 但是,这对
logNotificationDismiss和logNotificationReceived没有帮助,因为我们无法控制此代码。
谷歌支持
我们已将此问题通知 Firebase 团队,并与支持人员进行了一周的交谈。但是,他们告诉我们,在我们发送重现崩溃的构建之前,他们甚至不会考虑这个问题。我们对问题是特定于设备的解释没有帮助。
问题
我们可以做些什么来防止com.google.firebase.messaging.MessagingAnalytics 使我们的应用程序崩溃?
【问题讨论】:
标签: android firebase crash firebase-cloud-messaging