2012-09-10 18 views
8

Ho un problema relativo a time_to_live. Ricevo messaggi quando il dispositivo è acceso, ma quando è offline non ricevo il messaggio o almeno non viene inviato nei primi 15 minuti. Sto inviando il messaggio con ritardo mentre è inattivo true e time_to_live 2419200. Qualche idea su ciò che sta accadendo, forse ho letto male la documentazione.Android GCM time_to_live issue

risposta

17

Dalla documentazione:

delay_while_idle: Se incluso, indica che il messaggio non dovrebbe essere inviato immediatamente se il dispositivo è inattivo. Il server attenderà che il dispositivo diventi attivo, quindi verrà inviato solo l'ultimo messaggio per ogni valore collapse_key. Opzionale. Il valore predefinito è false, e deve essere un booleano JSON.

time_to_live: Da quanto tempo (in secondi), il messaggio deve essere mantenuto su GCM archiviazione se il dispositivo non è in linea. Opzionale (la durata temporale predefinita è 4 settimane e deve essere impostata come numero JSON). Se si utilizza questo parametro, , è necessario specificare anche un tasto collapse_.

Non è necessario impostare il valore time_to_live al 2419200. E 'il default value.However, se lo si imposta si dovrebbe anche impostare il collapse_key.

collapse_key: una stringa arbitraria (come ad esempio "Aggiornamenti disponibili") che viene utilizzato per comprimere un gruppo di messaggi come quando il dispositivo è non in linea, in modo che solo l'ultimo messaggio viene inviato al client. Questo è progettato per evitare di inviare troppi messaggi al telefono quando viene ripristinato lo stato . Si noti che poiché non vi è alcuna garanzia dell'ordine in cui vengono inviati i messaggi, il messaggio "ultimo" potrebbe non essere effettivamente l'ultimo messaggio inviato dal server delle applicazioni. Vedi Argomenti avanzati per ulteriori discussioni su questo argomento. Facoltativo, a meno che non si utilizzi il parametro time_to_live: in tal caso, è necessario specificare anche una chiave di compressione .

Per ulteriori dettagli, controllare nuovamente tutorial.

+0

Ora puoi avere solo 4 chiavi di compressione, quindi usali con saggezza. – Ankit

+7

A quanto pare non hai più bisogno di impostare la chiave collapse_ quando si imposta time_to_live: https://plus.google.com/u/0/+FrancescoNerieri/posts/AEpCusdNZY9 –