写点什么

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:005985

评论

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

移动端日历组件设计与实现

CRMEB

【ELT.ZIP】OpenHarmony啃论文俱乐部——浅析稀疏表示医学图像

ELT.ZIP

OpenHarmony 医学影像 稀疏矩阵 ELT.ZIP

图数据库|正反向边的最终一致性——TOSS 介绍

NebulaGraph

图数据库 知识图谱

Serverless 让我们的运维更轻松

领创集团Advance Intelligence Group

#Serverless

【ELT.ZIP】OpenHarmony啃论文俱乐部——这些小风景你不应该错过

ELT.ZIP

神经网络 OpenHarmony ELT.ZIP

什么是代码加密?基于云效 Codeup的代码仓库加密是如何实现的

阿里云云效

云计算 阿里云 代码管理 Codeup 代码加密

国产化云平台如何实现多云管控,黄河云来“打样儿”

BoCloud博云

国产化 云管理平台

高效进行接口测试,简单易懂!

Liam

测试 Jmeter Postman swagger 测试工具

linux之rpm命令

入门小站

Linux

【愚公系列】2022年04月 二十三种设计模式(零)-简单工厂模式(Simple Factory Pattern)

愚公搬代码

4月月更

博云 BeyondCMP 云管理平台 5.6 版本发布

BoCloud博云

云管理平台

深圳助力建设全国「数据交易」大市场,「隐私计算」技术赋能数据要素安全流通

洞见科技

企业管理理念之人本善还是本恶

秋去冬来春未远

企业管理 人性本善 人性本恶 一念之差

在线CSV转Plaintext(txt)工具

入门小站

工具

物联网低代码平台常用《组件介绍》

AIRIOT

开发 物联网 平台搭建、

优秀程序员的30种思维(29/100)

hackstoic

技术思维

Apache Doris (incubating) 1.0 Release 版本正式发布!

ApacheDoris

数据库 大数据 开源 OLAP apache doris

如何做好任务管理,手把手教你怎么做最高效的任务管理

阿里云云效

云计算 阿里云 云原生 研发团队 项目协作

易周金融观点:遏制NFT金融化等打下监管良基

易观分析

NFT

安全之花如何盛开在华为云空间的每个角落?

脑极体

在线YAML转CSV工具

入门小站

工具

TDesign 更新周报(2022 年 4 月第 3 周)

TDesign

以OceanBase为例,分析事务型评测基准对分布式数据库的适用性

OceanBase 数据库

分布式数据库 oceanbase

OceanBase 杨传辉参与数据库技术与应用发展研讨会

OceanBase 数据库

oceanbase

Java 操作 Office:POI word 之文档信息提取

程序员架构进阶

内容审核 4月日更 文档识别 4月月更

HLP分词后的文本如何在web端高亮显示

lo

前端 4月月更

用css制作旋转的立方体

云智慧AIOps社区

CSS 前端 大前端 3D css特效

TASKCTL 连接不到服务器的4种情况

敏捷调度TASKCTL

分布式 调度引擎 ETL 自动化运维 调度任务

火遍全网的MBTI人格测试,为什么会有那么多人相信?

小炮

MBTI

过去一周热点回顾|Hoo虎符研究院 区块链简报 20220418期

区块链前沿News

虎符交易所

论利润中心内部核算和集团核算

秋去冬来春未远

阿米巴 利润中心 集团成本

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