Javascript Firebase云消息-如何在service worker中处理数据消息和通知消息

Javascript Firebase云消息-如何在service worker中处理数据消息和通知消息,javascript,firebase-cloud-messaging,service-worker,Javascript,Firebase Cloud Messaging,Service Worker,比如说 self.addEventListener('push', function(event) { if (event.data) { console.log('This push event has data: ', event.data.json()); } else { console.log('This push event has no data.'); } }); 因此,如果我以类型数据或类型通知 json数组结构不同。 对于通知消息,Json响应如

比如说

self.addEventListener('push', function(event) {
  if (event.data) {
    console.log('This push event has data: ', event.data.json());
  } else {
    console.log('This push event has no data.');
  }
});
因此,如果我以类型
数据
或类型
通知

json数组结构不同。 对于通知消息,Json响应如下所示:

{data: {…}, from: "630940678865", notification: {…}, collapse_key: "do_not_collapse"}
如果使用as
data
message发送相同的消息,则响应如下所示

{data: {…}, from: "630940678865", data: {…}, collapse_key: "do_not_collapse"}
因此,要处理通知消息,我需要使用
eventData.notification.title
,但对于数据消息,它将类似于
eventData.data.title

但在客户端级别,我如何检查推送是否用于
通知
或简单的
数据消息

好的,我能够处理消息,这取决于它是否是通知,使用if条件检查键“通知”

但是我认为必须有
API
中的其他方法来处理这个问题

if (eventData.hasOwnProperty("notification")) {