0

Когда я использовал Parse из Facebook, я мог тестировать уведомление во время разработки (т. Е. Нет приложения в Play Маркете). Но сейчас я пытаюсь внедрить Firebase в свое приложение. Мое приложение еще не опубликовано. Я покончил с реализацией на стороне android и пытаюсь отправить уведомление с консоли Firebase в мое приложение. Но мое устройство никогда не получает уведомление. Почему это? Я нацелен на «Все пользователи», потому что у firebase нет версии или какой-либо из моих тем.Уведомление Firebase иногда пропускает onMessageReceived метод

ХОРОШО

Так я сделал еще несколько неисправностей и вот это: мое устройство получения уведомлений, но это делает так странно:

  1. , когда приложение открыто, и пользователь взаимодействуя с ним, уведомление проходит через ожидаемый путь вызова onMessageReceived.

  2. Когда приложение закрыто (не в последних приложениях), уведомление пропускает вызов onMessageReceived и отображает уведомление в строке состояния.

Но вот бревно из FireBase когда onMessageReceived пропускается

05-24 07:15:52.842 D/TimaKeyStoreProvider: TimaSignature is unavailable 
05-24 07:15:52.842 D/ActivityThread: Added TimaKeyStore provider 
05-24 07:15:53.102 D/FirebaseApp: com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization. 
05-24 07:15:53.132 D/FirebaseApp: Initialized class com.google.firebase.iid.FirebaseInstanceId. 
05-24 07:15:53.142 D/FirebaseApp: com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization. 
05-24 07:15:53.222 I/FA: App measurement is starting up, version: 9080 
05-24 07:15:53.222 I/FA: To enable debug logging run: adb shell setprop log.tag.FA VERBOSE 
05-24 07:15:53.352 D/FirebaseApp: Initialized class com.google.android.gms.measurement.AppMeasurement. 
05-24 07:15:53.352 I/FirebaseInitProvider: FirebaseApp initialization successful 
05-24 07:15:53.372 D/AlgorithmsProvider: onCreate 
05-24 07:15:53.452 I/FA: Tag Manager is not found and thus will not be used 
+0

вы можете протестировать в любое время, точно так же, как разбор. Парасс использовал то же самое, что и Firebase – tyczj

+0

. Я продолжал пытаться, и он наконец начал работать. Но я вижу проблему. Когда мое приложение открыто, уведомление отправляется в «FirebaseMessagingService # onMessageReceived» (я регистрирую его). Но если мое приложение не открыто, я вижу уведомление в строке состояния устройства, но onMessageReceived никогда не получает вызов. –

+1

Это действительно похоже на ожидаемое поведение для уведомлений. Если вы хотите получить больше контроля над тем, что произойдет, вы захотите использовать Firebase Cloud Messaging (ребренд-и-обновленную версию GCM). –

ответ

1

Для отображения-сообщений (сообщения с уведомлением о теге), это ожидаемое поведение, что onMessageReceived вызывается только тогда, когда приложение находится на переднем плане.

Если вы хотите использовать данные-сообщения (сообщение без уведомления), вы не сможете сделать это через консоль (по крайней мере, до этого времени). Вам необходимо вручную создать почтовый запрос на сервер FCM. Вы можете увидеть этот пример ответа от ответа на этот вопрос How to handle notification when app in background in Firebase.

Смежные вопросы