如何在Android上分离FCM通知?

Med*_*edo 1 android firebase firebase-cloud-messaging firebase-notifications

我有两个不同的通知。
一个是消息,另一个是其他内容的通知。
我想将通知分开。
例如,当我收到通知消息并点击它时,它会打开聊天室,而另一个则打开另一个活动。

Vis*_*a ツ 5

以下是发送下游消息所需的一些基本属性。

\n\n

\xe2\x80\x93类型字符串 \xe2\x80\x93 (可选)[消息的收件人]\n该值必须是单个注册令牌、通知密钥或主题。发送到多个主题时不要设置此字段

\n\n

Registration_ids \xe2\x80\x93 类型 字符串数组 \xe2\x80\x93 (可选)[消息的收件人]\n多个注册令牌,最小 1 最大 1000。

\n\n

优先级 \xe2\x80\x93 类型字符串 \xe2\x80\x93 (可选)[ 默认正常]\n允许值正常和高。

\n\n

delay_while_idle \xe2\x80\x93 类型 boolean \xe2\x80\x93 (可选)[默认值 false]\ntrue 表示在设备激活之前不应发送消息。

\n\n

time_to_live \xe2\x80\x93 类型 JSON 数字 \xe2\x80\x93 (可选)[默认值 4 周,最长 4 周]\n此参数指定如果设备处于 FCM 存储中,消息应在 FCM 存储中保留多长时间(以秒为单位)离线

\n\n

data \xe2\x80\x93 类型 JSON 对象\n指定消息\xe2\x80\x99s 负载的自定义键值对。\neg。 {\xe2\x80\x9cpost_id\xe2\x80\x9d:\xe2\x80\x9d1234\xe2\x80\xb3,\xe2\x80\x9dpost_title\xe2\x80\x9d:\xe2\x80\x9dA 博客文章标题\ xe2\x80\x9d}

\n\n

在 Android 中,您可以在onMessageReceived()中以 Map data\xe2\x80\xa6 的形式接收它

\n\n
public class FcmMessageService extends FirebaseMessagingService{\n    @Override\n    public void onMessageReceived(RemoteMessage remoteMessage) {\n        //onMessageReceived will be called when ever you receive new message from server.. (app in background and foreground )\n        Log.d("FCM", "From: " + remoteMessage.getFrom());\n\n        if(remoteMessage.getNotification()!=null){\n        Log.d("FCM", "Notification Message Body: " + remoteMessage.getNotification().getBody());\n        }\n\n        if(remoteMessage.getData().containsKey("post_id") && remoteMessage.getData().containsKey("post_title")){\n            Log.d("Post ID",remoteMessage.getData().get("post_id").toString());\n            Log.d("Post Title",remoteMessage.getData().get("post_title").toString());\n            // eg. Server Send Structure data:{"post_id":"12345","post_title":"A Blog Post"}\n        }\n    }\n}\n
Run Code Online (Sandbox Code Playgroud)\n