FCM消息通知消息和数据消息(WEB桌面推送通知)

FCM Message Notification Message and Data Message (Push Notification FOR WEB DESKTOP)

本文关键字:消息 通知 桌面 数据 FCM WEB      更新时间:2023-09-26

了解FCM网站中的数据有效载荷消息和通知有效载荷消息。它出现在FCM的主消息页面上,他们唯一强调的是IOS和Android。

我在网页推送通知工作,不会使用这个谷歌应用程序和插件。所以唯一的实现方式就是通过service worker和manifest。我可以只使用当前(通知消息)json消息在sw.js文件,如这?

self.addEventListener('push', function(event) {
 console.log('Push message received', event);
 var title = 'Push message';
 event.waitUntil(
   self.registration.showNotification(title, {
     body: 'Please choose to like or reply',      
     icon: 'images/icon.png',
     tag: 'my-tag',
     actions:[
       {action:"like", title: "Like"},
       {action:"reply", title: "⤻ Reply"}]
   })
 );
});

如果我想为不同的群组提供不同类型的消息,该怎么办?我真的不知道如何在后端做到这一点。上面的代码似乎只能显示一个通知标题?

额外注意:(有三种方式的应用服务器请求,如主题名称,设备注册令牌或设备组名称,因为我怀疑这些只用于ANDROID和IOS。请纠正我,如果我错了,如果我可以使用这些Web以及数据有效载荷消息。

你问了很多问题,我想逐一回答你所有的问题。

1)。我可以只使用当前(通知消息)json消息在sw.js文件,如这?

service worker的代码似乎是基于旧的实现(GCM),即使FCM也可以工作,但是如果你想使用FCM的有效载荷,那么你必须升级这个service worker代码来处理有效载荷以显示在通知中,请参阅链接https://firebase.google.com/docs/cloud-messaging/js/receive上的示例代码。

2)。如果我想为不同的群组提供不同类型的消息,该怎么办?我真的不知道如何在后端做到这一点。上面的代码似乎只能显示一个通知标题?

服务存储在客户端以处理有效负载消息,并且对所有客户端都是相同的。你必须在发送通知时区分接收标题。为此,您必须隔离FCM注册id,然后必须发送不同的- 2消息。