Ошибка углового push-уведомления в сервисном работнике, неожиданный токен P в JSON в позиции 0 - PullRequest
0 голосов
/ 26 декабря 2018

Я пытаюсь использовать push-уведомление в pwa, но оно не получает уведомление.

На стороне клиента я получаю следующую ошибку

Uncaught SyntaxError: Unexpected token P in JSON at position 0
at Driver.onPush (ngsw-worker.js:1967)
at ngsw-worker.js:1871

Я добавляю изображение, которое включает в себя данные, которые доходят до работника службы

Как видно на предыдущем изображении, поле данных пустое, однако при отправке я добавляю текст

Для тестирования приложения я выпускаю уведомление со следующим текстом:

https://web -push-codelab.glitch.me /

Я уже оцениллюбой вклад.

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Если ваша полезная нагрузка имеет какой-либо формат json, такой как приведенный выше, ошибка не появляется, но уведомление не отображается на вашем клиенте, и никакое другое сообщение об ошибке не отображается.Вы должны использовать определенный формат JSON.Одна минимальная рабочая полезная нагрузка:

{"уведомление": {"заголовок": "заголовок сообщения", "тело": "тело сообщения"}}

Я не нашел точногои завершите спецификацию для этого json, но здесь (ищите «полезную нагрузку») вы найдете более полный пример.

0 голосов
/ 25 января 2019

Убедитесь, что вы правильно отправляете полезную нагрузку.

Все в порядке, кроме ngsw-worker, не может разобрать полезную нагрузку.

Если вы работаете в Windows, попробуйте следующее:

--payload="{\"hello\":\"world\"}"

И не this:

--payload='{"hello":"world"}'

Пример (с использованием webpush cli):

web-push send-notification --endpoint="https://fcm.googleapis.com/fcm/send/xxx:xxx" --key="xxxxxxxxxxxxx" --auth="xxxxxxxxxx" --payload="{\"hello\":\"world\"}" --vapid-subject="https://localhost:8000" --vapid-pubkey=xxxxxxxxxx --vapid-pvtkey=xxxxxxxx
...