练习感恩可以减轻抑郁症和焦虑症的症状,并改善心理健康和生活满意度¹。坚持练习感恩可以带来持续数月的改善效果²。正念应用 Gratitude 通过每日微日记、肯定语和愿景板来鼓励用户坚持练习。该应用的下载量已超过 600 万次,获得了 15 万次五星评级,并记录了 1 亿条日记条目。
开发者 Divij Gupta 和 Narendra Aanjna 为其应用的每个核心用户体验历程开发了微件。他们的目标是让用户在日常生活中随时随地都能使用,而无需像完整应用会话那样占用大量资源。
通过直接在用户的主屏幕上显示互动式日记提示、肯定语、愿景板图片和指标,该团队降低了日常反思的门槛,并报告称,使用微件的用户的留存率提高了 25% ,并且每周通过微件记录的日记条目约为 1,000 条。用户忠诚度的提高转化为用户可衡量的健康成果:持续养成有助于长期保持心理健康的习惯。
“借助 widget,我们能够直接在主屏幕上提供快速灵感、提醒和反思,从而让应用更好地融入用户的日常生活。这提高了用户互动度,并让用户能够更轻松地坚持练习正念。”- Divij Gupta
挑战:在不降低用户留存率的情况下进行现代化改造
虽然 widget 的影响很明显,但 Gratitude 基于 XML 的原始 RemoteViews 实现却造成了技术债务。随着应用的设计系统向 Material 3 演进,旧版 widget 越来越难以与现代界面保持一致。每次视觉更新都需要手动 XML 开销和脆弱的变通方法,从而降低了开发者的速度。
解决方案第 1 部分:从 XML 迁移到 Jetpack Glance
为了实现 widget 的现代化,该团队转向了 Jetpack Glance。
他们首先查阅了 Android 上的 widget 设计页面和 规范 widget 布局,以了解在有限空间内显示信息的最佳实践。
然后,他们将微件套件迁移到了 Jetpack Glance。借助此声明性框架,开发者能够在不到一个月的时间内完成从规划到发布的全过程,节省约 50% 的开发时间,并获得了另外两项优势:
- 通过使用声明性代码替换限制性 XML 布局,代码库更易于读取和维护,并减少了开发者的工作量。
- 借助 Jetpack Glance,团队可以更轻松地实现动态颜色、灵活的调整大小和扩展的配置选项。这些功能可确保 widget 与用户独特的主屏幕布局相协调。
以下 GIF 展示了两个“感恩”微件和自适应调整大小功能:
虽然 Glance 简化了界面,但该团队注意到,在各种 OEM 启动器上进行测试对于确保布局在不同设备上保持一致也至关重要。
该团队还实现了生成的 widget 预览,以便用户查看个性化的预览。他们指出,测试生成的预览可能很慢,因为预览会受到速率限制,以节省电池电量。如需绕过速率限制以进行测试,请使用以下 adb 命令:
adb shell device_config put systemui generated_preview_api_reset_interval_ms 0
他们所做的一切努力都让“感谢”微件优质且与众不同。
解决方案第 2 部分:在应用内宣传新 widget
然后,开发者使用应用内 widget 固定来提高 widget 的曝光度和安装量。在应用中与上下文相关的时刻要求用户安装 widget,有助于用户找到自己的 widget,而无需通过系统 widget 选择器。以下 GIF 展示了 Gratitude 的底部动作条,用于从应用内添加微件:
该团队还重构了 widget 软件包,这导致 widget 接收器路径发生变化,并导致 widget 从用户的主屏幕中被删除。使用之前存储的用户标志来识别 widget 用户,他们触发了另一个 requestPinGlanceAppWidget 提示,邀请 widget 用户使用新的现代化 widget。
开发者提示:为了在从 RemoteViews 迁移到 Jetpack Glance 时保持 widget 安装,请确保您的 GlanceAppWidgetReceiver 在 Android 清单中使用与之前的 AppWidgetProvider 相同的类名称和软件包。如果需要新的类名称或软件包位置,请效仿 Gratitude,使用应用内固定功能帮助用户恢复其 widget。
该策略已见成效,10% 的 DAU 总数已采用 widget。
总结
这个“感恩”故事表明,微件可以成为培养习惯的工具。通过实现可直接从主屏幕进行自我反思的快捷操作,该团队提高了用户忠诚度。Gratitude 采用 Jetpack Glance 减少了技术债务并实现了 widget 的现代化,还提示用户在其应用内添加 widget。
“我们使用 Jetpack Glance 的体验非常棒。基于 Compose 的方法更现代、更灵活,并且与我们目前构建其余界面的方式保持一致。这样一来,我们就能更自然地表达 widget 布局、重复使用熟悉的 Compose 组件,并更快地迭代界面更改。我们之前使用 RemoteViews 时遇到的许多界面限制不再是问题,这让我们能够更轻松地构建与应用设计和体验更匹配的 widget。” - Divij Gupta
使用入门
如需开始使用 Jetpack Glance 并了解本文中提及的技术,请参阅以下指南:
- Jetpack Glance 概览
- Android 上的 widget 设计页面
- 规范 widget 布局
- 生成的 widget 预览
- widget 质量层级
- 应用内 widget 固定
- 动态配色
- 调整大小
- 配置活动
查看其他 widget 案例研究:
- Google 的“通讯录”应用使用 Jetpack Glance 将创建新微件的速度提升了 25%
- SoundCloud 仅用 2 周时间就利用 Jetpack Glance 构建了“我喜欢的曲目”widget
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
继续阅读
-
案例研究
Ultrahuman 是一家面向消费者的健康科技初创公司,可根据该公司穿戴式设备(例如 RING Air 和 M1 Live 连续血糖监测仪 [CGM])的生物识别数据,为用户提供每日健康状况分析。
Amrit Sanjeev, Trevor Johns • 阅读用时:2 分钟
-
案例研究
最近,FotMob 在 Wear OS 上的安装受众群体中实现了 5 年来单日增幅最高纪录,达到日平均增幅的 2-3 倍。秘诀是什么?简单的跨设备安装流程,可帮助用户直接通过手机发现 Wear OS 应用。
Garan Jenkin • 阅读用时:3 分钟
-
案例研究
Karrot 是一款由社区驱动的超本地化点对点交易应用,可让用户与其他经过验证的用户买卖和交易商品。自 2015 年在韩国推出以来,该平台已扩展到全球市场,累计注册用户超过 4,300 万。
Thomas Ezan, Tracy Agyemang • 阅读用时:2 分钟
随时了解最新动态
每周通过电子邮件接收最新的 Android 开发洞见。