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

移动应用程序中需要追踪的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.

相关推荐
热点推荐
来了!苹果发布 iOS 27.1 正式版系统

来了!苹果发布 iOS 27.1 正式版系统

XCiOS俱乐部
2026-10-24 13:40:37
阿门死亡封盖引热议!杜兰特等人发声狂赞 文班回应:我应该扣篮的

阿门死亡封盖引热议!杜兰特等人发声狂赞 文班回应:我应该扣篮的

追球者
2026-10-24 13:30:32
火箭对阵老鹰,轮休开启!首发调整?新援顶替范乔丹,饼皇回轮换

火箭对阵老鹰,轮休开启!首发调整?新援顶替范乔丹,饼皇回轮换

智商已欠费啦
2026-10-25 06:06:04
双11大跳水!华为Mate80降至3599,旗舰配置下放中端

双11大跳水!华为Mate80降至3599,旗舰配置下放中端

时尚的弄潮
2026-10-25 00:04:55
金鸡提名爆冷!装疯卖傻、大脑空空,难怪金鸡奖从不提名流量明星

金鸡提名爆冷!装疯卖傻、大脑空空,难怪金鸡奖从不提名流量明星

林轻吟
2026-10-23 07:20:14
钱再多有什么用?39岁身价不菲的李思思,如今却为儿子操碎了心

钱再多有什么用?39岁身价不菲的李思思,如今却为儿子操碎了心

新一说史
2026-10-23 09:03:32
十二年双反,欧盟自家太阳能玻璃产业归零,中国剩3%,印度东南亚端走了盘子

十二年双反,欧盟自家太阳能玻璃产业归零,中国剩3%,印度东南亚端走了盘子

王新喜
2026-10-24 09:36:11
4-0!周海滨挂帅,U15国足获世界杯开门红,球员破门后模仿C罗SIU庆祝

4-0!周海滨挂帅,U15国足获世界杯开门红,球员破门后模仿C罗SIU庆祝

侃球熊弟
2026-10-24 15:30:14
实习女幼师凌晨点外卖,餐送达后女子收到商家短信:千万不要去拿

实习女幼师凌晨点外卖,餐送达后女子收到商家短信:千万不要去拿

罪案洞察者
2025-09-12 14:41:34
贾乃亮一天卖5.7亿还在拼,离婚后甜馨不跟他住,挣这么多钱到底补的是谁的缺

贾乃亮一天卖5.7亿还在拼,离婚后甜馨不跟他住,挣这么多钱到底补的是谁的缺

陈意小可爱
2026-10-25 06:43:05
“咔嚓”一声7998块没了!网友表示:这是故意黑?还是确有其事?

“咔嚓”一声7998块没了!网友表示:这是故意黑?还是确有其事?

小柱解说游戏
2026-10-25 06:46:42
重回榜首?上海94 89赢球夜卢伟偏不夸古德温30+11,反手把拉塞尔和麦基的防守底裤当众扯了下来

重回榜首?上海94 89赢球夜卢伟偏不夸古德温30+11,反手把拉塞尔和麦基的防守底裤当众扯了下来

忘川无我n
2026-10-25 05:16:24
动手了!伊朗突宣大消息!

动手了!伊朗突宣大消息!

大嘴说天下
2026-10-24 20:35:04
影视飓风抖音连麦突然被封禁:毫无逻辑的理由

影视飓风抖音连麦突然被封禁:毫无逻辑的理由

阿废冷眼观察所
2026-10-24 15:51:15
加图索:赛季初所有人都把我们当死人,认为我们要为保级而战

加图索:赛季初所有人都把我们当死人,认为我们要为保级而战

懂球帝
2026-10-25 07:00:13
中国芯片工程师徐泽伟:在意大利被引渡至美国,如今怎么样了?

中国芯片工程师徐泽伟:在意大利被引渡至美国,如今怎么样了?

史智文道
2026-10-22 11:52:52
巴菲特的智慧:如果你有四五十万存款,请尽早学会“三停”的智慧

巴菲特的智慧:如果你有四五十万存款,请尽早学会“三停”的智慧

阿胖读书
2025-08-28 15:21:36
四大特殊央企跳出国资委管辖!铁路、邮政、烟草、北大荒监管逻辑

四大特殊央企跳出国资委管辖!铁路、邮政、烟草、北大荒监管逻辑

笑熬浆糊111
2026-09-25 09:04:33
地球上的“幽灵国”:时间永远停在1991年,至今还不放弃苏联制度

地球上的“幽灵国”:时间永远停在1991年,至今还不放弃苏联制度

文史达观
2026-10-25 06:45:19
以退为进?阿尔瓦雷斯就转会巴塞罗那闹剧向马德里竞技球迷道歉

以退为进?阿尔瓦雷斯就转会巴塞罗那闹剧向马德里竞技球迷道歉

本泽体育
2026-10-25 07:06:19
2026-10-25 07:27:00
新浪财经 incentive-icons
新浪财经
新浪财经是一家创建于1999年8月的财经平台
5183935文章数 9852关注度
往期回顾 全部

科技要闻

写程序、做3D,新Kimi还有多少本事?

头条要闻

澳官方扑杀200万只野猫 当地人直接搬出"全自动杀猫机"

头条要闻

澳官方扑杀200万只野猫 当地人直接搬出"全自动杀猫机"

体育要闻

从乐透秀到总冠军再到没工作 一共要几年?

娱乐要闻

翁虹19岁女儿三次拒爱,在美国上学却“不随便”

财经要闻

叫"保障"不叫"保险":租车平台的文字游戏

汽车要闻

大众安徽与众09正式上市 双十一权益价16.99万起

态度原创

亲子
家居
本地
公开课
军事航空

亲子要闻

全国试点!坪山这所幼儿园筑牢平安校园防线

家居要闻

2026建博会(广州) 公装联探展交流活动

本地新闻

这么近,那么美,周末赴贺州丨大湾区后花园

公开课

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

军事要闻

辽宁舰编队远海训练细节首度披露

无障碍浏览 进入关怀版