繁体   English   中英

如何在通知FCM Android中获取数据

[英]How to get data in notification FCM android

"notification":{  
      "title":"[add title]",
      "body":"[add your message]",
      "badge":11
   }

在我的FCM中发送通知对象中的徽章

如何获得

PS。 titlebody我可以得到,但我不能获得徽章

谢谢!

您可以从以下方法检索数据

 @Override
 public void onMessageReceived(RemoteMessage remoteMessage) {

    Map<String, String> data = remoteMessage.getData();
    String title = data.get("title").toString();
    String message = data.get("body").toString();
    String message = data.get("badge").toString();
}

您需要像“ int”一样获得“徽章”

jsonObject.getInt("badge")

按照doc ,您必须以data类型发送通知,以发送/接收自定义参数。 您必须从服务器发送类似

"data":{  
      "title":"[add title]",
      "body":"[add your message]",
      "badge":"11"
   }

在接收方,您可以进行如下分析:

 @Override
        public void onMessageReceived (RemoteMessage remoteMessage){
            super.onMessageReceived(remoteMessage);
            Log.d(TAG, "From: " + remoteMessage.getFrom());
            // Check if message contains a data payload.
            if (remoteMessage.getData().size() > 0) {
                Log.e(TAG, "Data Payload: " + remoteMessage.getData().toString());

                try {
                    Map<String, String> map = remoteMessage.getData();

                    handleDataMessage(map);

                } catch (Exception e) {
                    Log.e(TAG, "Exception: " + e.getMessage());
                }
            }

        }

        private void handleDataMessage(Map<String,String> json){
            Log.e(TAG, "push json: " + json.toString());

            try {

                String title = json.get("title");
                String message = json.get("body");
                String badge = json.get("badge");

              // Display notication depends on received data


            } catch (Exception e) {
                Log.e(TAG, "Exception: " + e.getMessage());
            }
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM