案例研究

SoundCloud 使用 Jetpack Glance 在短短 2 周内构建了“Liked Tracks”微件

阅读用时:3 分钟

为了让用户在 Android 设备上更轻松地聆听音乐,SoundCloud(一个以音乐人为本的音乐平台)的开发者们借助 Jetpack Glance,为其备受好评的应用(评分高达 4.6 星,下载量超过 1 亿次)打造了“喜欢的曲目”微件。SoundCloud 拥有来自 4,000 多万创作者的 4 亿多首曲目,致力于通过音乐连接音乐人和粉丝。其 Android 应用的最新更新为听众提供了更便捷的方式来欣赏喜爱的曲目。在 Glance 的助力下,该团队仅用两周时间就完成了项目,不仅节省了宝贵的开发时间,还提升了用户互动度。

通过人性化的接触点,最大限度地提高曝光度

全新的“喜欢的曲目”微件会展示用户最近喜欢的曲目的封面,让用户可以直接从主屏幕跳转到特定歌曲或访问其完整曲目列表。这让 SoundCloud 始终处于听众的视线焦点,成为他们访问个人媒体库的快捷方式,并鼓励他们再次收听。

“Liked Tracks”并不是 SoundCloud 的首个微件。十多年前,SoundCloud 开发者使用 RemoteViews 创建了一个播放器 widget,让用户可以轻松控制播放和点赞曲目。最近,开发者根据设计反馈更新了播放器 widget,并确保优先为“Liked Tracks”(喜欢的曲目)提供个性化界面。新 widget 同时支持浅色和深色模式,可自由调整大小以适应用户偏好,并可动态调整主题以与用户壁纸相得益彰。这些设计选择依托 Glance,不仅确保了微件的使用体验顺畅无阻,还使其成为进入 SoundCloud 应用的个性化入口,极具吸引力。

souncloudJetPack2.png
SoundCloud 的“Liked Tracks”微件。

使用 Glance 缩短开发周期

Glance 在简化“喜欢的曲目”功能的开发过程中也发挥了关键作用。对于已经精通 Compose 的开发者来说,Glance 的直观设计让他们感到熟悉,从而缩短了学习曲线,加快了团队的上手速度。该平台提供的代码示例集也提供了有用的起点,可帮助开发者快速掌握其功能和最佳实践。“使用示例应用代码库是一种很好的学习方式。我可以查看整个代码库,并检查代码的运行方式。”SoundCloud Android 团队首席工程师 Sigute Kateivaite 说道。“它大大加快了我们开发 widget 的速度。”

SoundCloudJetPack3.png

Glance 界面的声明式特性对开发者尤其有利。由于在构建时无需使用额外的 XML 文件,开发者可以创建更简洁、更易读的代码,减少样板代码。Glance 还允许他们单独处理模块,这意味着可以一次编写和集成一个组件,并在后续迭代中重复使用。通过隔离组件,开发者可以快速测试模块、发现并解决问题,以及针对不同状态进行构建而无需重复工作,从而提高工作流效率。

Glance 的设计还提高了整体代码质量。借助 Android Studio 对 Glance 实时预览功能的支持,开发者可以独立构建组件,而无需将界面组件集成到微件中,也无需在手机上部署整个微件。他们可以呈现各种状态、查看所有相关用例,并查看对组件所做的更改,而无需编译整个应用。简而言之,Glance 提高了开发者的工作效率,因为他们可以更快地进行迭代,从而优化微件,打造更精致的最终产品。

借助 Glance 的强大功能提升应用 widget 的性能

SoundCloud 团队对 Glance 赞不绝口,因为 Glance 帮助他们建立了高效的新工作流程,避免了重大开发问题,从而简化了生产流程,取得了成功。Sigute 表示:“借助新的‘喜欢的曲目’微件,发布过程非常稳定。”“开发和测试过程非常顺利。”早期数据也显示出了可喜的成果:现在,活跃用户平均每天会通过与 widget 互动来访问应用多次。

SoundCloud4.png
日活跃用户数与微件功能的互动量增加 1 倍。

展望未来,SoundCloud 团队渴望更多地运用 Glance 来改进现有 widget(例如采用规范布局),甚至开发新的 widget。虽然当前的“喜欢的曲目”微件主要侧重于图片显示,但团队有意加入其他类型的内容,以进一步丰富用户体验。开发者还希望将 Player widget 迁移到 Glance,以便使用该框架强大的主题选项、简化大小调整流程,并解决一些长期存在的 bug。

除了“喜欢的曲目”和“播放器”功能外,该团队还对使用 Glance 构建更广泛的微件的潜力感到兴奋。“喜欢的曲目”微件采用基于组件的模块化架构,具有 UserAvatar 和 Logo 等可重复使用的元素,为未来的开发奠定了坚实的基础,有望从一开始就简化流程。

开始使用 Jetpack Glance 构建自定义应用 widget

借助 Glance,快速开发和部署微件,让您的应用始终可见并保持吸引力。


这篇博文属于我们的微件 Spotlight Week 系列,该系列提供博文、视频、示例代码等资源,旨在帮助您设计和创建微件。您可以 阅读 Spotlight Week:微件概览,了解更多信息。该概览将在本周内持续更新。

继续阅读