En octubre, publicamos una
entrada del blog sobre cómo funciona el envío de mensajes a través de la nube de Google (Google Cloud Messaging, GCM) con Doze en Android 6.0 Marshmallow para mejorar el desempeño y la utilización del usuario. En este caso, los mensajes con prioridad normal le permiten al dispositivo permanecer en modo Doze, mientras que los mensajes con prioridad alta sacan al dispositivo del modo Doze. Para conseguir un buen ejemplo de su capacidad y prácticas recomendadas en Android, hablamos con el equipo de ingeniería de Twitter.
Twitter ha llevado a cabo una investigación exhaustiva sobre cuáles mensajes deberían recibir una prioridad alta, dado que esta prioridad puede despertar a un dispositivo en suspensión. Para conseguir realizar esta necesidad particular, Twitter quería que los mensajes directos se envíen con una prioridad alta y las menciones quedarían establecidas con prioridad normal.
Luke Millar, gerente de ingeniería de Android en Twitter comentó: «con Android M tenemos la gran habilidad de ser responsables cuando se trata de ahorrar batería. Esta función nos permite especificar cuáles notificaciones despertarán a un dispositivo en suspensión y cuáles no. Normalmente, la decimos a GCM que espere para enviar notificaciones automáticas hasta la próxima vez que el teléfono del usuario se despierte. Sin embargo, los usuarios esperan recibir algunas notificaciones automáticas inmediatamente, como las notificaciones de mensajes directos, así que las establecimos como de alta prioridad. Es genial tener la posibilidad de especificar cuándo y cómo esas notificaciones llegarán a los usuarios».
Para probar Doze, los ingenieros de Twitter siguieron los pasos
descritos en el sitio de desarrolladores de Android. Estos pasos te enseñan a usar comandos adb para crear una simulación de Doze en un dispositivo físico o virtual. Al seguir este método, Twitter pudo probar de forma exitosa cómo funcionan sus prioridades de mensajes en un entorno real.
Otra práctica recomendada que Twitter utilizó fue la transmisión de cargas más grandes, como cuando se envían los
Destacados de Twitter. En este caso, decidieron enviar metadatos en la notificación, que luego se utilizaba para sincronizar la aplicación para conseguir los Destacados solicitados. En otras palabras, no transmitían el contenido de los Destacados en una notificación, sino que activaban un mecanismo de sincronización para actualizar los contenidos de la aplicación.
Para conocer más detalles sobre el uso de GCM con tu aplicación en entornos de espera, consulta la
documentación.
Puedes encontrar más información sobre Google Cloud Messaging y cómo utilizarla en las notificaciones de tus aplicaciones de Android, iOS y web, en el sitio de desarrolladores de Google,
aquí.