Ниже приведен json, который я пытаюсь отправить с консоли Firebase.
{
"message": {
"token": "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data": {
"Nick": "Mario",
"body": "great match!",
"Room": "PortugalVSDenmark"
}
}
}
Мой код в onMessageReceived выглядит следующим образом
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.d(TAG, "From: " + remoteMessage.getFrom());
Log.d(TAG, "Message data payload: " + remoteMessage.getData());
// Check if message contains a data payload.
if (remoteMessage.getData().size() > 0) {
Log.d(TAG, "Message data payload: " + remoteMessage.getData());
String name = remoteMessage.getData().get("Nick").toString();
String body = remoteMessage.getData().get("body").toString();
String room = remoteMessage.getData().get("Room").toString();
String messageBody = name
+ " "
+ body
+ " "
+ room;
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
.setContentTitle("Zone")
.setContentText(messageBody)
.setAutoCancel(true)
.setSmallIcon(R.mipmap.ic_launcher)
/*Notification with Image*/;
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0 /* ID of notification */, notificationBuilder.build());
}
}
Каждый раз, когда я отправляю вышеуказанный json из консоли firebase, он даже не входит в условие if, потому что remoteMessage.getData().size() не больше нуля.
Почему это происходит, хотя я отправляю полезные данные?
Также, когда уведомление получено, я хочу создать предложение из необработанного json и отобразить его. Например, "Нику понравилась картинка"
Когда приходит уведомление, отображается только json.
Долго с этим боролся.
Любая помощь будет оценена. Спасибо