Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Mejores prácticas para la implementación del registro C2DM

Estoy desarrollando una aplicación que utiliza C2DM para recibir notificaciones push. He implementado todo el circuito C2DM (cliente y servidor) y está funcionando bien.

Actualmente mi aplicación tiene un botón para arrancar el registro de C2DM, al recibir el token de identificación de registro de Google llamo a un webservice en mi servidor de aplicaciones para asociar el dispositivo con el ID de registro.

Voy a implementar la autenticación en mi aplicación y tengo algunas preguntas relacionadas con el manejo del registro de C2DM.

  1. La aplicación cliente (es decir, la Android) tendrá una pantalla de inicio de sesión como la primera pantalla para que el usuario pueda introducir las credenciales. Tan pronto como las credenciales se validan, estoy planeando llamar al registro de C2DM para que el usuario se asocie con un token de identificación de registro. ¿Esta bien? En ejecuciones posteriores de la aplicación probablemente almacenaré las credenciales o algún tipo de token para que el usuario no necesite ingresar las credenciales de nuevo. ¿Debería también activar el registro C2DM cuando se inicie la aplicación?
  2. Soy consciente de que Google puede eventualmente actualizar el ID de registro. ¿Es una buena práctica actualizar también la identificación de registro de forma regular? Si es así, ¿cuándo debería ser apropiado? ¿Caduca el token de id de registro?
  3. ¿Qué sucede en el caso raro de una desincronización de la identificación de registro entre el cliente y el servidor (por ejemplo, un nuevo registro de identificación llega al cliente, en medio de un nuevo evento se dispara en el servidor con el antiguo registro de identificación, a continuación La identificación de registro llega al servidor)? ¿Se encargará Google este caso? ¿Debería mi servidor de aplicaciones manejar estos casos?
  4. ¿Qué sucede si el servidor no es accesible cuando llega una nueva identificación de registro de Google? ¿Debo retroceder y programar una alarma para intentarlo de nuevo?
  5. ¿Puedes pensar en otras trampas con esto?

  • Java.net.SocketException: recvfrom falló: ECONNRESET (Conexión restablecida por pares) Más de WIFI
  • App crash en el dispositivo HTC M8 con OS Lollipop para la llamada de servicio web
  • Cómo validar el origen de una invocación de servicio web
  • Android AutoCompleteTextView con datos de un servicio web, problemas para mostrar la lista de sugerencias
  • ¿Cómo guarda de forma segura una orden en la nube, si no puede verificar el pago desde la nube?
  • Java Restful Web Service sólo con Android 4.4 Mobile no otro
  • ¿Cual es mejor? Alto número de llamadas de servicio web (mensajes SOAP) o alta cantidad de datos en un único mensaje de jabón?
  • Cómo recuperar array de objetos como resultado del servicio web KSOAP en Android?
  • 2 Solutions collect form web for “Mejores prácticas para la implementación del registro C2DM”

    1) Despediría el registro C2DM tan pronto como sea posible. Nada en particular, pero como la solicitud es asíncrona, dispararla temprano me ayudará a obtener el ID de registro antes. Sin embargo, no es necesario disparar el registro cada vez que se inicia la aplicación. Una vez es suficiente.

    2) Siempre que Google decida actualizar el reg ID, lo enviará al dispositivo y necesitará hacer los mismos pasos que siguió cuando recibe el reg id por primera vez, es decir, transmitirlo al servidor.

    3 y 4) Es posible que desee revisar esta documentación . Hace hincapié en el hecho de que usted necesita para asegurarse de que usted envíe la identificación de registro a su servidor y seguir intentando. Supongo aquí que si el ID reg se actualiza y su servidor todavía tiene el ID antiguo, no podrá enviar mensajes al dispositivo. Recibirá un 200OK con un código de error de InvalidRegistration que significa un identificador de registro (faltante o) incorrecto.

    5) No puedo comentar mucho – diría que depende del diseño de su aplicación. Pero una cosa que vale la pena destacar es que C2DM todavía está en Beta, así que espera que las cosas sean diferentes en el largo plazo.

    1. Trate de pedir al usuario una selección de cuentas de Google que ya están en el teléfono. La http://code.google.com/p/chrometophone/source/checkout muestra esto. Vea SetupActivity.java para getGoogleAccounts (), etc.
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.