Ошибка уведомления веб-push с сообщением об ошибке

Я хочу понять, что такое веб-push и как я могу использовать для своих проектов … Найден этот пример https://mobiforge.com/design-development/web-push-notifications Но всегда получаю сообщение об ошибке при попытке отправить уведомление через Firebase Cloud Messaging (FCM – новая версия GCM)

{"multicast_id":6440031216763605980,"success":0,"failure":1,"canonical_ids":0,"results":[{"error":"InvalidRegistration"}]} 

Что значит «InvalidRegistration»? Что я делаю неправильно?

Мой php curl, но я уверен, что здесь нет проблем

 $link = "https://gcm-http.googleapis.com/gcm/send"; $header = array(); // $header[] = "Content-length: 0"; $header[] = "Content-type: application/json"; $header[] = "Authorization: key=AIzaSy..."; $contentArray = array( "collapse_key" => "All", "registration_ids" => array( "gAAAAABX06BLKhA4n1yHNlsyzu02wxsDjZf89oxIljwM4ZdLpMZU7ty64TFEYahPQZaTmCeYlJo-WDWnfFHOKXzKURhNtRWmN0OgBgn9hJdmgatSGoiTkt69TeJpiD8F034WOr5HMEG2", ), "data" => array( "title" => "This is a Title", "message" => "This is a GCM Topic Message!" ) ); $jsonData = json_encode($contentArray); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $link); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData); $string = curl_exec($ch); echo $string; $data['curl'] = curl_errno($ch); if(!curl_errno($ch) && !strpos($string, "503")) $data = array_merge($data, explode("\n", $string)); curl_close($ch); ?><pre><? print_r($data); ?></pre><? 

некоторые из Cosole.log

 ServiceWorker registration successful with scope: https://.../app/ PushSubscription { endpoint="https://updates.push.ser...rjYvTTapou7WcEDgu3V7IOY", options=PushSubscriptionOptions, getKey=getKey(), ...} PushSubscription { endpoint="https://updates.push.ser...rjYvTTapou7WcEDgu3V7IOY", options=PushSubscriptionOptions, getKey=getKey(), ...} gAAAAABX06OYvBIk4q2rRF3AsE6UwRYUpzpZ0jpuiWz6TRrSptb8_cBKjy8Ci-_u5UtAyiGfAYJ_ycYnJjoukSuez7BN6UnSX-GL_EWNAWzEpAVMhCT2wrjYvTTapou7WcEDgu3V7IOY 

Solutions Collecting From Web of "Ошибка уведомления веб-push с сообщением об ошибке"

Попробуйте проверить идентификатор подписки, который вы использовали.

Как упоминалось в разделе «Проверить ответ» ,

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

Как уже говорилось ниже, при обращении к GCM обязательно используйте свой собственный ключ API и идентификатор подписки при запуске команды cURL.

Для получения дополнительной информации, пожалуйста, проверьте документацию о том, как отправить запрос из командной строки для GCM, чтобы нажать сообщение .

Это не работает. Я много раз пробовал. здесь ниже, как я пытался в POSTMan

введите описание изображения здесь

По моему опыту, имя_регистрации, которое вы используете, похоже, связано с подпиской на браузер Firefox. Но вы пытаетесь отправить его на сервер Chrome.

Chrome registration_id должен выглядеть так:

APA91bGdUldXgd4Eu9MD0qNmGd0K6fu0UvhhNGL9FipYzisrRWbc-qsXpKbxocgSXm7lQuaEOwsJcEWWadNYTyqN8OTMrvNA94shns_BfgFH14wmYw67KZGHsAg74sm1_H7MF2qoyRCwr6AsbTf5n7Cgp7ZqsBZwl8IXGovAuknubr5gaJWBnDc

Это довольно новая технология, и более ранние версии кодов по-прежнему доступны на платформе разработчика Google, поэтому не очень легко понять, что делать. Я все еще экспериментирую с этим.

Проверьте этот код , это хороший пример, чтобы понять основы.

Я хотел бы поделиться своим ответом и в этом посте.

Проверьте https://stackoverflow.com/a/40447040/4677062 за ту же недопустимую проблему с идентификационным номером.

Это разрешилось. Работает так, как ожидалось.