ошибка: MismatchSendedId при попытке отправить уведомление Web 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, поэтому другие ответы не помогли решить мою проблему.

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


person Jorge Cuevas    schedule 09.10.2016    source источник


Ответы (2)


Я также испытывал то же самое. Даже после перепроверки дюжины раз, что манифест был правильно написан и установлен и что API_KEY и Registration_id верны. Но теперь я заметил, что проблема заключалась в том, что я не копировал всю ссылку URL. Example if your endpoint url is: endpoint: https://android.googleapis.com/gcm/send/c_hMYQ0IJEg:APA91bHugFROB5EKLlwFKPjc7lRs_YZ7nBV655oftqdKPtzsmoz149d1BLVntgMpRnLHGqTVn6W7n7je4SoezFhfbUMdwxAot

Тогда subsctionID будет "c_hMYQ0IJEg:APA91bHugFROB5EKLlwFKPjc7lRs_YZ7nBV655oftqdKPtzsmoz149d1BLVntgMpRnLHGqTVn6W7n7je4SoezFhfbUMdwxAot".

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

person Gideonamani    schedule 15.10.2016
comment
Вот оно! Это правильный ответ, приятно знать, поскольку пример формы Google использовал только эту последнюю часть. - person Jorge Cuevas; 17.10.2016

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

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

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

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

person collimarco    schedule 10.10.2016
comment
Спасибо за ответ colimarco, дело в том, что я уже трижды проверил соответствие идентификатора отправителя и ключа API, а также использовал совершенно другой идентификатор отправителя проекта и ключ API на новом порту сервера, чтобы убедиться, что не осталось конфигурации от последний, у вас есть еще советы по этому вопросу? - person Jorge Cuevas; 11.10.2016
comment
@JorgeCuevas В предыдущие месяцы я оказывал поддержку многим пользователям, столкнувшимся с этим сообщением об ошибке, и ошибки всегда были перечисленными выше. Последнее предположение: вы пытались использовать GCM вместо Firebase? - person collimarco; 11.10.2016