网易首页 > 网易号 > 正文 申请入驻

移动应用程序中需要追踪的5个用户流程

0
分享至

来源:云云众生s

跟踪是一个灵活的工具,可以帮助确保良好的性能,验证您的用户流程并确定您的应用程序中的工作单元是否有效。

译自5 User Flows to Trace in Your Mobile App,作者 David Rifkin。

在移动应用程序中,与微服务系统不同,跟踪可以在框架之间发生,也可以只在一个视图中发生。无论复杂程度如何,目标都是一样的:评估应用程序的性能及其对用户体验的影响。现代可观察性需要计划好的努力,但为了获得洞察力,这项工作是值得的。

但是,你如何知道何时使用跟踪?

当你想跟踪应用程序生态系统中操作的持续时间时,你应该使用跟踪。考虑你将在移动应用程序中描述的任何过程:你可能想查看视图何时进入用户界面 (UI) 或用户是否完成了登录。跟踪过程中的各个步骤,可以让你了解它是否成功或失败,所涉及的步骤是否有效,或者它们是否容易出错或导致意外结果。

在 Embrace 中进行跟踪

大多数跟踪框架提供手动检测,以便你可以在需要的地方添加跟踪。这可能很令人生畏,因为它需要在你要查看的每个步骤中添加代码。一个好的经验法则是添加你认为需要的检测——对于最重要的步骤——然后在你分析收集到的遥测数据后,改进你的方法。

我将使用 Embrace 的iOS 性能跟踪检测来演示移动应用程序中的关键流程。Embrace 的跟踪检测位于OpenTelemetry 跟踪之上,它允许使用诸如SpanEvents、属性和父子Span关系之类的概念。

Span 是跟踪的关键元素。Embrace 库使用一个特定的Span,即根Span,来确定跟踪的名称及其与其中其他元素的关系。一个简单的跟踪,其父进程为 A,子进程为 B,将像这样进行检测:

letparentSpan=Embrace.client? .buildSpan(name: "Process A") // .markAsKeySpan marks the root span and makes // it a searchable key in the Embrace trace dashboard .markAsKeySpan() .startSpan() [...thingshappen] letchildSpan=Embrace.client? .buildSpan(name: "SubProcess B") .setParent(parentSpan) .startSpan() [...] childSpan.end() [...] parentSpan.end()

完成后,父子跟踪将在仪表板中显示如下:

父子关系由向下箭头符号(在上面图像左侧的“Span”下)表示,随着你为给定进程连接更多工作单元,它将不断增长。这种显式检测模式允许你在整个应用程序中添加Span和跟踪。此外,绿色条表示Span已成功完成。在你的检测中,你在结束Span时确定Span的成功与否;所有Span都必须结束。失败将在 Embrace 的仪表板中生成红色条。

让我们看一下构成一些常见流程的方面,以及在跟踪完成后它们在 Embrace 仪表板中的样子。

跟踪搜索

一个人可能会使用你的应用程序搜索新信息,浏览库存或只是查看朋友的社交媒体帐户。在任何这些情况下,他们都会执行实时文本搜索,并期望立即看到一组结果,他们可以浏览这些结果并可能进行选择。你可能会为在交互过程中键入的短语添加一些有用的缓存。

可以使用应用程序中搜索过程的跟踪来捕获这些实时交互:

请注意,你希望特定操作的Span名称保持一致,并避免出现嘈杂的仪表板体验。但是,使用Span属性,你可以为每个Span添加更多上下文。例如,如果你想查看请求是否因特定搜索短语而失败,你可以将该短语的文本作为每个Network/Search Text Request Made创建的Span的属性添加,然后在仪表板中分析该信息。

跟踪身份验证

用户通常希望登录您的应用程序以确保其个人资料安全。但是,有很多方法可以登录,并且在身份验证过程中有很多点可能会失败。跟踪可能涉及诸如凭据缓存、登录请求、双因素身份验证甚至生物识别等单元。

在这个流程中,用户成功和技术成功之间的区别具有概念上的重要性。从用户的角度来看,缓存的凭据步骤和生物识别步骤没有成功登录。但是,应用程序的这些组件运行正常,因此即使它们没有导致“最佳”用户结果,Span也被标记为“成功”。

