2012-09-10 15 views
8

Tengo un problema relacionado con time_to_live. Recibo mensajes cuando el dispositivo está encendido, pero cuando está fuera de línea no recibo el mensaje o al menos no se envía en los primeros 15 minutos. Estoy enviando el mensaje con retraso mientras está inactivo verdadero y time_to_live 2419200. Alguna idea de lo que está pasando, tal vez haya leído mal la documentación.Android GCM time_to_live problema

Respuesta

17

De la documentación:

delay_while_idle: Si se incluye, indica que el mensaje no debe ser enviada inmediatamente si el dispositivo está inactivo. El servidor esperará a para que el dispositivo se active y solo se enviará el último mensaje para cada valor de collapse_key. Opcional. El valor predeterminado es falso, y debe ser un booleano JSON.

time_to_live: cuánto tiempo (en segundos) el mensaje debe mantenerse en el almacenamiento de GCM si el dispositivo está desconectado. Opcional (el tiempo de vida predeterminado es 4 semanas y debe establecerse como un número JSON). Si usa este parámetro, , también debe especificar un colapso_clave.

No necesita establecer el valor de time_to_live en 2419200. Es el valor predeterminado. Sin embargo, si lo configura también debe establecer la clave de colapso.

collapse_key: una cadena arbitraria (como "Actualizaciones disponibles") que se utiliza para contraer un grupo de mensajes como cuando el dispositivo está fuera de línea, por lo que sólo el último mensaje se envía al cliente. Este está destinado a evitar el envío de demasiados mensajes al teléfono cuando vuelve a estar en línea. Tenga en cuenta que dado que no hay garantía de la orden en la que se envían los mensajes, el "último" mensaje puede no ser realmente el último mensaje enviado por el servidor de la aplicación . Consulte Temas avanzados para para obtener más información sobre este tema. Opcional, a menos que esté usando el parámetro time_to_live, en ese caso, también debe especificar collapse_key.

Para más detalles, compruebe tutorial nuevamente.

+0

Ahora puede tener solo 4 teclas de contracción, así que úselas con prudencia. – Ankit

+7

Aparentemente ya no es necesario configurar la clave colapso_ al configurar time_to_live: https://plus.google.com/u/0/+FrancescoNerieri/posts/AEpCusdNZY9 –