Android 6.0 Marshmallow вводит новую функцию  экономии энергии , которая называется «Doze«. Устройство входит в Doze, когда пользователь  не использует его в течение определенного периода времени, и экран устройства выключен. В этот период, система откладывает активности приложений (application activity) для экономии энергии. Система периодически пробуждает устройство на короткое время, это так называемое «окно ожидания обслуживания» ( idle maintenance window), чтобы выполнить синхронизацию приложений и другие ожидающие операции.

 

Если ваше приложение использует Google Cloud Messaging (GCM), Вам нужно будет принять во внимание следующие варианты поведения для пользователей, устройства которых находятся в режиме Doze.

В GCM есть два типа приоритета для сообщения — высокий приоритет и обычный приоритет. При использовании высокого приоритета, GCM попытается доставить сообщения немедленно, пробуждая устройства в Doze, при необходимости. В  Android Marshmallow ничего не изменилось здесь.

Однако при использовании нормального приоритета (приоритет по умолчанию), существует ряд различий в поведении при нахождении устройства в Doze, включая:

  • Наиболее важное изменение: сообщения будут выполняться в пакетном режиме для устройств в Doze. Когда устройство входит в окно ожидания обслуживания, пакеты сообщений будут получены.
  • Удаляются сообщения, для которых time_to_live срок действия истекает в то время как устройство находится в Doze (включая TTL=0).

Несмотря на это, рекомендуется, в случае крайней необходимости, устанавливать обычный приоритет  вашим уведомлениям, поскольку это сведет к минимуму расход  батареи. Они по-прежнему будут синхронизированы во время Doze режима, как описано выше и, конечно, когда устройство выходит из Doze.

Высокий приоритет сообщения должен использоваться только в приложениях, которые должны генерировать немедленное оповещение конечного пользователя, например, сообщение приложения чата или входящий телефонный звонок.

Чтобы узнать больше о приоритетах сообщений Google Cloud Messaging, посетите сайт  Google Developers site.

Автор Laurence Moroney, Developer Advocate

 

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.