練習感恩可減少憂鬱和焦慮症狀,並改善心理健康和生活滿意度¹。持續練習感恩可帶來長達數月的持續改善²。正念應用程式「Gratitude」透過微型每日日記、肯定和願景板鼓勵持續練習。這款應用程式的下載次數超過 600 萬次,獲得 15 萬則 5 星級評等,並記錄了 1 億則日記。
開發人員 Divij Gupta 和 Narendra Aanjna 為應用程式的每個核心使用者歷程開發小工具。他們的目標是融入使用者的日常生活,不必讓使用者花費時間精力開啟完整應用程式。
團隊直接在使用者的主畫面顯示互動式日記提示、肯定語、願景板圖片和指標,降低每日反思的門檻,並回報小工具使用者的留存率提高 25% ,每週透過小工具撰寫的日記約有 1,000 篇。使用者忠誠度提高,也帶來實質的健康成效:養成持續習慣,有助於長期心理健康。
「小工具可直接在主畫面提供靈感、提醒和反思,讓應用程式更融入使用者的日常生活。這項功能提升了參與度,讓使用者更容易持續進行正念練習。」– Divij Gupta
挑戰:在不降低留存率的情況下翻新遊戲
雖然小工具的效果顯著,但 Gratitude 原本採用 XML 的 RemoteViews 實作方式產生了技術債。隨著應用程式的設計系統演進至 Material 3,舊版小工具越來越難與現代化 UI 保持一致。每次更新視覺效果時,都必須手動處理 XML 負擔和不穩定的解決方法,導致開發人員速度變慢。
解決方案第 1 部分:從 XML 遷移至 Jetpack Glance
為了翻新小工具,團隊決定採用 Jetpack Glance。
他們首先參考了 Android 小工具設計頁面和標準小工具版面配置,瞭解在有限空間內顯示資訊的最佳做法。
接著,他們將小工具套件遷移至 Jetpack Glance。這個宣告式架構讓開發人員在不到一個月的時間內,就從規劃階段進入到推出階段,節省了約 50% 的開發時間,並帶來另外兩項優勢:
- 以宣告式程式碼取代受限的 XML 版面配置,讓程式碼集更容易閱讀、維護,並減少開發人員的工作量。
- Jetpack Glance 讓團隊能更輕鬆地導入動態色彩、彈性調整大小,以及擴充設定選項。這些功能可確保小工具與使用者獨特的主畫面版面配置和諧搭配。
以下 GIF 顯示兩個 Gratitude 小工具和自動調整大小:
雖然 Glance 簡化了 UI,但團隊也指出,在各種原始設備製造商 (OEM) 啟動器上進行測試,對於確保跨裝置版面配置一致性也至關重要。
團隊也導入了產生的 Widget 預覽,讓使用者查看個人化預覽。他們指出,測試生成預覽畫面時,速度可能會變慢,因為預覽畫面會限制頻率,以節省電池用量。如要略過頻率限制進行測試,請使用 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 相同的類別名稱和套件。如果需要新的類別名稱或套件位置,請按照 Gratitude 的做法,使用應用程式固定功能,協助使用者還原小工具。
這項策略成效良好,每日活躍使用者總數中有 10% 採用小工具。
結論
Gratitude 的故事顯示,小工具可以成為養成習慣的工具。團隊在主畫面加入快速操作功能,方便使用者自我反思,進而提升使用者忠誠度。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 年)。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 連續血糖監測儀 (CGM)) 的生物辨識資料,為使用者提供每日健康洞察資訊。
Amrit Sanjeev, Trevor Johns • 閱讀時間:2 分鐘 -
個案研究Grab 是東南亞首屈一指的超級應用程式,透過單一應用程式為八個國家/地區的數百萬名使用者提供外送、交通和金融服務。
Ajesh Pai, Nguyen Van Minh, Tracy Agyemang • 閱讀時間:5 分鐘 -
個案研究該團隊建構了 AI 原生 UI 程式碼集,比原始實作小 50%,同時將 AI 代理執行時間縮短 35%,工程師與代理之間的互動減少 32%,並將權杖成本降低 33%。
Pavlo Stavytskyi, Rebecca Franks • 閱讀時間:11 分鐘
每週透過電子郵件接收最新的 Android 開發洞察資訊。