우수사례

Gratitude는 위젯 사용자의 유지율이 25% 더 높았습니다.

전문 길이: 3분

감사하는 마음을 실천하면 우울증과 불안 증상을 줄이고 정신 건강과 삶의 만족도를 높일 수 있습니다¹. 꾸준히 감사하는 마음을 실천하면 몇 달 동안 지속되는 개선 효과를 얻을 수 있습니다². 마음챙김 앱 감사는 매일 간단한 일기 쓰기, 긍정적인 자기 확언, 비전 보드를 통해 꾸준히 감사하는 마음을 실천하도록 지원합니다. 이 앱은 6백만 회 이상 다운로드되었으며, 별 5개 평점은 15만 개, 기록된 일기 항목은 1억 개에 달합니다.

개발자 Divij Gupta와 Narendra Aanjna는 각 앱의 핵심 사용자 여정에 관한 위젯을 개발했습니다. 목표는 전체 앱 세션의 오버헤드 없이 일상적인 순간에 사용자를 만나는 것이었습니다.

팀은 사용자의 홈 화면에 직접 표시되는 대화형 일기 쓰기 프롬프트, 긍정적인 자기 암시, 비전 보드 이미지, 측정항목을 통해 일상적인 자기 성찰의 진입 장벽을 낮추고 위젯 사용자의 유지율이 25% 증가했으며 위젯에서 주간 일기 쓰기 항목이 약 1,000개에 달한다고 보고했습니다. 이러한 사용자 충성도 증가는 장기적인 정신적 웰빙을 지원하는 일관된 습관 형성과 같은 구체적인 건강 결과로 이어집니다.

위젯을 통해 홈 화면에서 바로 빠른 아이디어, 리마인더, 회고를 제공하여 사용자의 일상에 앱을 더 많이 표시할 수 있었습니다. 이를 통해 참여도가 높아지고 사용자가 마음챙김을 꾸준히 실천하기가 더 쉬워졌습니다.” – 디비지 굽타

AANDDM_Gratitude_01.png

과제: 고객 유지율을 낮추지 않고 현대화

위젯의 영향은 명확했지만 Gratitude의 원래 XML 기반 RemoteViews 구현으로 인해 기술 부채가 발생했습니다. 앱의 디자인 시스템이 Material 3로 발전함에 따라 기존 위젯을 최신 UI와 정렬하기가 점점 더 어려워졌습니다. 모든 시각적 업데이트에는 수동 XML 오버헤드와 취약한 해결 방법이 필요하여 개발자 속도가 느려졌습니다.

AANDDM_Gratitude_02.png

솔루션 1부: XML에서 Jetpack Glance로 이전

팀은 위젯을 현대화하기 위해 Jetpack Glance를 사용했습니다.

이들은 먼저 Android의 위젯 디자인 페이지와 표준 위젯 레이아웃을 참고하여 제한된 공간 내에 정보를 표시하는 권장사항을 파악했습니다.

그런 다음 위젯 모음을 Jetpack Glance로 이전했습니다. 이 선언적 프레임워크를 통해 개발자는 계획에서 출시까지 한 달 이내에 완료할 수 있었고, 개발 시간을 약 50% 절약했으며 다음과 같은 두 가지 추가 이점을 얻었습니다.

  • 제한적인 XML 레이아웃을 선언적 코드로 대체하여 코드베이스를 더 쉽게 읽고 유지관리할 수 있으며 개발자 노력을 줄였습니다.
  • Jetpack Glance를 사용하면 팀에서 동적 색상, 유연한 크기 조절, 확장된 구성 옵션을 더 쉽게 구현할 수 있었습니다. 이러한 기능을 통해 위젯이 사용자의 고유한 홈 화면 레이아웃과 조화를 이룰 수 있습니다.
AANDDM_Gratitude_03.png

다음 GIF는 두 개의 감사 위젯과 적응형 크기 조절을 보여줍니다.

