【问题标题】:Android Push Notification FirebaseAndroid 推送通知 Firebase
【发布时间】:2018-01-24 09:39:14
【问题描述】:

仅当应用程序打开并且应用程序处于后台或未运行时,Firebase 数据才会处理来自 Firebase 数据的 Android 推送通知,Firebase 会在推送时从通知标签中带来带有标题和正文的通知。当应用程序处于后台或未运行时,如何处理数据标签。我试过以下代码:

public static String TAG = MyFirebaseMessagingService.class.getSimpleName();
 @Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
            super.onMessageReceived(remoteMessage);

     Log.e(TAG,"Test_Data:"+remoteMessage.getData().toString());

    }

但它仅在应用程序打开时才有效,我只能处理基本上由 Firebase 本身处理的通知标签的数据!

【问题讨论】:

    标签: java android firebase firebase-cloud-messaging


    【解决方案1】:

    要以相同的方式处理前台、后台和终止状态的数据,您必须发送数据消息而不是通知消息。数据消息始终在onMessageReceived() 中接收。您可以通过在 json 中包含仅数据标签来做到这一点。

    {
      "message":{
        "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
        "data":{
          "Nick" : "Mario",
          "body" : "great match!",
          "Room" : "PortugalVSDenmark"
        }
      }
    }
    

    如果你在这个json中包含了一个通知对象,那么它被认为是一个通知消息,并且只有当它被点击时才会传递数据部分

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-05
      相关资源
      最近更新 更多