Однако, когда уведомление получено у работника службы, и я осматриваю полезную нагрузку event.data.json (), я вижу, что: < /p>
url от webpush.fcm_options.link появляется в уведомлении. Совершенно < /p>
Такое поведение противоречит тому, что предлагает документация, и аналогичные несоответствия были отмечены в сообществах и проблемах Github. Неясно, является ли это преобразование из webpush.fcm_options.link в уведомление. 11.2.0). < /P>
Что я отправил (в FCM):
запрос сообщения по адресу: < /p>
Код: Выделить всё
https://fcm.googleapis.com/v1/projects/YOUR_PROJECT_ID/messages:sendПолетная нагрузка:
{ "message": { "token": "DEVICE_REGISTRATION_TOKEN", "notification": { "title": "Background Message Title", "body": "Background message body" }, "webpush": { "fcm_options": { "link": "https://your-target-url.com/some/path" }, "notification": { "icon": "/path/to/icon.png" } } } }< /code> < /p>
Что я ожидал.payload.fcmOptions.link< /code> < /p>
Что на самом деле произошло:
Полезная нагрузка, полученная в событии push, выглядела следующим образом: < /p>
{ "notification": { "title": "Background Message Title", "body": "Background message body", "icon": "/path/to/icon.png", "click_action": "https://your-target-url.com/some/path" }, "data": {}, "from": "FCM_SENDER_ID", "messageId": "MESSAGE_ID" }< /code> < /p>
Итак, click_action присутствует внутри уведомления, но Webpush или Fcmoptions полностью отсутствует. event.data.json ();
console.log('link найден через уведомление.// Trying to access these fails:
// console.log(payload.webpush?.fcm_options); // undefined
// console.log(payload.fcmOptions); // undefined
< /code>
}
}); `< /p>
Вопросы < /p>
- Почему URL -адрес указан в WebPush.fcm_options.link как уведомление. намеренный и документированный? надежно?
Подробнее здесь: https://stackoverflow.com/questions/795 ... tion-in-sw
Мобильная версия