🔋 Neovolt.ru ➡ Блог ➡ Android
В инженерном блоге компания Google уделила внимание наболевшей проблеме про чрезмерный расход заряда батареи в Android-устройствах.
Некоторые приложения разряжают аккумулятор телефона слишком быстро. Пользователь едва успевает оценить достоинства программы, как уже спешит удалить её из-за катастрофического «жора».
По мнению Google, обычно причиной «утечки» заряда становится плохая реализация Push-уведомлений Android. Ниже вы узнаете, как всё это работает и что полезного тут можно извлечь.
Как оптимизируют Push-уведомления на Android?
Оптимизация программ для Android — единственный путь бережного отношения к заряду аккумулятора. Вот, что об этом говорят сами разработчики мобильной платформы, прилагая пример создания уведомлений Twitter (практически не разряжает аккумулятор).
💭 Как им это удалось сделать? Как повторить этот успех и другим разработчикам?
Сейчас клиентское приложение Twitter обладает самой низкой нагрузкой на телефонные ресурсы среди прочих мобильных приложений (по данным исследовательского софта Android Developers). Это целиком результат взаимодействия с отделом программных инноваций Google.
🔎 Команда социальной сети решила не таить секрет и поделилась им со всеми.
Разработчики приложений прекрасно понимают, как важно сохранять время работы смартфона от одной зарядки максимально длительным. Поэтому они стремятся сократить нагрузку на вычислительную часть устройства и тем самым снизить потребление заряда в фоновых, энергосберегающих и активных режимах работы.
💡 Сегодня автономность — это чуть ли не самая востребованная характеристика для пользователей.
Устанавливая Twitter на свой телефон, вы получаете целый набор технологий, которые с умом используют ресурсы мобильного гаджета. Давайте посмотрим, что же это за решения.
Основные принципы оптимизации приложений в Android по нагрузке на аккумулятор
По опыту разработчиков Android-клиента Twitter (в том числе в ходе A/B-тестирования) и после перехода на новый набор API в Firebase Cloud Messaging (FCM), реализация Push-уведомлений на Android должна учитывать следующие виды оптимизации.
- Используются резервные App Standby Buckets (функция из Android 9.0 Pie) для ограничения числа приоритетных сообщений.
- Сообщения с высоким приоритетом должны быть зарезервированы для уведомлений, с которыми пользователи чаще взаимодействуют.
- Важно добиться того, чтобы из Doze-режима не задерживались по-настоящему важные сообщения, когда как остальные информационные или новостные — оставались в резерве.
- Необходимо правильно классифицировать сообщения FCM с высоким приоритетом на базе исследований и тестирования процессов взаимодействия пользователя с программой или сайтом.
- Не включайте излишние метаданные в нагрузку к обычному уведомлению — лишь 1% сообщений должен использовать превадрительную выборку (данные больше 4 Кб), поэтому не следует злоупотреблять такими методами.
- Начиная с Android 8.0 Oreo разработчики могут использовать каналы уведомлений. Например, в Twitter их 9 с разной степенью важности — лишь экстренные Push и заявления по безопасности стоят в высоком приоритете, когда как 7 остальных относятся к низкоприоритетным сообщениям.
Google: как сделать так, чтобы пользователь не хотел выключать Push-уведомления на Андроид?
Вот, что помогает разработчикам приложений завоевать лояльную аудиторию пользователей, по мнению Google.
- Переход на FCM.
- Установка приоритета для уведомлений.
- Ограничение предварительной выборки.
- Значительные уступки в проектировании каналов сообщений в пользу энергосбережения.
Нагрузка на метаданные и навязчивые попытки обогатить работу пользователей с Push-уведомлениями могут всё испортить. Отсутствие оптимизации может превратить любой смартфон в кусок бесполезного пластика с вечно разряженной батареей.
▶ Посмотрите на другие статьи из мира науки и аккумуляторов
Напишите в комментарии, появилась ли у вас привычка выключать уведомления для приложений на Android-смартфоне? Например, многие сразу же «отключают» пул магазинов, пиццерий, очистки памяти и прочих замусоривающих «шторку» приложений.