Я использую Gmail, Calendar и Drive API для получения push-уведомлений в моем расширении Chrome через chrome.gcm.onMessage
Но chrome.gcm в настоящее время устарел , и я предполагаю, что chrome.gcm.onMessage перестанет работать в апреле.Есть ли альтернативное решение?Я пытаюсь использовать клиент Firebase JS в качестве сервисного работника, я получаю сообщения в setBackgroundMessageHandler, но они заставляют отображать уведомления на рабочем столе!Я хочу обрабатывать сообщения данных самостоятельно, как я это делал с chrome.gcm.onMessage
manifest.json
"manifest_version": 2,
...
"gcm_sender_id": "103953800507"
...
background.js
navigator.serviceWorker.register('js/firebase-messaging-sw.js')
// Also how does this all play in now with FCM...
chrome.instanceID.getToken({
authorizedEntity: [MY_GCM_SENDER_ID],
scope: "GCM"
}).then(token => {
});
js /firebase-messaging-sw.js
importScripts('https://www.gstatic.com/firebasejs/5.9.1/firebase-app.js');
importScripts('https://www.gstatic.com/firebasejs/5.9.1/firebase-messaging.js');
firebase.initializeApp({
messagingSenderId: [MY_GCM_SENDER_ID] // Same I used to use with chrome.instanceID.getToken I guess???
});
const messaging = firebase.messaging();
messaging.setBackgroundMessageHandler(function(payload) {
console.log('[firebase-messaging-sw.js] Received background message ', payload);
// Customize notification here
var notificationTitle = 'Background Message Title';
var notificationOptions = {
body: 'Background Message body.',
icon: '/images/icon128.png'
};
return self.registration.showNotification(notificationTitle,
notificationOptions);
});