跟踪结账

如果您在应用程序中销售商品,您的用户将希望能够结账!这对他们来说很直观,但对您来说,完成销售需要很多步骤:他们需要添加商品,您需要检查商品是否有库存,您需要支付信息,您需要确保支付完成并且用户收到成功购买的通知。

请注意,我在这里标记了跟踪中每个部分所包含的广泛功能。在跨多个微服务的分布式跟踪中,Span的名称描述了其操作的来源服务。在像移动应用程序这样的单体软件中,采用类似的命名系统可能会将开发人员引导到正确的文件或库,以便在评估性能或调试问题时进行查看。

跟踪位置(和其他基于权限的功能)

如果您使用设备级别的权限(例如位置)来执行用户操作,您可能需要在应用程序 UI 的各个点请求这些权限。由于这些操作完全在设备上进行,因此您可能不必担心应用程序与外部服务的交互。但是,由于您可能需要在应用程序体验的各个点访问位置,因此这些操作具有在许多地方被调用的额外风险。

跟踪网络

最后,我将介绍跟踪网络请求的重要性。您的应用程序是通过其运行的移动设备与网络服务交互的软件,用于发送和接收关键信息和媒体。移动应用程序性能低下的一些最常见原因源于不一致或不可靠的网络。

网络与我迄今为止介绍的每个跟踪场景都相关,因为大多数用户流程都使用外部服务来完成操作。网络功能可以完全是现成的,也可以是自定义构建的,甚至可以通过 Alamofire 等第三方库运行。

无论如何,您可能希望深入研究支持您的网络的代码,因为问题的根本原因可能是请求过程中各种设备、应用程序或用户因素——添加标头、查找工作服务、以正确的格式和有效负载大小接收数据或反序列化问题。

总结

正如您从这些跟踪示例中看到的那样,在许多步骤中,您可能希望使用子Span进行更深入的挖掘。您可能不希望复制上面的跟踪,因为在更细粒度的级别上还有许多更小的子单元需要跟踪。根据应用程序的构建方式,您可能希望为流程的每个步骤构建单独的跟踪,而不是创建一个包含许多子项的单个大型跟踪。

跟踪允许您深入了解影响用户体验的细节,您可以根据代码的检测程度进行深入了解。能够将用户活动或应用程序性能的跟踪聚合到指标中,然后将滞后的指标回溯到用户活动,意味着您已经开始将遥测编织成用户体验的完整画面。

如果您存在可见性差距,请考虑在关键用户流程中检测一些跟踪作为起点。如果您有任何问题或想了解更多关于移动应用程序中跟踪的信息,您可以加入Embrace Slack 社区。此外,请查看Embrace 网站,了解如何提供最佳的用户体验。

