#android #firebase #firebase-cloud-messaging
#Android #firebase #firebase-облако-обмен сообщениями
Вопрос:
Использование FirebaseMessagingService для отправки удаленного сообщения с использованием PHP. До настоящего времени все работало нормально, внезапно приложение перестает получать уведомления, после отладки я обнаружил, что
onMessegeReceived(remoteMessage)
remoteMessage.getData() returns null Array Map.
Но я вижу данные полезной нагрузки в пакете
Bundle[{google.delivered_priority=high, google.sent_time=1556008551748, google.ttl=2419200, google.original_priority=high,
from=982221224130,
google.message_id=0:1556008551825452%903f05e2903f05e2,
gcm.notification.data={"image":"https:url","nId":1313,"time":"14:05:51","priority":"normal","title":"testttt","message":"","type":"1"}, google.c.a.e=1, collapse_key=com.sam.grapemundo}]
Я ожидаю, что результат remoteMessage.getData() вернет
data={"image":"https:url","nId":1313,"time":"14:05:51","priority":"normal","title":"testttt","message":"","type":"1"}, google.c.a.e=1, collapse_key=com.sam.grapemundo}]
Ответ №1:
Прежде всего, вы должны проверить, запущено уведомление или нет:-
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.e(TAG, "From: " remoteMessage.getFrom());
Log.e(TAG, "Data Payload: " remoteMessage.getData().toString());
if (remoteMessage.getNotification() == null)
return;
// Check if message contains a notification payload.
if(remoteMessage.getNotification() != null) {
handleNotification(remoteMessage, remoteMessage.getNotification().getBody(), remoteMessage.getNotification().getTitle());
}
Комментарии:
1. Я отправляю уведомление с использованием полезной нагрузки данных, поэтому remoteMessage.getNotification() всегда имеет значение null
2. remoteMessage.getFrom() возвращает 982221224130 remoteMessage.getMessageId также возвращает значение message_id
3. Строковое изображение = remoteMessage.getData().get(«изображение»); получается вот так.
4. @swapnilmdkapse …google.c.a.e = 1, возможно, создает проблему, проверьте это.