GCM "registration id" ya no está registrado

Seguí los pasos dados en Google GcmClient app y generar registrationId que se almacena en mi SharedPrefs. De esta manera, register-id se vuelve a generar sólo si se modifica appVersion.

Este reg-id se envía a mi servidor (basado en Rails) y las notificaciones se envían al dispositivo android a través de una gema GCM ( https://github.com/spacialdb/gcm ).

El problema: A veces el servidor recibe "no registrado" respuesta aunque el mismo registro-id ha trabajado sólo unos minutos antes de la falla.

Cuando eso sucedió, traté de "borrar datos" y el reg-id recién generado es diferente del último … Es posible que un registro-id caduque sin que se actualice la aplicación (por supuesto no estoy llamando Desregistrar

He leído los mensajes sobre problemas similares y google, pero aún no se puede determinar lo que es común para todos los errores. El problema se produjo también cuando descargué la aplicación de GoogleStore (en producción) y sin actualizar la aplicación.

El método principal que se registra en GCM:

public static void register(Context context, IGcmRegisterationListener listener) { try { MyLog.v("GcmClient: Registering for GCM..."); Context appContext = context.getApplicationContext(); // Check device for Play Services APK. If check succeeds, proceed with // GCM registration. if (checkPlayServices(appContext)) { MyLog.v("GcmClient: Looking for GCM regId locally"); String currentRegId = getRegistrationIdFromPrefs(appContext); if (currentRegId == null) { MyLog.v("GcmClient: GCM regId not found."); registerInBackground(appContext, listener); } else { MyLog.v("GcmClient: GCM regId found: " + currentRegId); listener.onGcmRegistered(context, currentRegId); } } else { MyLog.i("GcmClient: No valid Google Play Services APK found."); listener.onGcmRegistrationFailed(); } } catch (Exception ex) { MyLog.i("GcmClient: GCM registration failed: " + Log.getStackTraceString(ex)); listener.onGcmRegistrationFailed(); } } 

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.