【问题标题】:FCM Message Notification Message and Data Message (Push Notification FOR WEB DESKTOP)FCM 消息通知消息和数据消息(WEB DESKTOP 推送通知)
【发布时间】:2017-02-23 08:30:44
【问题描述】:

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

我正在处理网络推送通知,不会将其用于谷歌应用和插件。所以唯一的实现方式就是通过 service worker 和 manifest。我只能在 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 以及数据负载消息。

【问题讨论】:

    标签: javascript push-notification firebase-cloud-messaging service-worker


    【解决方案1】:

    您在一个问题上提出了多个问题,那么我正在尝试一一回答您的所有问题。

    1)。我只能在 sw.js 文件中使用当前(通知消息)json 消息吗?

    Service Worker 的代码似乎是基于旧实现 (GCM) 制作的,即使使用 FCM 也仍然可以工作,但如果您想使用 FCM 的有效负载,则必须升级此服务工作线程代码以处理有效负载在通知中显示请参阅链接 https://firebase.google.com/docs/cloud-messaging/js/receive 上的示例代码。

    2)。如果我想为不同的组提供不同类型的消息怎么办?我真的不知道如何在后端执行此操作.. 上面的代码似乎只能显示一个通知标题?

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

    【讨论】:

      猜你喜欢
      • 2017-03-16
      • 2020-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-23
      • 1970-01-01
      • 2017-04-10
      相关资源
      最近更新 更多