FCM 云消息传递与通知和消息的区别

时间:2021-01-21 22:18:03

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

我实现了我的后端服务(使用 java 和 FCM)来向移动应用发送推送通知。

我使用 Java Firebase Admin-SDK(https://firebase.google.com/docs/reference/admin/java/reference/com/google/firebase/messaging/package-summaryhttps://firebase.google.com/docs/cloud-messaging/send-message#java)实现了我的服务,并且能够在 iOS 和 Android 移动应用上发送(和接收)推送通知。

现在我收到了来自移动开发者的请求,他们需要自定义(客户端)收到的推送通知(当应用处于后台模式时也是如此)。

可能这里报告了同样的问题:What is the difference between Firebase push-notifications and FCM messages?

阅读文档 (https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages) 我明白有必要使用数据消息而不是通知消息。

我不清楚需要进行哪些更改才能支持这种交付类型。 我是更改 FCM 消息的 Android 配置还是删除一些不必要的数据(只需将所有信息设置为自定义数据,而无需其他信息,例如 Android 配置等。)

可以举个小例子吗?

2 个答案:

答案 0 :(得分:0)

如果您的 json 具有 notification 键,开发人员将无法在后台处理通知。只有当应用程序处于前台时,他们才会收到此通知。如果开发者应该收到“静默推送”或者他们需要控制所有通知,您应该删除 notification 键,只使用 data 键。

答案 1 :(得分:0)

这可以通过将关键的“通知”更改为“数据”来实现,如下所示:

   {
     "notification": {  //replace this line by "data"
     "title": "Hey Gajanan", 
     "body": "Thanks for visiting omnidecoder.com"
     },
     "to" : "YOUR-GENERATED-TOKEN"
    }