Показывать уведомление по умолчанию в onMessageReceived - PullRequest
0 голосов
/ 09 июня 2019

Я использую Firebase Cloud Messaging для Android. Когда мое приложение находится на переднем плане, FCM будет вызывать onMessageReceived в подклассе FirebaseMessagingService моего приложения.

Когда мое приложение находится в фоновом режиме, ОС Android создаст запись уведомления по умолчанию в системном трее. Эта запись уведомления выглядит довольно хорошо для меня; для уведомлений, которые мне нужно отправить, мне не нужно особенно прерывать пользователя уведомлением. Уведомление по умолчанию в системном трее просто отлично.

Мой вопрос: как сделать так, чтобы уведомление "по умолчанию" происходило в onMessageReceived, когда мое приложение находится на переднем плане? Есть ли способ сказать: «Мне не нужно перехватывать это уведомление; пожалуйста, просто делайте то, что вы обычно делаете, если бы я был в фоновом режиме»?

(Нужно ли имитировать его вручную с помощью NotificationCompat.Builder? Если да, то какие настройки мне нужно передать, чтобы получить поведение по умолчанию?)

1 Ответ

0 голосов
/ 09 июня 2019

Когда приложение находится в фоновом режиме, ваши уведомления обрабатываются Службами Google, которые обеспечивают отображение ваших уведомлений по мере необходимости, в том числе действие по умолчанию (открытие приложения) и значок уведомления.

Когда приложение находится на переднем плане, полученные сообщения обрабатываются приложением.

Да, вам придется имитировать NotificationCompat.Builder, чтобы он выглядел по умолчанию.Нет другого способа сделать это, не перехватывая обратный вызов onMessageReceived ().

Ссылка: https://firebase.google.com/docs/cloud-messaging/android/receive

...