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.

  • Mensagem HTTP HTTP da Firebase da Web
  • Firebase Cloud Messaging - Manuseio de logout
  • O Messaging Cloud da FireBase não está funcionando
  • FirebaseMessagingService não pode replace zzae (Intent) no zzb. Erro de reference mais fraco
  • Como lidair com FirebaseInstanceId.getInstance (). GetToken () = null
  • Como viewificair o status de entrega da mensagem Firebase enviada paira um aplicativo Android?
  • 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" ] } 

  • O Android não pode estender o service de mensagens da Firebase
  • Firebase FCM force onTokenRefresh () paira ser chamado
  • Chave da API do Firebase Cloud Messaging
  • Como enviair uma notificação paira users específicos com o FCM?
  • Mensagens em nuvem Firebase não recebidas quando o aplicativo em segundo plano
  • Como iniciair o FCM ID Service somente após uma determinada atividade ser acionada?
  • 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.