"ошибка": "MismatchSendedId" при попытке отправить уведомление Web Push

Я следую этому руководству, чтобы узнать о реализации веб-push. Я следовал этому руководству, пока не столкнулся с проблемой при использовании curl для отправки уведомления:

curl --header "Authorization: key=<PUBLIC_API_KEY>" --header "Content-Type: application/json" https://android.googleapis.com/gcm/send -d "{\"registration_ids\":[\"<SUBSCRIPTION_ID>\"]}"

Я изменил ключ API и идентификатор подписки с помощью своего ключа Firebase Cloud Messaging и идентификатора подписки, сгенерированного, когда уведомления принимаются в браузере.

Тем не менее я получаю эту ошибку при выполнении curl:

{ "Multicast_id":8346257587601342490,"успех":0,"провал":1,"canonical_ids":0,"Результаты":[{"ошибка":"MismatchSenderId"}]}

Я обнаружил эту ошибку, связанную с push-уведомлениями Android, но не с push-уведомлениями в Интернете, поэтому другие ответы не помогли с моей проблемой.

Кто-нибудь сталкивался с этой проблемой? Что мне не хватает?

2 ответа

Решение

Я тоже испытывал то же самое. Даже после того, как десяток раз перепроверяли, что манифест был правильно записан и установлен и что API_KEY и registration_ids верны. Но теперь я заметил, что проблема была в том, что я не копировал всю URL-ссылку. Пример, если URL-адрес вашей конечной точки:

Тогда идентификатор subctionID будет "c_hMYQ0IJEg:APA91bHugFROB5EKLlwFKPjc7lRs_YZ7nBV655oftqdKPtzsmoz149d1BLVntgMpRnLHGqTVn6W7n7je4SoezFxfb".

Я использовал только последнюю часть, как в "APA91bHugFROB5EKLlwFKPjc7lRs_YZ7nBV655oftqdKPtzsmoz149d1BLVntgMpRnLHGqTVn6W7n7je4SoezFhfbUMdwxAot, почему я получил ошибки, и я догадался,

Это означает, что установка сервисного работника связана с отправителем GCM, который отличается от отправителя GCM, который сгенерировал ключ API.

Из устранения неполадок в Pushpad:

  • Убедитесь, что вы создали и связали manifest.json
  • Проверьте, правильно ли вы ввели gcm_sender_id в manifest.json
  • Проверьте, правильно ли вы ввели GCM API key

Если все правильно, вы также можете попробовать отписаться и подписаться после того, как вы установили правильный gcm_sender_id,