GratitudeAdaptiveWidgets.gif

Glance는 UI를 간소화했지만, 팀은 기기 간 레이아웃 일관성을 보장하기 위해 다양한 OEM 런처에서 테스트하는 것도 필수라고 언급했습니다.

또한 사용자가 맞춤설정된 미리보기를 볼 수 있도록 생성된 위젯 미리보기도 구현했습니다. 미리보기는 배터리를 보존하기 위해 속도가 제한되므로 생성된 미리보기를 테스트하는 데 시간이 오래 걸릴 수 있다고 언급했습니다. 테스트를 위해 비율 제한을 우회하려면 다음 adb 명령어를 사용하세요.

adb shell device_config put systemui generated_preview_api_reset_interval_ms 0

이러한 모든 노력 덕분에 감사 위젯이 고품질의 차별화된 위젯이 되었습니다.

솔루션 2부: 인앱에서 새 위젯 홍보 

그런 다음 개발자는 인앱 위젯 고정을 사용하여 위젯의 발견 가능성과 위젯 설치 수를 늘렸습니다. 앱 내에서 맥락과 관련된 순간에 사용자에게 위젯을 설치하도록 요청하면 사용자가 시스템 위젯 선택기를 거치지 않고도 위젯을 찾을 수 있습니다. 다음 GIF는 앱 내에서 위젯을 추가하는 Gratitude의 하단 시트를 보여줍니다.

또한 팀에서 위젯 패키지를 리팩터링하여 위젯 수신기 경로가 변경되었고 사용자의 홈 화면에서 위젯이 삭제되었습니다. 이전에 저장된 사용자 플래그를 사용하여 위젯 사용자를 식별한 후 위젯 사용자에게 새로운 최신 위젯을 사용하도록 초대하는 또 다른 requestPinGlanceAppWidget 프롬프트를 트리거했습니다.

개발자 팁: RemoteViews에서 Jetpack Glance로 이전하는 동안 위젯 설치를 유지하려면 GlanceAppWidgetReceiver에서 Android 매니페스트의 이전 AppWidgetProvider와 동일한 클래스 이름과 패키지를 사용해야 합니다. 새 클래스 이름이나 패키지 위치가 필요한 경우 Gratitude의 리드를 따라 인앱 고정을 사용하여 사용자가 위젯을 복원하도록 지원하세요.

전체 DAU의 10%가 위젯을 채택한 것으로 보아 전략이 효과가 있는 것으로 보입니다.

결론

이 감사 스토리에서는 위젯이 습관 형성을 위한 도구가 될 수 있음을 보여줍니다. 홈 화면에서 바로 자기 성찰을 할 수 있는 빠른 작업을 구현하여 사용자 충성도를 개선했습니다. Gratitude는 Jetpack Glance를 채택하여 기술 부채를 줄이고 위젯을 현대화했으며 사용자에게 앱 내에서 위젯을 추가하라는 메시지를 표시했습니다.

“Jetpack Glance를 사용한 경험은 매우 좋았습니다. Compose 기반 접근 방식은 훨씬 더 현대적이고 유연하며 오늘날 나머지 UI를 빌드하는 방식과도 일치합니다. 이를 통해 위젯 레이아웃을 더 자연스럽게 표현하고, 친숙한 Compose 구성요소를 재사용하고, UI 변경사항을 훨씬 빠르게 반복할 수 있습니다. 이전에는 RemoteViews로 인해 UI 제약이 많았지만 이제는 문제가 되지 않아 앱의 디자인과 환경에 더 잘 맞는 위젯을 쉽게 빌드할 수 있습니다.” – Divij Gupta

시작하기

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). 기분으로서의 감사함이 정신적 웰빙에 대한 6주간의 감사함 개입의 효과를 매개함: 무작위 대조 시험의 사후 분석 앞면 Psychol., 12, 799447. https://doi.org/10.3389/fpsyg.2021.799447

작성자:

계속 읽기