Кто-нибудь знает, почему некоторые устройства не получают push-уведомления? - PullRequest
0 голосов
/ 22 ноября 2011

Я недавно работал с C2DM на Samsung Galaxy Tab 10.1 ", работающем по стандарту Honeycomb. Я наконец получил регистрацию устройства и мой сервер отправлял push-сообщения, однако, когда я попытался запустить точно такой же код на Motorola Xoom(под управлением Stock Honeycomb), два планшета Sony (под управлением Stock Honeycomb) и телефон (под управлением CM7.1), ни один из них не работал.

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

У меня есть оператор печати в onRecieve() моего BroadcastReceiver класса, и он печатается каждый раз при регистрации каждого устройства. Он только печатается снова (когда я отправляю push-сообщение) на планшете Samsung. Кто-нибудь знает, почему это может произойти?

Я бы опубликовал некоторый код, но я, честно говоря, не знаю, какую часть моего кода отправлять. Я не могуЯ даже не знаю, серверная ли это или клиентская. Однако я старался как можно больше следовать Документу Google.

1 Ответ

1 голос
/ 22 ноября 2011

Убедитесь, что каждое устройство правильно зарегистрировано и что вы передаете правильный идентификатор устройства при отправке запроса POST в Google. Кроме того, на устройствах должен быть зарегистрирован аккаунт Google. Проверьте все требования здесь: http://code.google.com/android/c2dm/

Кроме того, если устройство уже зарегистрировано, не регистрируйте его снова. Как только он будет зарегистрирован, подтвердите его в onReceive, а если это так, попробуйте отправить фактический push-запрос с полезной нагрузкой.

...