首页 > 其他分享 >ARMS 用户体验监控正式发布原生鸿蒙应用 SDK

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

时间:2024-12-16 11:09:33浏览次数:6  
标签:原生 鸿蒙 RUM 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

标签:原生,鸿蒙,RUM,ARMS,SDK,加载,页面
From: https://www.cnblogs.com/alisystemsoftware/p/18609596

相关文章

  • Easysearch Java SDK 2.0.x 使用指南(一)
    各位Easysearch的小伙伴们,我们前一阵刚把easysearch-client更新到了2.0.2版本!借此详细介绍下新版客户端的使用。新版客户端和1.0版本相比,完全重构,抛弃了旧版客户端的一些历史包袱,从里到外都焕然一新!不管是刚入门的小白还是经验丰富的老司机,2.0.x客户端都能让你开发效率......
  • OpenFi 5Pro接手机共享网络--支持鸿蒙 、 Android、iPhone 手机
    出门在外,相信很多移动工作的朋友,会遇到需要临时共享给其他设备提供网络的需求。用手机共享移动网络热点WiFi给其他设备用,比如第二个工作手机,平板电脑,笔记本等设备,这是一个不错的方案,简单方便,解决了临时网络的痛点。但是手机共享也有一定弊端,比如网络速度不快,支持接入设备有......
  • 三文带你轻松上手鸿蒙的 AI 语音 03-文本合成声音
    三文带你轻松上手鸿蒙的AI语音03-文本合成声音前言接上文三文带你轻松上手鸿蒙的AI语音02-声音文件转文本HarmonyOSNEXT提供的AI文本合并语音功能,可以将一段不超过10000字符的文本合成为语音并进行播报。场景举例手机在无网状态下,系统应用无障碍(屏幕朗读)接入......
  • 三文带你轻松上手鸿蒙的 AI 语音 02-声音文件转文本
    三文带你轻松上手鸿蒙的AI语音02-声音文件转文本接上一文前言本文主要实现使用鸿蒙的AI语音功能将声音文件识别并转换成文本实现流程利用AudioCapturer录制声音,生成录音文件利用AI语音功能,实现识别两个录音库介绍在HarmonyOSNEXT应用开中,实现录音的两个核心......
  • 三文带你轻松上手鸿蒙的 AI 语音 01-实时语音识别
    三文带你轻松上手鸿蒙的AI语音01-实时语音识别前言HarmonyOSNext中集成了强大的AI功能。CoreSpeechKit(基础语音服务)是它提供的众多AI功能中的一种。CoreSpeechKit(基础语音服务)集成了语音类基础AI能力,包括文本转语音(TextToSpeech)及语音识别(SpeechRecognizer)能力,便......
  • 手把手带你实现 鸿蒙应用-键盘音乐
    手把手带你实现鸿蒙应用-键盘音乐先看结果关键技术基本布局技巧AVPlayer面向对象全部采用V2版本状态管理技术新建一个项目创建项目新建项目目录结构-可以后期用到再去新建设置全局沉浸式设置和不设置全局沉浸式的区别是这样的在src/main/ets......
  • 鸿蒙交互事件开发01——点击/拖拽/触摸事件
    1概  述事件是人机交互的基础,鸿蒙开发中,事件分为两大类:a)通用事件;b)手势事件。......
  • 鸿蒙UI系统组件09——气泡(Popup)
    1、概述Popup属性可绑定在组件上显示气泡弹窗提示,设置弹窗内容、交互逻辑和显示状态。主要用于屏幕录制、信息弹出提醒等显示状态。气泡分为两种类型,一种是系统提供的气泡PopupOptions,一种是开发者可以自定义的气泡CustomPopupOptions。其中PopupOptions为系统提供的气泡,通过配......
  • 鸿蒙UI系统组件08——自定义弹窗(CustomDialog)
    1、概述自定义弹窗(CustomDialog)可用于广告、中奖、警告、软件更新等与用户交互响应操作。开发者可以通过CustomDialogController类显示自定义弹窗。2、创建自定义弹窗使用@CustomDialog装饰器装饰自定义弹窗。@CustomDialog装饰器用于装饰自定义弹框,此装饰器内进行自定义......
  • 鸿蒙UI系统组件07——视频播放器(Video)
    1、概述Video组件用于播放视频文件并控制其播放状态,常用于为短视频应用和应用内部视频的列表页面。当视频完整出现时会自动播放,用户点击视频区域则会暂停播放,同时显示播放进度条,通过拖动播放进度条指定视频播放到具体位置。Video组件已经封装好了视频播放的基础能力,开发者无需进......