Подтвердить что ты не робот

GCM Error = MissingRegistration отправка сообщений через JSON

Я тестирую push GCM через Fiddler

Headers:

User-Agent: Fiddler
Authorization: key=AIzaSyAkXfcuLLCZ-5n18wwO6XeJ13g-z9ja
Host: android.googleapis.com
Content-Length: 286

Тело

{"registration_ids":["APA91bHyn8YHcH_vSuOo7_A0PMgF5SU1K0FebOFGKXYTqpN5x4eD0tVBvzQLn749TVcczN5gSjB1wqf5AzYfxFI_qskA1Nzipf-9MfdEom1PI1vkFqKIg9B8vZvPLOLozE7jaRzELuyDzpFRbO3Xh5lT-KDA"],"collapse_key":"8b990f5a-78fc-4bad-b242-ffc740a750fb","data":{"message":"message to device"}}

У меня есть ошибка

Error=MissingRegistration

Где моя проблема? Все идентификаторы верны.

4b9b3361

Ответ 1

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

Content-Type: application/json

Если Content-Type опущен, предполагается, что формат является простым текстом.

И для обычного текста идентификатор регистрации передается с параметром registration_id вместо registration_ids, что объясняет вашу ошибку MissingRegistration.

Ответ 2

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

как показано ниже:

https://gcm-http.googleapis.com/gcm/send
Content-Type:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA

{ "data": {
    "score": "5x1",
    "time": "15:10"
  },
  "to" : "APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx..."
}

Ответ 4

Swift 5

In my case receiver token was missing and after put the fcm receiver token its work fine for me