У меня вопрос: если в течение ограниченного времени на клиентском устройстве нет подключения к Интернету, то добавляется ли в очередь запрос push-уведомлений GCM или что-то еще? Если да, то как долго, пока запросы не будут отброшены?

1 ответ1

1

Итак, в официальном руководстве, как работать с GCM сказано:

Установка продолжительности жизни сообщения

GCM обычно доставляет сообщения сразу после их отправки. Однако это не всегда возможно. Например, если платформой является Android, устройство может быть выключено, отключено или иным образом недоступно. Или сам отправитель может запросить, чтобы сообщения не доставлялись до тех пор, пока устройство не станет активным, с помощью флага delay_ while_idle . Наконец, GCM может намеренно задерживать сообщения, чтобы приложение не потребляло чрезмерных ресурсов и отрицательно влияло на срок службы батареи.

Когда это происходит, GCM сохранит сообщение и доставит его, как только это станет возможным. Хотя в большинстве случаев это нормально, есть некоторые приложения, для которых запоздалое сообщение также никогда не будет доставлено. Например, если сообщение является уведомлением о входящем звонке или видеочате, оно будет иметь смысл только в течение небольшого периода времени, прежде чем вызов будет прерван. Или, если сообщение является приглашением на событие, оно будет бесполезным, если оно будет получено после окончания события.

Вы можете использовать параметр time_to_live в запросе на отправку, чтобы указать максимальный срок жизни сообщения. Значение этого параметра должно быть продолжительностью от 0 до 2 419 200 секунд, и оно соответствует максимальному периоду времени, в течение которого GCM будет хранить и пытаться доставить сообщение. Для запросов, которые не содержат это поле, максимальный период составляет 4 недели.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .