
Minha pergunta é: se o dispositivo do cliente não tiver conexão com a Internet, por um tempo limitado, a solicitação de notificação por push do GCM será adicionada à fila ou qualquer outra coisa? Em caso afirmativo, quanto tempo até que as solicitações sejam descartadas?
Responder1
Então, no oficialguiacomo trabalhar com GCM disse:
Definir a vida útil de uma mensagem
O GCM geralmente entrega as mensagens imediatamente após serem enviadas. No entanto, isso nem sempre é possível. Por exemplo, se a plataforma for Android, o dispositivo poderá estar desligado, off-line ou indisponível de outra forma. Ou o próprio remetente pode solicitar que as mensagens não sejam entregues até que o dispositivo se torne ativo usando oatraso_enquanto_idlebandeira. Por fim, o GCM pode atrasar mensagens intencionalmente para evitar que um aplicativo consuma recursos excessivos e afete negativamente a vida útil da bateria.
Quando isso acontecer, o GCM armazenará a mensagem e a entregará assim que possível. Embora isso seja aceitável na maioria dos casos, existem alguns aplicativos para os quais uma mensagem atrasada pode nunca ser entregue. Por exemplo, se a mensagem for uma chamada recebida ou uma notificação de bate-papo por vídeo, ela só será significativa por um pequeno período de tempo antes que a chamada seja encerrada. Ou se a mensagem for um convite para um evento, será inútil se for recebida após o término do evento.
Você pode usar otempo de Viverparâmetro na solicitação de envio para especificar a vida útil máxima de uma mensagem. O valor deste parâmetro deve ter uma duração de 0 a 2.419.200 segundos, e corresponde ao período máximo de tempo que o GCM armazenará e tentará entregar a mensagem.As solicitações que não contêm esse campo têm como padrão o período máximo de quatro semanas.