I was trying to set this example: https://code.google.com/p/gcm/source/browse/#git%2Fgcm-client up and running.
The GoogleAPI project has been successfully created, according to the guide: http://developer.android.com/google/gcm/gs.html
However, I have the following problem: on some devices I get SERVICE_NOT_AVAILABLE no matter what.
W/System.err: java.io.IOException: SERVICE_NOT_AVAILABLE W/System.err: at com.google.android.gms.gcm.GoogleCloudMessaging.register(Unknown Source)
Some statistics:
- Nexus 7, android 4.2.2: GCM example works perfectly
- Nexus 4, android 4.2: GCM example works perfectly
- Nexus S, android 4.2.2: GCM example works perfectly
- Samsung Galaxy 3: SERVICE_NOT_AVAILABLE in 100% cases
- Samsung Galaxy, android 2.3.6: SERVICE_NOT_AVAILABLE in 100% cases
- Motorola Xoom, android 4.1.2: SERVICE_NOT_AVAILABLE in 100% cases
- HTC Desire HD, android 2.3: SERVICE_NOT_AVAILABLE in 100% cases
It's the same code, the same apk file, various google accounts. I tried to switch back to GCMRegistrar methods and they actually work. So the question is: are new GCM methods in sort of beta? How to make them work on other devices, not just 'pure' Google Android devices?
Update: In fact, I found the solution here