ARMS 用户体验监控正式发布原生鸿蒙应用 SDK

作者:杨兰馨(楠瑆)

背景

2024 年 10 月 22 日,华为正式发布了原生鸿蒙操作系统(HarmonyOS NEXT)。原生鸿蒙实现了系统底座全部自研,系统的流畅度、性能、安全特性等方面显著提升,也实现了操作系统的自主可控。目前,已有超过 15000 个鸿蒙原生应用和元服务上架,为了进一步优化用户的使用体验,提升开发者效率,阿里云 ARMS 用户体验监控(Real User Monitoring,RUM)推出用于监控原生鸿蒙应用的 SDK,成为原生鸿蒙开发者的首选辅助工具。

功能介绍

ARMS RUM 产品覆盖浏览器、小程序、APP、PC 等客户端环境,观测与分析用户行为、页面性能,精准把握用户体验。本次发布的接入原生鸿蒙应用的 SDK 使用 ArkTS 语言进行开发,数据采集功能完备,在用户使用过程中可以对鸿蒙应用全方位监控。

2.1 页面采集

支持原生页面和 Webview 页面采集。产品统计了页面访问量、平均加载耗时、缓慢访问占比、平均停留时间、访问用户数等详细指标,并且按照地域、App 版本、联网方式、设备、操作系统、运营商等维度统计页面访问的分布。进一步,在页面明细模块,展示访问当前页面的设备品牌、型号、访问时间、IP 地址等信息,并且按照页面维度,展示在当前页面发生的点击、资源加载、异常等事件。针对 Webview 页面,RUM 支持对 Webview 页面错误、页面请求、页面路由切换进行采集。

2.2 资源加载采集

RUM 原生鸿蒙 SDK 会对所有类型的资源加载采集,具体包含 image、script、css、navigation 等静态资源加载和 socket、websocket、api 等动态资源加载。支持网络请求采集,具体包含 RCP、HTTP、WebSocket、TCPSocket、UDPSocket。 针对资源加载,RUM 统计了加载次数、平均加载耗时、错误次数、错误率、请求方法等指标,并且在资源详情页面,展示了 DNS 查询、TCP 链接、SSL 建连、请求响应、内容传输、DOM 解析、资源加载等资源加载性能指标。

2.3 异常采集

异常统计是开发者最为关注的一个模块,RUM 原生鸿蒙 SDK 支持对 JS 崩溃、CPP 崩溃、APP Freeze、卡顿等类型异常的采集。产品对异常次数、崩溃率、影响会话数、影响用户数、异常分布等指标进行分析。

点击异常名称进入异常明细页面,与资源加载和页面访问类似,异常模块也按照地域、App 版本、联网方式、设备、操作系统、运营商等维度进行异常次数统计,并且展示了 Top50 的异常用户明细。比较关键的是,产品展示了具体的异常堆栈信息,并且提供了异常解析功能。在开发者上传对应的 Soucemap / 符号表 so 文件后(如果在应用构建时开启混淆构建,还需额外上传反混淆映射表文件),点击解析堆栈按钮,可以得到对应的解析结果,帮助开发者定位异常产生的位置,从而快速优化代码。

2.4 自定义采集

RUM 原生鸿蒙 SDK 支持开发者根据自身业务需求设定自定义事件、自定义日志的上报。自定义事件支持对事件名称、事件分组、属性值、以及自定义属性的配置。自定义日志支持对日志类型、日志内容、日志自定义属性的配置。

如何开始

只需几个简单步骤,即可将鸿蒙用户体验监控SDK接入您的项目之中:

3.1 集成 SDK

第一步:鸿蒙 RUM SDK 已发布到第三方仓库中,在 Terminal 窗口中,切换到模块级目录,执行如下命令安装三方包,DevEco Studio 会自动在该模块的 oh-package.json5 中自动添加三方包依赖。

cd path/to/your/project
ohpm config set registry https://ohpm.openharmony.cn/ohpm/
ohpm install @alibabacloud_rum/harmony_sdk

第二步:Rebuild 项目,确保配置生效。

3.2 接入 SDK

配置授权信息

检查应用程序 module.json5 配置文件,确保已引入如下授权:

ohos.permission.INTERNET            发送网络数据
ohos.permission.GET_NETWORK_INFO    获取网络状态信息

配置 ohmurl 规则

将工程级或模块级 build-profile.json5 中的 useNormalizedOHMUrl 修改为 true, 若没有该配置项请手动添加。

{"app" : {"products": [{"buildOption": {"strictMode": {"useNormalizedOHMUrl": true}}}]}
}

初始化 SDK

在入口 entry module 自定义 AbilityStage 中的 onCreate 函数中,添加如下代码:

AlibabaCloudRum.withAppID("<your appid>") // AppID 在创建 RUM 应用时获取.withConfigAddress("<your config address") // ConfigAddress 在创建 RUM 应用时获取.start(this.context.getApplicationContext());

代码示例:

onCreate(): void {this.initAlibabaCloudRumSdk();
}private initAlibabaCloudRumSdk() {AlibabaCloudRum.withAppID("<your appid>").withConfigAddress("<your config address").start(this.context.getApplicationContext());
}

更多的详细配置,详见官方接入文档 [ 1] ,接口说明 [ 2] ,SDK 的版本说明 [ 3]04

结语

原生鸿蒙系统是我国首个实现全栈自研的操作系统,全面突破操作系统核心技术,真正实现了国产操作系统的自主可控。在这样的背景下,RUM 推出的用于监控原生鸿蒙的 SDK 为鸿蒙应用的开发者提供了更进一步的便利,对衡量用户体验关键的指标进行全面的分析和追踪。目前阿里云用户体验监控 SDK 已经在华为 SDK 生态市场正式上架,详情可以点击此处了解。

相关文档:

[1] 接入文档

https://help.aliyun.com/zh/arms/user-experience-monitoring/access-harmonyos-application

[2] SDK 配置文档

https://help.aliyun.com/document_detail/2859795.html

[3] SDK 版本说明

https://help.aliyun.com/document_detail/2859794.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/853685.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

零基础学习人工智能—Python—Pytorch学习(十二)

前言 本文介绍使用神经网络进行实战。 使用的代码是《零基础学习人工智能—Python—Pytorch学习(九)》里的代码。 代码实现 mudule定义 首先我们自定义一个module,创建一个torch_test17_Model.py文件(这个module要单独用个py文件定义),如下: import torch.nn as nn import…

700PB数据的数仓依然“快稳省”!ByteHouse这本白皮书揭秘关键(内附下载链接)

12月10日,《火山引擎ByteHouse云数仓产品白皮书》在线上发布。在数字经济蓬勃发展的今天,企业面临着数据量爆炸性增长、数据分析需求日益复杂的双重挑战。传统的数据仓库解决方案已经难以满足企业对数据处理速度和灵活性的高要求。为了应对这些挑战,火山引擎于2021年正式推出…

子查询关联条件字段没有指定表的别名导致的查询结果不正确的问题

子查询关联查询问题,子查询关联条件字段没有指定表的别名导致的查询结果不正确的问题首先介绍一下表结构和背景;有两个数据库表,供应商XX任务主表和供应商等级变更记录表; 等级表里面有多个任务,两张表是通过同名称的字段,supplier_id关联; ①SQL是XX任务表关联供应商等…

Xinference环境搭建推理测试

引子 写了很多篇开源大模型的环境部署与推理搭建,截止到目前,开源大模型已经发展较为完善。个人觉得,产品和项目维度来看更多的是如果去落地实现,也就是大模型的最后一公里的应用开发。最近看到Xinference一个开源很火的推理框架。OK,那就让我们开始吧。 一、框架介绍 Xin…

前端工程化_CSS 工具链_学习笔记

本文主要介绍了 CSS 工具链,可以看出工具链的出现都是为了解决语言的问题,文中就介绍了预处理器和后处理器,预处理器主要介绍了 sass,并举了星空这个例子,sass 是通过与预编译器编译成 css 后给 html 使用;后处理器则介绍了 postcss,其中 postcss 和 babel 类似,都有很…

车载以太网TSN设计及测试解决方案

智能汽车电子电气架构全面向中央+区域式发展,车载通信新技术是新架构技术栈的重要组成部分。车载以太网时间敏感网络TSN技术凭借其低延时、高可靠的特点获得多家OEM的认可。依赖多年技术研发及数十个项目的实践积累,经纬恒润可为客户提供全面、专业且本土化的TSN设计与测试解…

看板软件:跨境电商圣诞营销加速器

看板软件在跨境电商中发挥着多重作用,特别是在圣诞节这一关键销售时期。通过清晰有序的任务管理、灵活适配的自定义功能、高效的信息整合与数据分析、以及精准有效的营销策略应用,看板软件显著提升了跨境电商团队的协作效率和销售能力。圣诞节作为全球最重要的购物节日之一,…

LameUI:轻量级嵌入式图形用户界面的绝佳选择

在信息技术迅猛发展的今天,嵌入式系统逐渐成为各种智能设备的核心。这些系统往往面临资源有限的挑战,因此在开发用户界面时,使用轻量级、易于实现的库显得尤为重要。在这种背景下,LameUI 应运而生。作为一个轻量级且平台无关的图形用户界面库,LameUI 旨在为开发者提供简便…

分享图片

测试图片分享

LT1121IST-5#TRPBF 规格书 数据手册具有关断功能的微功率低压差稳压器芯片

LT1121/LT1121-3.3/LT1121-5是具有关断功能的微功率低压差稳压器。这些设备能够以0.4V的压降提供150mA的输出电流。这些设备设计用于电池供电系统,低静态电流(30A运行,16A关断)使其成为理想的选择。静态电流得到良好控制,不会像许多其他低压差PNP稳压器那样在压降时上升。…

OPA828IDR OPA2828 数据手册一款低失调电压、低温漂、低噪声输入运算放大器芯片

OPA828 和 OPA2828 (OPAx828) JFET 输入运算放大器是 OPA627 和 OPA827 的下一代产品,兼具高速度、高直流精度和高交流性能。这些运算放大器可提供低失调电压、低温漂、低偏置电流和低噪声,噪声仅为60nVRMS 0.1Hz 至 10Hz。OPAx828 在 4V 至 18V的宽电源电压范围内工作,每通…

vue2 脚手架安装及使用

1.安装npm install -g @vue/cli 2.查看版本vue -V 3.使用3.1 命令形式vue create my-project 3.2可视化操作