Практика благодарности может уменьшить симптомы депрессии и тревоги, а также улучшить психическое здоровье и удовлетворенность жизнью¹. Постоянная практика благодарности может привести к устойчивым улучшениям, которые длятся месяцами². Приложение для осознанности Gratitude поощряет последовательность с помощью микро-ежедневных журналов, аффирмаций и досок визуализации. Приложение скачали более 6 миллионов раз, оно получило 150 тысяч оценок в 5 звезд, а пользователи сделали в нем 100 миллионов записей.
Разработчики Дивидж Гупта (Divij Gupta) и Нарендра Аанджна (Narendra Aanjna) создали виджеты для каждого из основных путей пользователя в приложении. Цель состояла в том, чтобы пользователи могли взаимодействовать с приложением в повседневной жизни, не открывая его.
Благодаря виджетам пользователи могут прямо на главном экране видеть подсказки для ведения дневника, аффирмации, изображения с доски желаний и статистику. Это упростило ежедневную рефлексию и привело к росту удержания на 25% среди пользователей виджетов и примерно 1000 записей в дневнике в неделю. Повышение лояльности пользователей приводит к ощутимым результатам для их здоровья: формированию устойчивых привычек, которые поддерживают психическое благополучие в долгосрочной перспективе.
"Виджеты помогли нам сделать приложение более заметным в повседневной жизни пользователей, предоставляя быстрые напоминания и вдохновляющие цитаты прямо на главном экране. Это повысило вовлеченность и помогло пользователям не бросать занятия".
Задача: модернизировать игру, не снижая удержание
Хотя влияние виджетов было очевидным, первоначальная реализация RemoteViews на основе XML в Gratitude создала технический долг. По мере того как система проектирования приложения развивалась в сторону Material 3, устаревшие виджеты становилось все труднее согласовывать с современным пользовательским интерфейсом. Каждое визуальное обновление требовало ручной работы с XML и хрупких обходных путей, что замедляло работу разработчиков.
Решение, часть 1. Переход с XML на Jetpack Glance
Чтобы модернизировать виджеты, команда обратилась к Jetpack Glance.
Сначала они изучили рекомендации по размещению информации в ограниченном пространстве на страницах Виджеты на Android и Стандартные макеты виджетов.
Затем они перенесли набор виджетов в Jetpack Glance. Декларативный фреймворк позволил разработчикам перейти от планирования к выпуску менее чем за месяц, сэкономив около 50% времени разработки. Кроме того, они получили два дополнительных преимущества:
- Замена ограничивающих макетов XML декларативным кодом упростила чтение и поддержку базы кода, а также снизила нагрузку на разработчиков.
- Jetpack Glance позволил команде с легкостью реализовать динамические цвета, гибкое изменение размера и расширенные параметры конфигурации. Благодаря этому виджеты гармонично вписываются в уникальный макет главного экрана пользователя.
На GIF-изображении ниже показаны два виджета благодарности и адаптивное изменение размера:
Хотя Glance упростил пользовательский интерфейс, команда отметила, что тестирование на различных OEM-лаунчерах также было необходимо для обеспечения согласованности макета на разных устройствах.
Команда также реализовала сгенерированные предпросмотры виджетов, чтобы пользователи могли видеть персонализированные предпросмотры. Они отметили, что тестирование сгенерированных предпросмотров может быть медленным, так как их частота ограничена для экономии заряда батареи. Чтобы обойти ограничение частоты запросов для тестирования, используйте команду adb:
adb shell device_config put systemui generated_preview_api_reset_interval_ms 0
Благодаря этому виджет Gratitude стал качественным и уникальным.
Решение, часть 2. Продвижение новых виджетов в приложении
Затем разработчики использовали закрепление виджетов в приложении, чтобы повысить их видимость и количество установок. Если вы предложите пользователям установить виджеты в подходящий момент, им не придется искать их в системном меню. На GIF-изображении ниже показан нижний экран Gratitude, на котором можно добавить виджеты из приложения.
Команда также провела рефакторинг пакетов виджетов, что изменило пути получателей виджетов и привело к удалению виджетов с главных экранов пользователей. Используя ранее сохраненные пользовательские пометки для идентификации пользователей виджетов, они активировали ещё одно приглашение requestPinGlanceAppWidget, предлагающее пользователям виджетов использовать новые модернизированные виджеты.
Совет для разработчиков. Чтобы сохранить установленные виджеты при переходе с RemoteViews на Jetpack Glance, убедитесь, что у GlanceAppWidgetReceiver в манифесте Android то же название класса и пакета, что и у предыдущего AppWidgetProvider. Если вам нужно изменить название класса или расположение пакета, воспользуйтесь закреплением в приложении, чтобы помочь пользователям восстановить виджеты.
Стратегия работает: виджеты используют 10% от общего числа активных пользователей за день.
Заключение
История Gratitude показывает, что виджеты могут быть инструментами для формирования привычек. Добавив на главный экран функции для самоанализа, команда повысила лояльность пользователей. Разработчики Gratitude сократили технический долг и модернизировали виджеты с помощью Jetpack Glance, а также предложили пользователям добавлять виджеты в приложении.
"Наш опыт работы с Jetpack Glance был превосходным. Подход на основе Compose кажется гораздо более современным, гибким и соответствующим тому, как мы создаем остальную часть нашего пользовательского интерфейса сегодня. Она позволяет создавать более естественные макеты виджетов, повторно использовать знакомые компоненты Compose и быстрее вносить изменения в интерфейс. Многие ограничения интерфейса, с которыми мы сталкивались при использовании RemoteViews, больше не являются проблемой. Это упростило создание виджетов, которые лучше соответствуют дизайну и возможностям нашего приложения". – Дивидж Гупта (Divij Gupta)
Начало работы
Чтобы начать работу с Jetpack Glance и узнать больше о технологиях, упомянутых в этой статье, ознакомьтесь со следующими руководствами:
- Обзор Jetpack Glance
- Виджеты на Android
- Канонические макеты виджетов
- Предварительный просмотр сгенерированных виджетов
- Уровни качества виджетов
- Закрепление виджетов в приложении
- Динамические цвета
- Изменение размера
- Действия по настройке
Другие примеры использования виджетов:
- Приложение "Контакты" от Google создало новый виджет на 25% быстрее с помощью Jetpack Glance
- Как разработчики SoundCloud создали виджет "Понравившиеся треки" всего за две недели с помощью Jetpack Glance
1: Diniz, G., Korkes, L., Tristão, L. S., Pelegrini, R., Bellodi, P. L., & Bernardo, W. M. (2023). The effects of gratitude interventions: a systematic review and meta-analysis. einstein (Sao Paulo)., 21, eRW0371. https://doi.org/10.31744/einstein_journal/2023RW0371
2: Bohlmeijer, E., Kraiss, J., Schotanus-Dijkstra, M., & ten Klooster, P. (2022). Gratitude as mood mediates the effects of a 6-weeks gratitude intervention on mental well-being: post hoc analysis of a randomized controlled trial. Передняя. Psychol., 12, 799447. https://doi.org/10.3389/fpsyg.2021.799447
-
Истории успехаUltrahuman – это стартап в сфере потребительских технологий для здоровья, который предоставляет пользователям ежедневную статистику о самочувствии на основе биометрических данных, полученных с носимых устройств компании, таких как RING Air и глюкометр непрерывного действия M1 Live.
Amrit Sanjeev, Trevor Johns • Время на чтение: 2 минуты -
Истории успехаGrab – ведущее суперприложение в Юго-Восточной Азии, которое предлагает услуги доставки, мобильности и финансовые услуги миллионам пользователей в восьми странах.
Ajesh Pai, Nguyen Van Minh, Tracy Agyemang • Время на чтение: 5 минут -
Истории успехаКоманда создала базу кода для ИИ-интерфейса, которая на 50% меньше исходной реализации. При этом время выполнения ИИ-агента сократилось на 35 %, количество обменов между инженером и агентом – на 32 %, а стоимость токенов – на 33 %.
Pavlo Stavytskyi, Rebecca Franks • Время на чтение: 11 минут
Получайте еженедельную рассылку с последними новостями о разработке для Android.