Примеры из практики
Благодаря функции благодарности удержание пользователей виджета увеличилось на 25%.
3 минуты чтения

Практика благодарности может уменьшить симптомы депрессии и тревоги, а также улучшить психическое здоровье и удовлетворенность жизнью¹. Последовательная практика благодарности может привести к устойчивым улучшениям, которые сохраняются в течение нескольких месяцев². Приложение для развития осознанности Gratitude поощряет последовательность с помощью коротких ежедневных записей в дневнике, аффирмаций и досок визуализации. Приложение скачали более 6 миллионов раз, оно получило 150 тысяч пятизвездочных оценок и содержит 100 миллионов записей в дневнике.
Разработчики Дивидж Гупта и Нарендра Аанджна создали виджеты для каждого из основных пользовательских сценариев своего приложения. Их цель заключалась в том, чтобы взаимодействовать с пользователями в их повседневной жизни, не требуя от них запуска полноценной сессии приложения.
Размещая интерактивные подсказки для ведения дневника, аффирмации, изображения для доски визуализации и показатели непосредственно на главном экране пользователя, команда снизила порог входа для ежедневных размышлений и сообщила о 25-процентном увеличении удержания пользователей виджета и примерно 1000 еженедельных записей в дневнике, сделанных с помощью виджета . Это повышение лояльности пользователей приводит к ощутимым результатам для их здоровья: формированию устойчивых привычек, поддерживающих долгосрочное психическое благополучие.
«Виджеты помогли нам сделать приложение более заметным в повседневной жизни пользователей, предоставляя быстрые источники вдохновения, напоминания и размышления прямо на главном экране. Это повысило вовлеченность и упростило пользователям поддержание регулярности в практике осознанности». – Дивидж Гупта

Задача: модернизировать систему, не снижая уровень удержания клиентов.
Хотя влияние виджетов было очевидным, первоначальная реализация RemoteViews на основе XML в Gratitude создала технический долг. По мере развития системы дизайна приложения в сторону Material 3, устаревшие виджеты становилось все сложнее согласовывать с современным пользовательским интерфейсом. Каждое визуальное обновление требовало ручного создания XML-файлов и ненадежных обходных путей, что замедляло темпы разработки.

Решение, часть 1: переход с XML на Jetpack Glance
Для модернизации своих виджетов команда обратилась к Jetpack Glance .
Сначала они обратились к странице дизайна виджетов на Android и к стандартным макетам виджетов, чтобы понять лучшие практики отображения информации в ограниченном пространстве.
Затем они перенесли свой набор виджетов на Jetpack Glance. Эта декларативная платформа позволила разработчикам перейти от планирования к выпуску менее чем за месяц , сэкономив около 50% времени на разработку , и получила два дополнительных преимущества:
- Замена ограничительных XML-шаблонов декларативным кодом упростила чтение и сопровождение кодовой базы, а также снизила трудозатраты разработчиков.
- Jetpack Glance позволил команде проще внедрить динамические цвета , гибкое изменение размера и расширенные параметры конфигурации. Эти функции гарантируют, что виджеты будут гармонировать с уникальным расположением элементов на главном экране пользователя.

На следующем GIF-изображении показаны два виджета благодарности и функция адаптивного изменения размера:

