50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

Lyft 如何利用 iOS 实时活动来提升用户体验

  • 2024-05-05
    北京
  • 本文字数:1106 字

    阅读完需:约 4 分钟

大小:534.24K时长:03:02
Lyft 如何利用 iOS 实时活动来提升用户体验

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


ActivityKit 是苹果在 iOS 16.1 和 iPadOS 17 中引入的,它允许用户使用新设备上的灵动岛(Dynamic Island)或旧设备上的锁屏来共享应用程序的实时更新。ActivityKit 的基石是实时活动(Live Activities),可以将它视为通知的演进,因为它们不仅允许用户接收最新信息或启动应用程序,还可以在不通过按钮和切换启动应用程序的情况下执行功能。


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


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


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


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


此外,他们扩展了解决方案,以支持远程图像的显示,以便在匹配骑手后立即显示司机的个人资料图像和车辆图像。此任务要求使用 应用程序组(App Groups) 在应用程序和实现实时活动(Live activity)的扩展程序之间共享文件。即便如此,Lyft 的工程师还是找不到:


一种可靠且快速地同时显示两个图像(司机图像和汽车图像)的方式。我们一致认为,首先从用户体验(UX)的角度来看,司机的个人资料图像更为重要,并且我们可以通过将 base64 图像数据直接发送到 APN 更新有效载荷中来毫无延迟地显示它。


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


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


关于 Lyft 工程师如何在他们的应用程序中利用实时活动(Live Activities)的详细信息可以参考这里,所以如果你对此感兴趣,请不要错过原文。


原文链接:https://www.infoq.com/news/2024/04/lyft-live-activities-ios/


声明:本文为 InfoQ 翻译,未经许可禁止转载。

2024-05-05 08:006051

评论

发布
暂无评论
发现更多内容

受邀出席!图灵进化参加2025中韩企业对接会

慢点科技SlowTech

Spring AI Alibaba Admin 开源!以数据为中心的 Agent 开发平台

阿里巴巴云原生

阿里云 admin Spring AI Alibaba

【浪潮海岳inDatax数据中台专栏】海岳inDataX物料主数据智能分类

inBuilder低代码平台

数据中台 主数据 inDataX

工业仪表 过程仪表经验总结(8)

万里无云万里天

工业 工厂运维

YashanDB数据库的关键性能指标及优化实用指南

数据库砖家

深夜的调试界面,藏着微信生态的黄金密码

微擎应用市场

2025十大智慧酒店解决方案服务商全解析

新消费日报

成熟稳定、省钱好用的AI应用怎么开发?趣丸科技员工助手的技术实践

老纪的技术唠嗑局

人工智能、 #OceanBase

复盘:如何用Coze+Kimi,搭建一个能自动分析财报的“金融助理”?

测吧(北京)科技有限公司

IT项目管理的智能化新模式-ManageEngine卓豪

ServiceDesk_Plus

ManageEngine卓豪

AI缺陷检测系统:用智能视觉技术为制造业装上“火眼金睛”

上海拔俗

YashanDB数据库的高可用性设计详解

数据库砖家

YashanDB数据库的高效数据压缩算法介绍

数据库砖家

案例 | 全球70+种方言精调:解码多语言大模型的"地道"表达

澳鹏Appen

大模型 多语言模型

GaussDB 数据集成方案:ETL 工具如何简化企业上云过程

谷云科技RestCloud

数据传输 数据同步 ETL 数据集成 GaussDB 实时同步

YashanDB数据库的访问控制与用户管理技巧

数据库砖家

阿里出手了:全免费!号称国内版ClaudeCode?

王磊

YashanDB数据库的多租户环境设计与实现

数据库砖家

YashanDB数据库的高级查询功能详解

数据库砖家

YashanDB更新与维护策略

数据库砖家

人工智能运维教学训练一体化系统:让AI运维人才“学得会、练得熟、用得上

上海拔俗

“智能界面”破局品牌全球化 易点天下双奖加冕

新消费日报

狄耐克携手北师大! 推进"脑电波+专注培优"相关技术取得阶段性成果

新消费日报

2025 AI 智能问数产品推荐:Aloudata Agent 分析决策智能体

Aloudata

AI 数据分析 agent ChatBI 智能问数

哪些设计工具支持MCP?3个AI软件盘点汇总

职场工具箱

产品设计 figma ui设计 MCP MCP Server

工业设计 自控设计经验总结(16)

万里无云万里天

设计师 工业 工厂运维

一个基于 .NET 开源、功能强大的分布式微服务开发框架

追逐时光者

.net 微软 微服务

YashanDB 多副本同步技术及其应用成效的分析

数据库砖家

YashanDB数据库的多节点同步技术全面解析

数据库砖家

从数据不通到流程自动化:财务 RPA 如何打通 ERP 与银行的 “最后一公里”?

Techinsight

YashanDB数据库的故障检测与自动修复机制解析

数据库砖家

Lyft 如何利用 iOS 实时活动来提升用户体验_软件工程_Sergio De Simone_InfoQ精选文章