Кажется, я застрял, часами пытаясь понять, что пошло не так. Такое ощущение, что я что-то совсем не понимаю. Так вот в чем дело:
Пытаясь заставить C2DM работать, я сначала зарегистрировался в службе Google C2DM с выделенным адресом электронной почты. Это тот, который я хочу использовать для отправки сообщений с сервера клиентам. Затем я добавил код в клиентское приложение и зарегистрировал устройство в C2DM. Полученный регистрационный идентификатор отправляется на сервер и сохраняется в БД.
Проблема возникает, когда я пытаюсь отправить сообщения (независимо от того, использую ли я curl
или php) на устройства. Отправка на учетную запись, которую я использовал для регистрации в службе C2DM, в первую очередь работает без нареканий. Однако при отправке на любое другое устройство возникает ошибка
Error=NotRegistered
. И я просто не понимаю, почему. Я использую auth key
из учетной записи регистрации и registration id
, которую я создаю из клиентов. Я (повторно) создавал registration id
сотни раз, но в соответствии с кодовой страницей Google
Error=NotRegistered
означает, что registration_id
недействителен.
Попытка уточнения:
Я отлично могу отправлять сообщения на регистрационный идентификатор, связанный с учетной записью Google, которую я использовал для регистрации в C2DM. Все остальные попытки отправки сообщений на другие регистрационные идентификаторы завершаются неудачно. Таким образом, я могу отправлять сообщения на один регистрационный идентификатор.
Может быть, мне следует проверить свое понимание C2DM: ограничен ли сервер отправкой сообщений на одно устройство? Я думал, что сервер может отправлять сообщения каждому устройству, отправившему свой регистрационный идентификатор...
Что я упускаю/не понимаю?
Спасибо миллион, Стефф