Сообщение Firebase cloud вызывает ANR

#android #firebase #firebase-cloud-messaging #android-anr-dialog

#Android #firebase #firebase-облако-обмен сообщениями #android-anr-dialog

Вопрос:

У меня есть приложение в производстве с более чем 10 тыс. ежедневных пользователей
, о 2% сеансов сообщается как о причитающемся ANR:

 Broadcast of Intent { act=com.google.android.c2dm.intent.RECEIVE flg=0x11000010 pkg=com.tomatedigital.app
cmp=com.tomatedigital.app/com.google.firebase.iid.FirebaseInstanceIdReceiver (has extras) }
  

Я проверил много источников, никто не предложил реального решения для этого.
эта ссылка: https://github.com/firebase/quickstart-android/issues/594 начинается с хорошего разговора, но, как всегда, ребята из firebase «перегорают» и перестают отвечать.

все отчеты показывают что-то вроде:

 "main" tid=1 Native
"main" prio=5 tid=1 Native
  | group="main" sCount=1 dsCount=0 flags=1 obj=0x73be7718 self=0xeeaf7000
  | sysTid=12027 nice=-4 cgrp=default sched=0/0 handle=0xf2fc54bc
  | state=S schedstat=( 1058569940 1464725264 2305 ) utm=68 stm=37 core=2 HZ=100
  | stack=0xff45f000-0xff461000 stackSize=8MB
  | held mutexes=
  #00  pc 000000000004a154  /system/lib/libc.so (__epoll_pwait 20)
  #01  pc 000000000001b799  /system/lib/libc.so (epoll_pwait 60)
  #02  pc 000000000001b7c9  /system/lib/libc.so (epoll_wait 12)
  #03  pc 0000000000010343  /system/lib/libutils.so (android::Looper::pollInner(int) 118)
  #04  pc 0000000000010235  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**) 32)
  #05  pc 00000000000e10ed  /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, _jobject*, int) 24)
  #06  pc 00000000001a6aed  /system/framework/arm/boot-framework.oat (Java_android_os_MessageQueue_nativePollOnce__JI 92)
  at android.os.MessageQueue.nativePollOnce (MessageQueue.java)
  at android.os.MessageQueue.next (MessageQueue.java:325)
  at android.os.Looper.loop (Looper.java:142)
  at android.app.ActivityThread.main (ActivityThread.java:6942)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:327)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1374)
  

Я действительно не уверен, что делать, чтобы решить эту проблему.

Это мой импорт firebase

 implementation 'com.google.firebase:firebase-storage:19.2.0'
implementation 'com.google.firebase:firebase-database:19.5.0'
implementation 'com.google.firebase:firebase-auth:19.4.0'
implementation 'com.google.firebase:firebase-dynamic-links:19.1.1'
implementation 'com.google.firebase:firebase-messaging:20.3.0'
implementation 'com.google.firebase:firebase-config:19.2.0'
  

Комментарии:

1. Не могли бы вы рассказать нам, какие операции вы выполняете, когда получаете эту трансляцию? Некоторый код может быть полезен. Спасибо!

2. @ReazMurshed, НИЧЕГО. я не обрабатываю ни одного приемника bradcast в своем приложении, все, что делается, находится во внутреннем приложении firebase

3. Вы пытались установить приоритет уведомления high с вашего сервера вместе с timeToLive информацией внутри полезной нагрузки уведомления?

4. @ReazMurshed, я использую панель управления firebase для отправки сообщений, и, несмотря на изменение текста уведомления, я больше ничего не меняю из значений по умолчанию, которые я использую, время жизни составляет 4 недели, приоритет, который я не знаю

5. @ReazMurshed Вы когда-нибудь находили решение для этого? Мы недавно обновили наше приложение и столкнулись с точно такой же проблемой.