Хотя Glance упростил пользовательский интерфейс, команда отметила, что тестирование на различных лаунчерах от разных производителей также имеет важное значение для обеспечения единообразия расположения элементов на разных устройствах.
Команда также внедрила функцию генерации предварительных просмотров виджетов , чтобы пользователи могли видеть персонализированные предварительные просмотры. Они отметили, что тестирование генерации предварительных просмотров может быть медленным, поскольку количество просмотров ограничено для экономии заряда батареи. Чтобы обойти ограничение количества просмотров для тестирования, используйте команду adb:
adb shell device_config put systemui generated_preview_api_reset_interval_ms 0
Благодаря всем их усилиям виджет «Благодарность» стал высококачественным и выделяющимся на фоне конкурентов .
Решение, часть 2: продвижение новых виджетов в приложении.
Затем разработчики использовали функцию закрепления виджетов внутри приложения , чтобы улучшить их поиск и увеличить количество установок. Предложение пользователям установить виджеты в контекстно релевантный момент внутри приложения помогает им найти нужные виджеты, не прибегая к системному инструменту выбора виджетов. На следующем GIF-изображении показана нижняя панель Gratitude для добавления виджетов из приложения:
Команда также переработала пакеты виджетов, что изменило пути к получателям виджетов и привело к удалению виджетов с главных экранов пользователей. Используя ранее сохраненные пользовательские флаги для идентификации пользователей виджетов, они запустили еще одно приглашение requestPinGlanceAppWidget , предлагающее пользователям виджетов использовать новые модернизированные виджеты.
Совет разработчикам: Чтобы сохранить установленные виджеты при миграции с RemoteViews на Jetpack Glance, убедитесь, что ваш GlanceAppWidgetReceiver использует то же имя класса и пакет, что и ваш предыдущий AppWidgetProvider в Android Manifest. Если требуется новое имя класса или расположение пакета, следуйте примеру Gratitude, используя закрепление виджетов внутри приложения, чтобы помочь пользователям восстановить свои виджеты.
Стратегия работает, поскольку 10% от общего числа активных пользователей в день уже используют виджеты.
Заключение
Эта история успеха Gratitude показывает, что виджеты могут быть инструментами для формирования привычек. Внедрив быстрые действия для самоанализа прямо с главного экрана, команда повысила лояльность пользователей. Gratitude сократила технический долг и модернизировала свои виджеты, внедрив Jetpack Glance, и предложила пользователям добавлять виджеты в приложение.
«Наш опыт работы с Jetpack Glance оказался превосходным. Подход, основанный на Compose, кажется гораздо более современным, гибким и соответствует тому, как мы создаем остальную часть нашего пользовательского интерфейса сегодня. Он позволяет нам более естественно выражать макеты виджетов, повторно использовать знакомые компоненты Compose и гораздо быстрее вносить изменения в пользовательский интерфейс. Многие ограничения пользовательского интерфейса, с которыми мы ранее сталкивались при использовании RemoteViews, больше не являются проблемой, что упростило создание виджетов, которые лучше соответствуют дизайну и пользовательскому опыту нашего приложения». – Дивидж Гупта
Начиная
Чтобы начать работу с Jetpack Glance и узнать о технологиях, упомянутых в этой статье, ознакомьтесь с этими руководствами:
- Обзор реактивного ранца
- Виджеты на странице дизайна Android
- Канонические макеты виджетов
- Предварительный просмотр сгенерированных виджетов
- Уровни качества виджетов
- Закрепление виджетов в приложении
- Динамичные цвета
- Изменение размера
- Действия по настройке
См. другие примеры использования виджетов:
- Приложение «Контакты» от Google создало новый виджет на 25% быстрее, используя Jetpack Glance.
- SoundCloud с помощью Jetpack Glance создал виджет «Понравившиеся треки» всего за 2 недели.
1: Диниз Г., Коркес Л., Тристан Л.С., Пелегрини Р., Беллоди П.Л. и Бернардо В.М. (2023). Эффекты вмешательства благодарности: систематический обзор и метаанализ. Эйнштейн (Сан-Паулу)., 21, eRW0371. https://doi.org/10.31744/einstein_journal/2023RW0371
2: Болмейер, Э., Крайсс, Дж., Шотанус-Дийкстра, М., и тен Клостер, П. (2022). Благодарность как фактор настроения опосредует влияние 6-недельной программы по развитию благодарности на психическое благополучие: апостериорный анализ рандомизированного контролируемого исследования. Front. Psychol., 12, 799447. https://doi.org/10.3389/fpsyg.2021.799447
Продолжить чтение

Примеры из практики
Ultrahuman — это стартап в сфере потребительских медицинских технологий, который предоставляет пользователям ежедневную информацию о состоянии здоровья на основе биометрических данных с носимых устройств компании, таких как RING Air и M1 Live Continuous Glucose Monitor (CGM).
Amrit Sanjeev , Trevor Johns • 2 мин чтения

Примеры из практики
Karrot — это локальное, основанное на взаимодействии между пользователями приложение-маркетплейс, позволяющее покупать, продавать и обмениваться товарами с другими проверенными пользователями. С момента запуска в Южной Корее в 2015 году платформа расширилась на мировые рынки, собрав более 43 миллионов зарегистрированных пользователей.
Thomas Ezan , Tracy Agyemang • Чтение 2 минуты

Примеры из практики
Monzo — это британский цифровой банк с 15 миллионами клиентов, и их число продолжает расти. По мере масштабирования приложения команда разработчиков определила время запуска приложения как критическую область для улучшения, но опасалась, что это потребует значительных изменений в коде.
Ben Weiss , Tracy Agyemang • 2 мин чтения
Будьте в курсе событий
Получайте еженедельно самые свежие новости о разработке Android прямо на свою электронную почту.





