Примеры из практики

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

3 минуты чтения
Посмотреть профиль Амрита Санджива Посмотреть профиль Эша Нохе
Amrit Sanjeev и Ash Nohe

Практика благодарности может уменьшить симптомы депрессии и тревоги, а также улучшить психическое здоровье и удовлетворенность жизнью¹. Последовательная практика благодарности может привести к устойчивым улучшениям, которые сохраняются в течение нескольких месяцев². Приложение для развития осознанности Gratitude поощряет последовательность с помощью коротких ежедневных записей в дневнике, аффирмаций и досок визуализации. Приложение скачали более 6 миллионов раз, оно получило 150 тысяч пятизвездочных оценок и содержит 100 миллионов записей в дневнике.

Developers Divij Gupta and Narendra Aanjna developed widgets for each of their app's core user journeys. Their goal was to meet users in their everyday moments without requiring the overhead of a full app session.

Размещая интерактивные подсказки для ведения дневника, аффирмации, изображения для доски визуализации и показатели непосредственно на главном экране пользователя, команда снизила порог входа для ежедневных размышлений и сообщила о 25-процентном увеличении удержания пользователей виджета и примерно 1000 еженедельных записей в дневнике, сделанных с помощью виджета . Это повышение лояльности пользователей приводит к ощутимым результатам для их здоровья: формированию устойчивых привычек, поддерживающих долгосрочное психическое благополучие.

“Widgets helped us make the app more present in users' daily routines by providing quick inspiration, reminders, and reflections directly on the home screen. This increased engagement and made it easier for users to stay consistent with their mindfulness practices.” – Divij Gupta

AANDDM_Gratitude_01.png

Задача: модернизировать систему, не снижая уровень удержания клиентов.

While the impact of widgets was clear, Gratitude's original XML-based RemoteViews implementation created technical debt. As the app's design system evolved toward Material 3, the legacy widgets became increasingly difficult to align with the modern UI. Every visual update required manual XML overhead and brittle workarounds, slowing developer velocity.

AANDDM_Gratitude_02.png

Решение, часть 1: переход с XML на Jetpack Glance

Для модернизации своих виджетов команда обратилась к Jetpack Glance .

Сначала они обратились к странице дизайна виджетов на Android и к стандартным макетам виджетов, чтобы понять лучшие практики отображения информации в ограниченном пространстве.

Then, they migrated their widget suite to Jetpack Glance. This declarative framework enabled the developers to move from planning to shipping in less than a month , saving about 50% development time , and saw two additional advantages:

  • Замена ограничительных XML-шаблонов декларативным кодом упростила чтение и сопровождение кодовой базы, а также снизила трудозатраты разработчиков.
  • Jetpack Glance allowed the team to more easily implement dynamic colors , flexible resizing , and expanded configuration options. These features ensure the widgets harmonize with a user's unique home screen layout.
AANDDM_Gratitude_03.png

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

GratitudeAdaptiveWidgets.gif

Хотя Glance упростил пользовательский интерфейс, команда отметила, что тестирование на различных лаунчерах от разных производителей также имеет важное значение для обеспечения единообразия расположения элементов на разных устройствах.

The team also implemented Generated Widget Previews so users can see personalized previews. They noted that testing Generated Previews could be slow, as the previews are rate limited to preserve battery. To bypass the rate limiting for testing, use the adb command:

adb shell device_config put systemui generated_preview_api_reset_interval_ms 0

Благодаря всем их усилиям виджет «Благодарность» стал высококачественным и выделяющимся на фоне конкурентов .

Решение, часть 2: продвижение новых виджетов в приложении.

The developers then used in-app widget pinning to increase widget discoverability and widget installs. Asking users to install widgets at a contextually relevant moment within the app helps users find their widgets without needing to go through the system widget picker. The following GIF shows Gratitude's bottom sheet to add widgets from within the app:

The team also refactored widget packages, which changed widget receiver paths and caused widgets to be deleted from users' home screens. Using previously stored user flags to identify widget users, they triggered another requestPinGlanceAppWidget prompt inviting widget users to use the new modernized widgets.

Developer Tip: To maintain widget installs while migrating from RemoteViews to Jetpack Glance, ensure your GlanceAppWidgetReceiver uses the same class name and package as your previous AppWidgetProvider in the Android Manifest. If a new class name or package location is required, follow the Gratitude's lead by using in-app pinning to help users restore their widgets.

Стратегия работает, поскольку 10% от общего числа активных пользователей в день уже используют виджеты.

Заключение

This Gratitude story shows that widgets can be tools for habit formation. By implementing quick actions to self-reflect right from the home screen, the team improved user loyalty. Gratitude reduced technical debt and modernized their widgets by adopting Jetpack Glance, and prompted users to add widgets within their app.

«Наш опыт работы с Jetpack Glance оказался превосходным. Подход, основанный на Compose, кажется гораздо более современным, гибким и соответствует тому, как мы создаем остальную часть нашего пользовательского интерфейса сегодня. Он позволяет нам более естественно выражать макеты виджетов, повторно использовать знакомые компоненты Compose и гораздо быстрее вносить изменения в пользовательский интерфейс. Многие ограничения пользовательского интерфейса, с которыми мы ранее сталкивались при использовании RemoteViews, больше не являются проблемой, что упростило создание виджетов, которые лучше соответствуют дизайну и пользовательскому опыту нашего приложения». – Дивидж Гупта

Начиная

Чтобы начать работу с Jetpack Glance и узнать о технологиях, упомянутых в этой статье, ознакомьтесь с этими руководствами:

См. другие примеры использования виджетов:

1: Диниз Г., Коркес Л., Тристан Л.С., Пелегрини Р., Беллоди П.Л. и Бернардо В.М. (2023). Эффекты вмешательства благодарности: систематический обзор и метаанализ. Эйнштейн (Сан-Паулу)., 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. Front. Psychol., 12, 799447. https://doi.org/10.3389/fpsyg.2021.799447

    Автор:
    Продолжить чтение