2

このコードは通知がすべて表示されていますが、通知ポップアップではアイコンが表示されず、通知をクリックするだけで閉じることができます。このコードは私が入手したものです(Google's tutorial)。FCMメッセージングサービスワーカーのクリックとアイコンからのChromeプッシュ通知は機能しません。

importScripts('https://www.gstatic.com/firebasejs/3.5.2/firebase-app.js'); 
importScripts('https://www.gstatic.com/firebasejs/3.5.2/firebase-messaging.js'); 

firebase.initializeApp({ 
    'messagingSenderId': 'my id' 
}); 

const messaging = firebase.messaging(); 

messaging.setBackgroundMessageHandler(function(payload) { 
    var title = ''; 
    var body = ''; 

    if(payload && payload.notification) { 
     if(payload.notification.body) { 
      body = payload.notification.body; 

      if(payload.notification.title) { 
       title = payload.notification.title; 
      } 
     } 
    } 

    return self.registration.showNotification(title, { 
     body: body, 
     icon: '/img/logos/logo-short-blue.png' 
    }); 
}); 

self.addEventListener('notificationclick', function(event) { 
    event.notification.close(); 

    var appUrl = '/' + event.notification.data.actionUrl; 

    event.waitUntil(clients.matchAll({ 
      includeUncontrolled: true, 
      type: 'window' 
     }).then(activeClients => { 
      if (activeClients.length > 0) { 
       activeClients[0].navigate(appUrl); 
       activeClients[0].focus(); 
      } else { 
       clients.openWindow(appUrl); 
      } 
     }) 
    ); 
}); 

答えて

0

あなたはプッシュメッセージのペイロードを形成しながら、URLやサーバー側のiconフィールドとしてclick_action使用する必要があります。 Googleのガイドから

1

クリックしてアクションが唯一の安全なHTTPS URLをサポートしています。

関連する問題