Я пытался установить этот пример: https://code.google.com/p/gcm/source/browse/#git%2Fgcm-client и работает.
Проект GoogleAPI был успешно создан в соответствии с руководством: http://developer.android.com/google/gcm/gs.html
Однако у меня есть следующая проблема: на некоторых устройствах я получаю SERVICE_NOT_AVAILABLE, несмотря ни на что.
W/System.err: java.io.IOException: SERVICE_NOT_AVAILABLE W/System.err: at com.google.android.gms.gcm.GoogleCloudMessaging.register(Неизвестный источник)
Некоторые статистические данные:
- Nexus 7, android 4.2.2: пример GCM отлично работает
- Nexus 4, android 4.2: пример GCM отлично работает
- Nexus S, android 4.2.2: пример GCM отлично работает
- Samsung Galaxy 3: SERVICE_NOT_AVAILABLE в 100% случаях
- Samsung Galaxy, android 2.3.6: SERVICE_NOT_AVAILABLE в 100% случаях
- Motorola Xoom, android 4.1.2: SERVICE_NOT_AVAILABLE в 100% случаях
- HTC Desire HD, android 2.3: SERVICE_NOT_AVAILABLE в 100% случаях
Это тот же код, тот же файл apk, различные учетные записи google. Я попытался вернуться к методам GCMRegistrar, и они действительно работают. Поэтому возникает вопрос: являются ли новые методы GCM в виде беты? Как заставить их работать на других устройствах, а не только на "чистых" устройствах Google Android?
Обновление: На самом деле я нашел решение здесь