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 ).
- Pasar parámetros a GcmTaskService
- Google Cloud Messaging: Valor de carga útil siempre cadena
- Cómo analizar GCM responder a eliminar identificación de registro no válido del servidor con php
- Validación de Token GCM
- GCM de mensajería en la nube de Google a través de proxy
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(); } }
- Un servidor que envía notificaciones push a dispositivos Android e iOS
- Con Android GCM, ¿puede utilizar un campo de datos de JSON profundo?
- Comprobar si la aplicación está abierta durante un evento de GCM onMessage?
- El anular el registro y el nuevo registro de mensajes GCM hace que dos regId sean válidos. ¿Es esto como se pretende?
- Actividad refrescante al recibir la notificación de gcm push
- Cómo usar Google Cloud Connection Server para enviar mensajes de GCM en sentido ascendente
- El ID de registro se convierte en "NotRegistered" sin ninguna razón
- GCM devuelve un tipo de mensaje nulo
- AdjustResize no funciona después de despedir el teclado haciendo clic en el teclado exterior
- Teclado Android personalizado con estilo de diseño de material