Lyft 如何利用 iOS Live 活动来增强用户体验

Lyft iOS 工程师 Max Husar 解释说,为用户提供及时更新是改善移动体验的关键,尽管这会增加开发范围和工作量。 为了实现灵活性、可靠性和可重用性之间的平衡, Lyft 工程师使用 iOS ActivityKit 将动态内容添加到他们的应用程序中

活动套件 Apple 在 iOS 16.1 和 iPadOS 17 中引入了该功能,可以使用较新设备上的动态岛或旧设备上的锁定屏幕来共享应用程序的实时更新。 ActivityKit 的基石是实时活动,它可以被视为通知的演变,因为它们不仅允许用户接收最新信息或启动应用程序,而且还可以在不通过按钮和切换启动应用程序的情况下执行功能。

正如 Husar 所解释的,Lyft 工程师将每个实时活动作为一种在主应用程序之上运行的迷你应用程序来处理。 这也反映了 Lyft 的组织结构,即多个团队同时在不同领域工作。

我们决定使用服务器驱动的用户界面 (SDUI) 构建完全由服务器驱动的实时活动内容。 我们已经在应用程序中与实时活动重叠的一些屏幕上使用了 SDUI 框架,因此重用基本模型和熟悉的模式可以帮助我们更快地前进。

主要的 局限性 实时活动来自内容更新允许的最大负载大小,即 4KB。 在 Lyft 的例子中,这需要调整他们的 SDUI 模型以及使用 protobuf 进一步减少有效负载大小的一些字节。

基于这种方法,Lyft 的 iOS 团队创建了多个与用户交互的组件,包括能够呈现格式化文本以及图像或计时器的 RichText 组件,以及用于向乘客显示 Lyft 汽车的速度的进度条接近。

此外,他们还扩展了解决方案,支持显示远程图像,以便在匹配骑手后立即显示驾驶员的个人资料照片和汽车。 此任务需要使用 应用程序组 在应用程序和实施实时活动的扩展程序中共享文件。 即便如此,Lyft 工程师也无法找到:

一种可靠、快速地同时显示两个图像(驾驶员照片和汽车)的方法。 我们一致认为,从 UX 角度来看,首先查看驾驶员的个人资料照片更为重要,并且我们可以通过将 Base64 图像数据直接发送到 APNs 更新负载来毫无延迟地显示它。

另一个限制来自这样一个事实:图像只能在应用程序处于活动状态或处于后台但有足够的后台处理时间时才能下载。

Husar 表示,总的来说,直播活动采用的解决方案无论复杂程度如何,都是成功的,并且能够增强数百万用户的用户体验。

1712920139
2024-04-12 11:00:21
#Lyft #如何利用 #iOS #Live #活动来增强用户体验

Leave a Reply

Your email address will not be published. Required fields are marked *

近期新闻​

编辑精选​