Case Studies
Aplikacja Gratitude odnotowała o 25% wyższy wskaźnik utrzymania użytkowników widżetów
Czas czytania: 3 min
Praktykowanie wdzięczności może zmniejszyć objawy depresji i lęku oraz poprawić zdrowie psychiczne i zadowolenie z życia¹. Regularne praktykowanie wdzięczności może prowadzić do trwałych zmian, które utrzymują się przez wiele miesięcy². Aplikacja do uważności Gratitude zachęca do regularności dzięki codziennym mikro wpisom w dzienniku, afirmacjom i tablicom wizji. Aplikacja została pobrana ponad 6 milionów razy, ma 150 tysięcy ocen 5-gwiazdkowych i 100 milionów wpisów w dzienniku.
Deweloperzy Divij Gupta i Narendra Aanjna opracowali widżety dla każdej z podstawowych ścieżek użytkownika w swojej aplikacji. Ich celem było dotarcie do użytkowników w codziennych sytuacjach bez konieczności otwierania pełnej sesji aplikacji.
Dzięki wyświetlaniu interaktywnych promptów do dziennika, afirmacji, obrazów z tablicy wizji i statystyk bezpośrednio na ekranie głównym użytkownika zespół obniżył próg wejścia dla codziennej refleksji i odnotował 25% wzrost wskaźnika utrzymania użytkowników widżetów oraz ok. 1 tys. wpisów w dzienniku tygodniowo z widżetów. Ten wzrost lojalności użytkowników przekłada się na wymierne korzyści zdrowotne: wyrobienie trwałych nawyków, które wspierają długoterminowe dobre samopoczucie psychiczne.
„Widżety pomogły nam zwiększyć obecność aplikacji w codziennych czynnościach użytkowników, zapewniając szybką inspirację, przypomnienia i refleksje bezpośrednio na ekranie głównym. Zwiększyło to zaangażowanie i ułatwiło użytkownikom regularne praktykowanie medytacji” – Divij Gupta
Wyzwanie: modernizacja bez zmniejszania wskaźnika utrzymania
Wpływ widżetów był oczywisty, ale oryginalna implementacja RemoteViews oparta na XML w aplikacji Gratitude spowodowała powstanie długu technicznego. W miarę jak system projektowania aplikacji ewoluował w kierunku Material 3, dopasowanie starszych widżetów do nowoczesnego interfejsu stawało się coraz trudniejsze. Każda aktualizacja wizualna wymagała ręcznego narzutu XML i kruchego obejścia, co spowalniało pracę deweloperów.
Rozwiązanie, część 1: migracja z XML do Jetpack Glance
Aby zmodernizować widżety, zespół sięgnął po Jetpack Glance.
Najpierw zapoznał się ze stroną projektową Widgets on Android i canonical widget layouts, aby poznać sprawdzone metody wyświetlania informacji na ograniczonej przestrzeni.
Następnie zespół przeprowadził migrację pakietu widżetów do Jetpack Glance. Ten deklaratywny framework umożliwił deweloperom przejście od planowania do wdrożenia w mniej niż miesiąc, oszczędzając ok. 50% czasu pracy, a także przyniósł 2 dodatkowe korzyści:
- Zastąpienie restrykcyjnych układów XML kodem deklaratywnym ułatwiło odczytywanie i utrzymywanie bazy kodu oraz zmniejszyło nakład pracy deweloperów.
- Jetpack Glance umożliwił zespołowi łatwiejsze wdrożenie kolorów dynamicznych, elastycznego rozmiaru i rozszerzonych opcji konfiguracji. Dzięki tym funkcjom widżety harmonizują z unikalnym układem ekranu głównego użytkownika.
Poniższy GIF przedstawia 2 widżety Gratitude i adaptacyjne zmienianie rozmiaru:
Glance uprościł interfejs, ale zespół zauważył, że testowanie na różnych launcherach OEM jest również niezbędne, aby zapewnić spójność układu na różnych urządzeniach.
Zespół wdrożył też Generated Widget Previews, aby użytkownicy mogli zobaczyć spersonalizowane podglądy. Zauważyli, że testowanie wygenerowanych podglądów może być powolne, ponieważ podglądy są ograniczone, aby oszczędzać baterię. Aby ominąć ograniczanie liczby żądań podczas testowania, użyj polecenia adb:
adb shell device_config put systemui generated_preview_api_reset_interval_ms 0
Dzięki tym działaniom widżet Gratitude jest wysokiej jakości i wyróżnia się na tle innych.
Rozwiązanie, część 2: promowanie nowych widżetów w aplikacji
Deweloperzy użyli przypinania widżetów w aplikacji, aby zwiększyć wykrywalność i liczbę instalacji widżetów. Prośba o zainstalowanie widżetów w odpowiednim kontekście w aplikacji pomaga użytkownikom znaleźć widżety bez konieczności korzystania z systemowego selektora widżetów. Poniższy GIF przedstawia planszę dolną aplikacji Gratitude, która umożliwia dodawanie widżetów z poziomu aplikacji:
Zespół przeprowadził też refaktoryzację pakietów widżetów, co spowodowało zmianę ścieżek odbiorników widżetów i usunięcie widżetów z ekranów głównych użytkowników. Używając wcześniej zapisanych flag użytkowników do identyfikowania użytkowników widżetów, zespół wywołał kolejny prompt requestPinGlanceAppWidget, zachęcając użytkowników widżetów do korzystania z nowych, zmodernizowanych widżetów.
Wskazówka dla deweloperów: aby utrzymać liczbę instalacji widżetów podczas migracji z RemoteViews do Jetpack Glance, upewnij się, że GlanceAppWidgetReceiver używa tej samej nazwy klasy i pakietu co poprzedni AppWidgetProvider w pliku manifestu Androida. Jeśli wymagana jest nowa nazwa klasy lub lokalizacja pakietu, postępuj zgodnie z przykładem aplikacji Gratitude i użyj przypinania w aplikacji, aby pomóc użytkownikom przywrócić widżety.
Ta strategia działa, ponieważ 10% łącznej liczby aktywnych użytkowników dziennie korzysta z widżetów.
Podsumowanie
Historia aplikacji Gratitude pokazuje, że widżety mogą być narzędziem do kształtowania nawyków. Dzięki wdrożeniu szybkich działań umożliwiających autorefleksję bezpośrednio z ekranu głównego zespół zwiększył lojalność użytkowników. Gratitude zmniejszyła dług techniczny i zmodernizowała widżety, wdrażając Jetpack Glance, oraz zachęciła użytkowników do dodawania widżetów w aplikacji.
„Nasze doświadczenia z Jetpack Glance są doskonałe. Podejście oparte na Compose jest znacznie bardziej nowoczesne, elastyczne i zgodne ze sposobem, w jaki obecnie tworzymy resztę interfejsu. Umożliwia nam bardziej naturalne wyrażanie układów widżetów, ponowne wykorzystywanie znanych komponentów Compose i znacznie szybsze wprowadzanie zmian w interfejsie. Wiele ograniczeń interfejsu, z którymi wcześniej mieliśmy do czynienia w przypadku RemoteViews, nie stanowi już problemu, co ułatwiło tworzenie widżetów, które lepiej pasują do projektu i działania naszej aplikacji” – Divij Gupta
Pierwsze kroki
Aby rozpocząć korzystanie z Jetpack Glance i dowiedzieć się więcej o technologiach wymienionych w tym poście, zapoznaj się z tymi przewodnikami:
- Jetpack Glance Overview
- strona projektowaWidgets on Android
- Canonical widget layouts
- Generated Widget Previews
- Widget Quality Tiers
- In-app widget pinning
- Dynamic colors
- Resizing
- Configuration activities
Zobacz inne studia przypadków dotyczące widżetów:
- Aplikacja Kontakty Google stworzyła nowy widżet o 25% szybciej dzięki Jetpack Glance
- SoundCloud używa Jetpack Glance do stworzenia widżetu Polubione utwory w zaledwie 2 tygodnie
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. Front. Psychol., 12, 799447. https://doi.org/10.3389/fpsyg.2021.799447
Czytaj dalej
-
Case Studies
Ultrahuman to startup z branży technologii zdrowotnych, który dostarcza użytkownikom codzienne informacje o samopoczuciu na podstawie danych biometrycznych z urządzeń do noszenia firmy, takich jak RING Air i M1 Live Continuous Glucose Monitor (CGM).
Amrit Sanjeev, Trevor Johns • Czas czytania: 2 min
-
r.r.
Case Studies
Karrot to hiperlokalna aplikacja marketplace typu peer-to-peer oparta na społeczności, która umożliwia użytkownikom kupowanie, sprzedawanie i wymienianie przedmiotów z innymi zweryfikowanymi użytkownikami. Od czasu uruchomienia w Korei Południowej w 2015 roku platforma rozszerzyła się na rynki globalne, zdobywając ponad 43 miliony zarejestrowanych użytkowników.
Thomas Ezan, Tracy Agyemang • Czas czytania: 2 min
-
Case Studies
Monzo to brytyjski bank cyfrowy, który ma 15 milionów klientów i stale się rozwija. W miarę jak aplikacja się rozwijała, zespół inżynierów uznał czas uruchamiania aplikacji za kluczowy obszar do poprawy, ale obawiał się, że będzie to wymagało znacznych zmian w kodzie.
Ben Weiss, Tracy Agyemang • Czas czytania: 2 min
Bądź na bieżąco
Otrzymuj co tydzień najnowsze informacje o tworzeniu aplikacji na Androida na swoją skrzynkę odbiorczą.