本文在云云众生(https://yylives.cc/)首发,欢迎大家访问。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
周乐伟主动投案,曾任格力集团董事长

周乐伟主动投案,曾任格力集团董事长

台州交通广播
2026-04-28 23:49:56
5月1日起!摩托“非禁即行”落地,13省高速禁行,摩友有福了

5月1日起!摩托“非禁即行”落地,13省高速禁行,摩友有福了

老特有话说
2026-04-28 16:04:51
正大量上市!硒是洋葱的30倍,中老年人多吃它,手脚灵活,精神棒

正大量上市!硒是洋葱的30倍,中老年人多吃它,手脚灵活,精神棒

阿龙美食记
2026-04-28 14:08:52
新华社权威快报|我国自2026年5月1日起对所有非洲建交国实施零关税

新华社权威快报|我国自2026年5月1日起对所有非洲建交国实施零关税

新华社
2026-04-28 18:19:09
2026年全面禁麻将?公安部划定红线,不超这个金额全合法!

2026年全面禁麻将?公安部划定红线,不超这个金额全合法!

笔墨V
2026-04-28 14:08:20
携程集团2025财年净利润332.94亿元人民币,同比增长92.97%

携程集团2025财年净利润332.94亿元人民币,同比增长92.97%

IT之家
2026-04-28 18:53:09
炸裂!“最强降压药” 真的来了!30 年一遇,专门收拾顽固高血压

炸裂!“最强降压药” 真的来了!30 年一遇,专门收拾顽固高血压

孟大夫之家1
2026-04-28 19:07:08
智能眼镜终于不是概念尝鲜了?千问这次来真的了

智能眼镜终于不是概念尝鲜了?千问这次来真的了

差评XPIN
2026-04-17 00:08:30
米饭被点名!医生直言:米饭冷冻24小时,抗性淀粉翻倍控糖护肠

米饭被点名!医生直言:米饭冷冻24小时,抗性淀粉翻倍控糖护肠

路医生健康科普
2026-04-26 19:55:03
某境外组织大力资助“躺平网红”,系统性开展“躺平洗脑”,国安部提醒

某境外组织大力资助“躺平网红”,系统性开展“躺平洗脑”,国安部提醒

界面新闻
2026-04-28 08:10:01
2026最严禁赌来袭!棋牌室、家庭麻将全部核查,红线已划定

2026最严禁赌来袭!棋牌室、家庭麻将全部核查,红线已划定

何氽简史
2026-04-28 19:31:43
4000万粉网红白冰,偷税超900万被查!从发廊小哥到富豪,靠“接地气、不割韭菜”立人设!

4000万粉网红白冰,偷税超900万被查!从发廊小哥到富豪,靠“接地气、不割韭菜”立人设!

新民周刊
2026-04-28 20:08:08
Manus被取消交易:创业者不能既要、又要、也要、还要

Manus被取消交易:创业者不能既要、又要、也要、还要

小星球探索
2026-04-28 12:08:06
重磅!俄黑海舰队高层遭团灭,29集团军被打残

重磅!俄黑海舰队高层遭团灭,29集团军被打残

史政先锋
2026-04-28 18:10:17
甘肃榆中山洪灾害调查评估报告公布

甘肃榆中山洪灾害调查评估报告公布

界面新闻
2026-04-28 16:01:49
突然闪崩,发生了什么?

突然闪崩,发生了什么?

中国基金报
2026-04-28 16:14:20
10年19冠!曼城官宣31岁功勋自由身离队 周薪25万  意甲3豪门哄抢

10年19冠!曼城官宣31岁功勋自由身离队 周薪25万 意甲3豪门哄抢

我爱英超
2026-04-28 20:29:10
Claude自己上“闲鱼”:砍价成交186单,实验结果反直觉

Claude自己上“闲鱼”:砍价成交186单,实验结果反直觉

智东西
2026-04-27 18:08:21
24小时内,中俄兵分两路,普京接见伊朗外长,特朗普做出巨大让步

24小时内,中俄兵分两路,普京接见伊朗外长,特朗普做出巨大让步

坠入二次元的海洋
2026-04-28 19:50:47
煽动躺平,该当何罪

煽动躺平,该当何罪

海涛评论
2026-04-28 22:12:05
2026-04-29 01:56:49
新浪财经 incentive-icons
新浪财经
新浪财经是一家创建于1999年8月的财经平台
3049670文章数 6990关注度
往期回顾 全部

科技要闻

10亿周活目标落空!传OpenAI爆发内部分歧

头条要闻

19岁中国女孩被困缅甸 交20万赎金园区仍未放人

头条要闻

19岁中国女孩被困缅甸 交20万赎金园区仍未放人

体育要闻

魔术黑八活塞,一步之遥?!

娱乐要闻

蔡卓妍官宣结婚,老公比她小10岁

财经要闻

中央政治局会议定调,八大看点速览!

汽车要闻

拒绝疯狂套娃!现代艾尼氪金星长在未来审美点上

态度原创

游戏
亲子
数码
公开课
军事航空

这不爽翻了?曝PS6或能稳稳运行60帧+光追的游戏画面

亲子要闻

有一点点近视,到底要不要戴眼镜?

数码要闻

机械革命苍龙16 / 18 Pro游戏本RTX 5070 12GB款开启预约

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

德国总理默茨:美国正遭受伊朗领导层的羞辱

无障碍浏览 进入关怀版