Android GCM получить оригинальный идентификатор канонического идентификатора

Я пытаюсь отправить push-обновление на некоторые устройства Android. В то же время некоторые из них получили новый идентификатор, поэтому я, Google, сообщаю, что есть канонические идентификаторы. Из документации я прочитал:

Если message_id установлен, проверьте для registration_id:

Если установлен регистрационный идентификатор, замените исходный идентификатор новым значением (каноническим идентификатором) в базе данных вашего сервера. Обратите внимание, что исходный идентификатор не является частью результата, поэтому вам необходимо получить его из списка registration_ids, переданного в запросе (с использованием того же индекса).

Я пропускаю часть или это двусмысленно, если вы отправляете более одного регистрационного идентификатора в Google?

Мой запрос (заменены идентификаторы для удобства чтения):

"{"data":{"favorite":1},"registration_ids":["1","2","3","4","5","6"]}"

Ответ от Google:

{
  "multicast_id":7917175795873320166,
  "success":6,
  "failure":0,
  "canonical_ids":4,
  "results":[
    {"registration_id":"3","message_id":"m1"},
    {"message_id":"m1"},
    {"message_id":"m1"},
    {"registration_id":"3","message_id":"m1"},
    {"registration_id":"3","message_id":"m1"},
    {"registration_id":"3","message_id":"m1"}
 ]
}

Исходя из этого, я знаю, что идентификатор 3 является правильным, но какие оригинальные идентификаторы я должен заменить на 3? Отправка каждого сообщения для каждого зарегистрированного идентификатора будет пустой тратой. Я прочитал пост здесь на Stackoverflow (GCM и обработка идентификаторов ) решить его для сервера Java, но мой нет (RoR).

Есть идеи, как решить эту проблему?

Ответы на вопрос(1)

Ваш ответ на вопрос