Как Firebase Cloud Messaging работает на Android

Я отправляю данные на сервер FCM через «приложение администратора» и хочу, чтобы другое «приложение, не являющееся администратором», могло получать push-уведомления всякий раз, когда «приложение администратора» отправляет данные на сервер FCM.

Для этого я использую AWS SNS в тандеме с FCM для хранения списка получателей и распространения push-уведомлений. Однако, в отличие от ответа, указанного в https://stackoverflow.com/a/47413178/9846004 < / strong>, когда приложение находится на переднем плане, мое устройство не получает push-уведомления; он принимает их только тогда, когда находится в фоновом режиме.

In addition, how do I implement the feature to "open up the intended activity screen" using the "click_action" key in the payload? Do I need to include the full package name as part of the value?

Something like {"click_action" : "com.example.application.androidapp.main_activity"} or just {"click_action" : "main_activity"} will do?


person Goh wei yang    schedule 03.07.2018    source источник
comment
click_action - это строка фильтра намерений, а не название действия. https://firebase.google.com/docs/cloud-messaging/http-server-ref   -  person Doug Stevenson    schedule 03.07.2018
comment
Спасибо за ответ. Могу я пояснить, имеете в виду атрибут action name: в Manifest.xml?   -  person Goh wei yang    schedule 06.07.2018


Ответы (1)


Чтобы получать сообщения, пока ваше приложение находится на переднем плане, создайте службу, которая расширяет FirebaseMessagingService и переопределяет методы onMessageReceived и onDeletedMessages. Для получения дополнительной информации перейдите по этой ссылке.

Возможно, это может помочь.

person Mehul Kanzariya    schedule 03.07.2018
comment
Спасибо за ответ. Но я уже переопределил этот метод OnMessageReceived. Проблема в том, что я даже не вижу, чтобы программа выполняла эту часть кода при попытке отладки. - person Goh wei yang; 03.07.2018
comment
Я прикрепил ссылку на обновленный ответ. Может, это поможет. - person Mehul Kanzariya; 03.07.2018
comment
Спасибо за отличные советы и ресурсы. После бесчисленных испытаний мне, наконец, удалось заставить его работать. Отправлю свои выводы как можно скорее. - person Goh wei yang; 06.07.2018
comment
@Gohweiyang Отлично! - person Mehul Kanzariya; 08.07.2018