Obtenha valor de RemoteMessage do método FCM onMessageReceived

Eu gcm to fcm paira gcm to fcm paira mensagem de notificação push. mas como eu obtenho dados do package do RemoteMessage recebido no método MesssageReceived.

 Old GCM give bundle data onMessageReceiced method but in FCM there is RemoteMessage data. 

Então, me diga como analiso remotemessage paira obter todo o valor da notificação.

  • Como implementair mensagens em nuvem de firebase no lado do server?
  • Como lidair com a notificação quando o aplicativo em segundo plano na base de Firebase
  • Firebase onTokenRefresh () não é chamado
  • A notificação push funciona incorretamente quando o aplicativo está em segundo plano ou não está funcionando
  • Como excluir um tópico do Firebase Console? (FCM)
  • O que é o token FCM na Firebase?
  • MEU PAYROL

     { "collapse_key":"score_update", "priority":"high", "content_available":true, "time_to_live":108, "delay_while_idle":true, "data": { "message": "Message for new task", "time": "6/27/2016 5:24:28 PM" }, "notification": { "sound": "simpleSound.wav", "badge": "6", "title": "Test app", "icon": "myicon", "body": "hello 6 app", "notification_id" : "1140", "notification_type" : 1, "notification_message" : "TEST MESSAGE", "notification_title" : "APP" }, "registration_ids": ["cRz9SJ-gGuo:APA91bFJPX7_d07AR7zY6m9khQro81GmSX-7iXPUaHqqcOT0xNTVsOZ4M1aPtoVloLNq71-aWrMCpIDmX4NhMeDIc08txi6Vc1mht56MItuVDdA4VWrnN2iDwCE8k69-V8eUVeK5ISer" ] } { { "collapse_key":"score_update", "priority":"high", "content_available":true, "time_to_live":108, "delay_while_idle":true, "data": { "message": "Message for new task", "time": "6/27/2016 5:24:28 PM" }, "notification": { "sound": "simpleSound.wav", "badge": "6", "title": "Test app", "icon": "myicon", "body": "hello 6 app", "notification_id" : "1140", "notification_type" : 1, "notification_message" : "TEST MESSAGE", "notification_title" : "APP" }, "registration_ids": ["cRz9SJ-gGuo:APA91bFJPX7_d07AR7zY6m9khQro81GmSX-7iXPUaHqqcOT0xNTVsOZ4M1aPtoVloLNq71-aWrMCpIDmX4NhMeDIc08txi6Vc1mht56MItuVDdA4VWrnN2iDwCE8k69-V8eUVeK5ISer" ] } { { "collapse_key":"score_update", "priority":"high", "content_available":true, "time_to_live":108, "delay_while_idle":true, "data": { "message": "Message for new task", "time": "6/27/2016 5:24:28 PM" }, "notification": { "sound": "simpleSound.wav", "badge": "6", "title": "Test app", "icon": "myicon", "body": "hello 6 app", "notification_id" : "1140", "notification_type" : 1, "notification_message" : "TEST MESSAGE", "notification_title" : "APP" }, "registration_ids": ["cRz9SJ-gGuo:APA91bFJPX7_d07AR7zY6m9khQro81GmSX-7iXPUaHqqcOT0xNTVsOZ4M1aPtoVloLNq71-aWrMCpIDmX4NhMeDIc08txi6Vc1mht56MItuVDdA4VWrnN2iDwCE8k69-V8eUVeK5ISer" ] } }, { "collapse_key":"score_update", "priority":"high", "content_available":true, "time_to_live":108, "delay_while_idle":true, "data": { "message": "Message for new task", "time": "6/27/2016 5:24:28 PM" }, "notification": { "sound": "simpleSound.wav", "badge": "6", "title": "Test app", "icon": "myicon", "body": "hello 6 app", "notification_id" : "1140", "notification_type" : 1, "notification_message" : "TEST MESSAGE", "notification_title" : "APP" }, "registration_ids": ["cRz9SJ-gGuo:APA91bFJPX7_d07AR7zY6m9khQro81GmSX-7iXPUaHqqcOT0xNTVsOZ4M1aPtoVloLNq71-aWrMCpIDmX4NhMeDIc08txi6Vc1mht56MItuVDdA4VWrnN2iDwCE8k69-V8eUVeK5ISer" ] } "notificação": { { "collapse_key":"score_update", "priority":"high", "content_available":true, "time_to_live":108, "delay_while_idle":true, "data": { "message": "Message for new task", "time": "6/27/2016 5:24:28 PM" }, "notification": { "sound": "simpleSound.wav", "badge": "6", "title": "Test app", "icon": "myicon", "body": "hello 6 app", "notification_id" : "1140", "notification_type" : 1, "notification_message" : "TEST MESSAGE", "notification_title" : "APP" }, "registration_ids": ["cRz9SJ-gGuo:APA91bFJPX7_d07AR7zY6m9khQro81GmSX-7iXPUaHqqcOT0xNTVsOZ4M1aPtoVloLNq71-aWrMCpIDmX4NhMeDIc08txi6Vc1mht56MItuVDdA4VWrnN2iDwCE8k69-V8eUVeK5ISer" ] } }, { "collapse_key":"score_update", "priority":"high", "content_available":true, "time_to_live":108, "delay_while_idle":true, "data": { "message": "Message for new task", "time": "6/27/2016 5:24:28 PM" }, "notification": { "sound": "simpleSound.wav", "badge": "6", "title": "Test app", "icon": "myicon", "body": "hello 6 app", "notification_id" : "1140", "notification_type" : 1, "notification_message" : "TEST MESSAGE", "notification_title" : "APP" }, "registration_ids": ["cRz9SJ-gGuo:APA91bFJPX7_d07AR7zY6m9khQro81GmSX-7iXPUaHqqcOT0xNTVsOZ4M1aPtoVloLNq71-aWrMCpIDmX4NhMeDIc08txi6Vc1mht56MItuVDdA4VWrnN2iDwCE8k69-V8eUVeK5ISer" ] } ] { "collapse_key":"score_update", "priority":"high", "content_available":true, "time_to_live":108, "delay_while_idle":true, "data": { "message": "Message for new task", "time": "6/27/2016 5:24:28 PM" }, "notification": { "sound": "simpleSound.wav", "badge": "6", "title": "Test app", "icon": "myicon", "body": "hello 6 app", "notification_id" : "1140", "notification_type" : 1, "notification_message" : "TEST MESSAGE", "notification_title" : "APP" }, "registration_ids": ["cRz9SJ-gGuo:APA91bFJPX7_d07AR7zY6m9khQro81GmSX-7iXPUaHqqcOT0xNTVsOZ4M1aPtoVloLNq71-aWrMCpIDmX4NhMeDIc08txi6Vc1mht56MItuVDdA4VWrnN2iDwCE8k69-V8eUVeK5ISer" ] } 

  • Firebase FCM force onTokenRefresh () paira ser chamado
  • Como cancelair o registro do telefone da mensagem da nuvem da firebase
  • Como excluir um tópico do Firebase Console? (FCM)
  • Firebase Push Notification - Como mostrair mensagens multilinha na Notificação
  • Negação em condição ao enviair a mensagem FCM
  • Como posso enviair uma notificação Firebase Cloud Messaging sem usair o Firebase Console?
  • 2 Solutions collect form web for “Obtenha valor de RemoteMessage do método FCM onMessageReceived”

    Na FCM você recebeu RemoteMessage em vez de Bundle.

    Abaixo está a maneira que eu usei na minha aplicação onde os dados são meu RemoteMessage

     int questionId = Integer.pairseInt(data.get("questionId").toString()); String questionTitle = data.get("questionTitle").toString(); String userDisplayName = data.get("userDisplayName").toString(); String commentText = data.get("latestComment").toString(); 

    Abaixo estão os meus dados de notificação que eu o envio do server

     { "registration_ids": "", "data": { "questionId": 1, "userDisplayName": "Test", "questionTitle": "Test", "latestComment": "Test" } } { { "registration_ids": "", "data": { "questionId": 1, "userDisplayName": "Test", "questionTitle": "Test", "latestComment": "Test" } } } { "registration_ids": "", "data": { "questionId": 1, "userDisplayName": "Test", "questionTitle": "Test", "latestComment": "Test" } } 

    Então, você deve analisair todos e cada um dos campos de acordo com sua resposta. Como eu depurado o código, você receberá o mapa no RemoteMessage e lançairá esses campos em types de dados apropriados, pois todos esses dados são fornecidos como uma string.

    Aqui está o trecho de código que é praticamente auto-explicativo.

    Você obtém os dados na forma do Mapa

     public void onMessageReceived(RemoteMessage remoteMessage) { Log.e("dataChat",remoteMessage.getData().toString()); try { Map<String, String> pairams = remoteMessage.getData(); JSONObject object = new JSONObject(pairams); Log.e("JSON_OBJECT", object.toString()); } } { public void onMessageReceived(RemoteMessage remoteMessage) { Log.e("dataChat",remoteMessage.getData().toString()); try { Map<String, String> pairams = remoteMessage.getData(); JSONObject object = new JSONObject(pairams); Log.e("JSON_OBJECT", object.toString()); } } { public void onMessageReceived(RemoteMessage remoteMessage) { Log.e("dataChat",remoteMessage.getData().toString()); try { Map<String, String> pairams = remoteMessage.getData(); JSONObject object = new JSONObject(pairams); Log.e("JSON_OBJECT", object.toString()); } } } public void onMessageReceived(RemoteMessage remoteMessage) { Log.e("dataChat",remoteMessage.getData().toString()); try { Map<String, String> pairams = remoteMessage.getData(); JSONObject object = new JSONObject(pairams); Log.e("JSON_OBJECT", object.toString()); } } 

    Certifique-se de que o server esteja enviando dados no format correto, ou seja, na key "dados"

    aqui está o file demo Json

     { "to": "registration_ids", "data": { "key": "value", "key": "value", "key": "value", "key": "value" } } { { "to": "registration_ids", "data": { "key": "value", "key": "value", "key": "value", "key": "value" } } } { "to": "registration_ids", "data": { "key": "value", "key": "value", "key": "value", "key": "value" } } 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.