¿Debo generar una aplicación de registro de GCM de Android específica o específica para el usuario?

Estoy desarrollando una aplicación que tiene la funcionalidad de inicio de sesión. Estoy generando sólo un ID de registro de gcm por aplicación. Si otro usuario firma en la misma aplicación, comenzará a recibir notificaciones destinadas al usuario anterior. ¿Cómo manejar esta situación, para que cada usuario reciba la notificación destinada a su / ella? ¿Debo generar gcm reg id para cada usuario? ¿Cuál es la forma estándar de manejar esta situación?

Usted podría intentar las cosas siguientes:

  1. Cuando el usuario cierre la sesión, envíe una solicitud para eliminar el token de su servidor y borrarlo en su aplicación.
  2. Una vez que el usuario cierre la sesión, simplemente puede eliminar la asociación de "ID de usuario" a "GCM Token" (O ID de registro) en su servidor. Y cuando alguien vuelve a entrar, usted hace una nueva asociación con ese Token.

El Token de GCM es específico de la aplicación, pero la asociación que realices en tu servidor es totalmente tuya.

Y no puedo insistirlo lo suficiente, el token generado por GCM es APP SPECIFIC . Si el usuario inicia sesión en varios dispositivos, su servidor debe manejarlo, asociando el user ID a varios Registration ID .

Un ID emitido por los servidores GCM a la aplicación de Android que le permite recibir mensajes. Una vez que la aplicación de Android tiene el ID de registro, se envía al servidor de aplicaciones de terceros, que lo utiliza para identificar cada dispositivo que se ha registrado para recibir mensajes para una aplicación de Android determinada. En otras palabras, un ID de registro está vinculado a una determinada aplicación de Android que se ejecuta en un dispositivo concreto.

Y desde los documentos, su servidor también debe:

Antes de poder escribir aplicaciones cliente que utilicen GCM, debe tener un servidor de aplicaciones que cumpla los siguientes criterios:

  • Capaz de comunicarse con su cliente.
  • Capaz de enviar las peticiones correctamente formateadas al servidor de conexión GCM.
  • Capaz de manejar las solicitudes y volver a enviarlas utilizando retroceso exponencial.
  • Capaz de almacenar la clave del API y los tokens de registro del cliente.
  • Capaz de generar identificadores de mensaje para identificar de forma única cada mensaje que envía. Los ID de mensaje deben ser únicos por ID de remitente.

EDIT: Puede leer más acerca de GCM aquí .

Para obtener más información, también puede leer más acerca de la mensajería del grupo de dispositivos .

También puede descargar algunos ejemplos de código aquí .

Debe almacenar regID según el usuario.

Esto se debe a que hay casos de prueba que user1 se desconecta y user2 se conecta. En ese caso, si ha almacenado regID específica de la aplicación y no vinculante con el usuario, entonces user2 también recibirá notificación.

Así que usted necesita para almacenar regID como por usuario, aplicación y, así como el dispositivo específico.

Por supuesto, sí, cada vez que alguien descarga tu aplicación, tu aplicación debería registrarla en el GCM y recibir un token de registro, esto debe ser enviado a tu servidor de aplicaciones, en el servidor de aplicaciones necesitas resolver quién envias la notificación. también. Probablemente deberías enviar alguna información de inicio de sesión y un token de registro al iniciar sesión para que puedas identificar a cada persona y luego escribir algunos php o JQuery para enviarlos a usuarios individuales o todos. También debe enviar el token reg cada vez que iniciar sesión ya que estos pueden cambiar sin previo aviso.

El servidor de aplicaciones debe ser capaz de gestionar la eliminación de ficheros de registro no utilizados y la adición de nuevos

Cada dispositivo de android genera un identificador de GCM único. Push notificación desde el lado del servidor enviará de acuerdo con el id del dispositivo. Así que en la hora de inicio de sesión puede enviar GCM reg id a su servidor. Por lo tanto, desde el lado del servidor enviar notificación enviará al dispositivo .., que es la funcionalidad real.

Espero que esto ayude

  • ¿Debería llamar a WakeLock antes de crear una notificación?
  • Problema de registro del dispositivo Gcm en android
  • No se puede instanciar GcmBroadcastReceiver
  • Enviar notificación GCM a un dispositivo sin conexión
  • Gestionar notificaciones múltiples / apilar notificaciones desde GCM
  • Id de registro es nulo de gcm en android 2.3.3, 2.3.5 pero no es nulo y funciona en android 2.3.4, 4.0.4
  • No autorizado al llamar a Google GCM
  • Enviar notificación múltiple a GCM usando JSON
  • Múltiples oyentes de GCM que utilizan GcmListenerService
  • Notificación push de Android GCM para aplicaciones de localización
  • Tengo esta respuesta del servidor GCM {"success": 1} Pero la notificación no llega al dispositivo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.