带有推送事件数据的推送通知



我正在尝试使用GCM推送通知,能够在推送事件上显示硬编码数据或消息的通知。但是当我尝试使用数据对象作为Json推送自定义消息时,推送事件正在触发,但是,数据对象总是以空显示。

Service worker代码:sw.js

 self.addEventListener('push', function(event) {
 console.log('Received a push message', event);
 console.log("event data",event.data);//here data is giving as null
var data=event.data.json();
var title= data.title||'No tiltle';
 var body= data.message||'no messgae';
event.waitUntil(
self.registration.showNotification(title, {
  body: body,
  icon: icon,
  tag: tag

  })
  );
  });
我使用第三方网站(requestmaker.com)来检查通知。我发送的格式如下
 URL:https://android.googleapis.com/gcm/send
 content-type:application/json
 authorization:key=XXXXXXXXXX

下面是数据格式

 {
 "registration_ids":["someid"],
    "data":{"title":"hai",
    "body":"hello new message"
   }
 }

我如何在Push事件中获得数据,并以哪种格式发送数据作为请求,以便我可以在Push事件(Event .data)上获得该数据

您可以访问通知点击触发事件的数据。

self.addEventListener('notificationclick', function(event) {
 // here data you access from event using event.notification.data
  console.log('On notification click: ', event.notification.tag);
}

推送通知触发后,负载数据不会被发送给service worker。在触发要发送的有效负载的推送通知时,您必须使用浏览器验证密钥。

请参考下面的文档了解详细信息。https://developers.google.com/web/updates/2016/03/web-push-encryption?hl=en

相关内容

  • 没有找到相关文章