Неправильная ссылка в веб-пуше Firebase

# #firebase #firebase-cloud-messaging #web-push

Вопрос:

Я использую Firebase для веб-push-уведомлений. Мой работник firebase-messaging-sw.js -это:

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

const FIREBASE_CONFIG = {
    apiKey: "...",
    authDomain: "...",
    projectId: "...",
    storageBucket: "...",
    messagingSenderId: "...",
    appId: "...",
    measurementId: "..."
};

firebase.initializeApp(FIREBASE_CONFIG);

firebase.messaging().onBackgroundMessage((payload) => {
    console.log(JSON.stringify(payload));
    payload.notification.title = "Custom Title";
});
 

Я тестирую его в настольном браузере (Chrome, Linux).
Окно с нажатием содержит правильный текст и кнопку «Активировать», которая ведет к https://mysite/FCM_PLUGIN_ACTIVITY .

приставка.журнал показывает следующее:

 {
    "from": "...",
    "collapseKey": "do_not_collapse",
    "notification": {
        "title": "Hi",
        "body": "Hello",
    },
    "data": {
        "alert": "test",
        // ...
    },
    "message": {
        // ...
    },
}
 
  • Что такое FCM_PLUGIN_ACTIVITY ? Я не вижу этой строки внутри payload . Я вижу , что в примерах payload.notification может содержаться click_action=FCM_PLUGIN_ACTIVITY , но мой не содержит.
  • Могу ли я изменить сообщение перед показом? Если изменения payload.notification в onBackgroundMessage() нем не возымеют эффекта.
  • Я могу отправить сообщение через self.registration.showNotification() (https://firebase.google.com/docs/cloud-messaging/js/receive), но как отменить firebase-сообщение (показаны оба)?