了解FCM网站中的数据有效载荷消息和通知有效载荷消息。它位于主要的FCM消息传递页面中,他们强调的唯一内容是IOS和Android。
我正在处理网络推送通知,并且不会将其用于谷歌应用和插件。因此,实现的唯一方法是通过服务工作者和清单。我可以只在sw.js文件中使用当前(通知消息)json消息吗?
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以及数据有效负载消息。
答案 0 :(得分:1)
你在一个问题中提出了多个问题,我想逐一回答你的所有问题。
1)。我可以只在sw.js文件中使用当前(通知消息)json消息吗?
服务工作者的代码看起来像是基于旧的实现(GCM)来实现的,即使使用FCM也可以使用它,但是如果你想使用FCM的有效负载,那么你必须升级这个服务工作者代码来处理有效负载到在通知中显示,请参阅链接https://firebase.google.com/docs/cloud-messaging/js/receive上的示例代码。
2)。如果我想为不同的群组提供不同类型的消息,该怎么办?我真的不知道如何在后端做到这一点..似乎上面的代码只能显示一个通知标题?
客户端上的服务存储来处理有效负载消息,并且对于所有客户端都是相同的。您必须在发送通知时区分接收标题。为此,您必须隔离FCM注册ID,然后必须发送不同的2条消息。