java - 在 Android 中从 FCM 获取自定义负载

标签 java android push-notification firebase-cloud-messaging

我必须阅读下面提到的来自 FCM 推送通知的 key 。

    { 
      "from_id": "",
      "data": {  
        "sender_id": "15", 
        "receiver_id": "42", 
        "sender_name": "Addy", 
        "alert": "Addy sent you a message.",
        "notification_type": "message",
        "message": "testing" 
              }
     }

我正在使用

      public void onMessageReceived(RemoteMessage remoteMessage) {

      String title=remoteMessage.getData().get("sender_name");

      sendNotification(title, "");

      }

问题是 title=remoteMessage.getData.get("sender_name");返回 null ,当我在浏览器中查看时,它显示数据存在于 sender_name 中。

最佳答案

public void onMessageReceived(RemoteMessage remoteMessage) {
        Log.e(TAG, "From: " + remoteMessage.getFrom());

        if (remoteMessage == null)
            return;

        // Check if message contains a notification payload.
        if (remoteMessage.getNotification() != null) {
            Log.e(TAG, "Notification Body: " + remoteMessage.getNotification().getBody());
            handleNotification(remoteMessage.getNotification().getBody());
        }

        // Check if message contains a data payload.
        if (remoteMessage.getData().size() > 0) {
            Log.e(TAG, "Data Payload: " + remoteMessage.getData().toString());

            try {
                JSONObject json = new JSONObject(remoteMessage.getData().toString());
                handleDataMessage(json);
            } catch (Exception e) {
                Log.e(TAG, "Exception: " + e.getMessage());
            }
        }
    }

关于java - 在 Android 中从 FCM 获取自定义负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40583248/

相关文章:

ios - 不显示推送通知

java - Spring RestTemplate Post 收到 500 内部服务器错误

java - Selenium WebDriver Page 对象模型描述

android - "Program type already present"是什么意思?

ios - swift iOS 10 无法重新注册推送通知,缺少什么?

java - 显示收到的推送通知

Java链接列表无法将项目添加到末尾

java - 从特定单词后开始读取文件

android - 使用 Robolectric 模拟 HttpResponse

java - 无法从 button.set OnClick.get Text 搜索数据库,因为 String 变为 null