
Mi pregunta es si el dispositivo del Cliente no tiene conexión a Internet, por un tiempo limitado, ¿se agrega la solicitud de notificación push de GCM en la cola o algo más? Si es así, ¿cuánto tiempo pasará hasta que se descarten las solicitudes?
Respuesta1
Entonces, en el oficialguíacómo trabajar con GCM dijo:
Establecer la vida útil de un mensaje
GCM suele entregar los mensajes inmediatamente después de su envío. Sin embargo, es posible que esto no siempre sea posible. Por ejemplo, si la plataforma es Android, el dispositivo podría estar apagado, fuera de línea o no disponible. O el propio remitente podría solicitar que los mensajes no se entreguen hasta que el dispositivo se active mediante el uso delretraso_mientras_inactivobandera. Finalmente, GCM podría retrasar intencionalmente los mensajes para evitar que una aplicación consuma recursos excesivos y afecte negativamente la duración de la batería.
Cuando esto suceda, GCM almacenará el mensaje y lo entregará tan pronto como sea posible. Si bien esto está bien en la mayoría de los casos, hay algunas aplicaciones para las cuales es posible que nunca se entregue un mensaje retrasado. Por ejemplo, si el mensaje es una llamada entrante o una notificación de video chat, solo tendrá significado durante un pequeño período de tiempo antes de que finalice la llamada. O si el mensaje es una invitación a un evento, será inútil si se recibe una vez finalizado el evento.
Puedes usar eltiempo para vivirparámetro en la solicitud de envío para especificar la vida útil máxima de un mensaje. El valor de este parámetro debe tener una duración de 0 a 2.419.200 segundos y corresponde al período de tiempo máximo durante el cual GCM almacenará e intentará entregar el mensaje.Las solicitudes que no contienen este campo tienen por defecto un período máximo de 4 semanas.