鸿蒙NEXT开发【崩溃监测实践】开发运维

概述

崩溃(Crash)指的是应用程序在运行过程中突然停止运行或出现错误导致程序无法正常继续执行。

崩溃率作为衡量应用质量的重要指标之一,监测崩溃点,解决崩溃问题,对维护应用的稳定性有着诸多方面的意义:

  • 用户体验:崩溃会直接影响用户体验,操作程序时突然Crash,可能导致用户不再打开应用、卸载应用。
  • 用户留存率:在同质化的市场竞争中,稳定的应用程序能够吸引用户并提高用户留存率,而崩溃率低就意味着应用的稳定。
  • 数据安全:崩溃可能造成应用数据丢失,影响数据完整性,比如编辑类的应用场景,减少Crash对用户数据的保护至关重要。

针对应用崩溃事件的监测,推荐以下两种方式:

  1. [HiAppEvent]

    HiAppEvent应用事件,提供开发者记录故障、行为、安全、统计等事件,应用可以使用HiAppEvent系统能力来实现埋点采集数据。

    如果开发者需要对Crash数据进行定制化的处理,可以通过HiAppEvent自行收集数据后,上传到指定的服务器中。

  2. [AGC崩溃服务]

    通过崩溃服务订阅崩溃提醒,当应用发生崩溃事件时及时得到通知,并利用该服务提供的详细信息进行分析处理,可以帮助开发者查找问题根因,快速修复,提升应用质量和用户体验。

在监听采集Crash崩溃问题上,两种方式有以下相似和差异点:

相似点差异点
HiAppEvent事件打点机制,可以订阅多种事件,包括崩溃;属于系统自带API;结构化数据,可收集上传到指定服务器;自行对数据进行分析处理操作
AGC崩溃服务实时监控服务,可以订阅崩溃提醒;无需集成SDK;数据透明传输,基于AGC一站式服务;无需代码开发,查看可视化数据报告

说明

在语言层面,二者都支持ArkTS和C/C++的运行时崩溃监测,针对C/C++的崩溃故障问题

HiAppEvent订阅崩溃事件

HiAppEvent简介

HiAppEvent是在系统层面为应用开发者提供的一种事件打点机制,帮助应用记录在运行过程中发生的故障信息、统计信息、安全信息、用户行为信息,支撑开发者分析应用的运行情况。以便进一步统计分析访问数、日常用户活跃数量、用户操作习惯以及其他影响用户使用产品的关键因素。

HiAppEvent的接口设计,是由系统决定回调的时机。在回调执行时,开发者可以获取到已订阅事件的结构化数据。

场景与事件选型

应用在运行态,通常需要关注以下质量问题:

  1. APP_CRASH 应用崩溃事件
  2. APP_FREEZE 应用卡死事件
  3. RESOURCE_OVERLIMIT 应用资源泄露事件
  4. ADDRESS_SANITIZER 应用踩内存事件
  5. MAIN_THREAD_JANK 应用主线程超时事件

目前HiAppEvent在这些问题上都具备相应的事件记录能力。通过订阅相关事件,可以获取相应日志,进行问题定位分析。

本文以崩溃故障的场景为重点,具体是指在应用发生APP_CRASH 、APP_FREEZE 后监听相应的崩溃信息进行处理。

注意,使用HiAppEvent进行崩溃的监听,在应用崩溃之后,用户通过再次进入应用,进行崩溃信息的处理。

详细步骤

使用AGC崩溃服务

AGC简介

AppGallery Connect(简称AGC),致力于为应用的创意、开发、分发、运营、经营各环节提供一站式服务,构建全场景智慧化的应用生态体验。AGC深度整合多项优质服务,可以大幅降低应用开发与运维难度,提高版本质量,开放分发和运营服务,帮助开发者获得用户并实现收入的规模增长。

其中,在应用质量方面,AGC崩溃服务它能帮助开发者快速发现、定位、解决应用崩溃(又称闪退)问题,其使用简便,无需开发任何代码即可实现可视化数据报告的实时查看。

详细步骤

AGC崩溃服务的开发使用流程如下:

创建项目与应用

  1. 需要[注册华为开发者帐号] ,并完成实名认证。
  2. 项目是AGC资源的组织实体,开发者可以将一个应用的不同平台版本添加到同一个项目中。登录AGC后,在”我的项目”中点击”添加项目”。
  3. 要使用AGC提供的各类服务,还需要创建应用,在已创建的项目页面中点击”添加应用”,注意应用包名要与IDE项目中包名一致。。

开通崩溃服务

  1. 登录 AGC,找到已创建的项目,在项目下的应用列表中选择需要启用崩溃服务的应用。
  2. 选择“质量 > 崩溃”,进入崩溃服务的页面,点击"立即开通"。

测试崩溃服务

配置完成后,需要测试崩溃服务是否正常运行,可以手动制造一个崩溃,然后在AGC上查看上报情况。

  1. 参照如下示例,手动制造一次崩溃。

    let test:string = "{name:'xiaoming' age:10}";let result:object = JSON.parse(test);
    
  2. 前往AGC崩溃服务查看上报的崩溃数据,分析崩溃问题。

分析崩溃问题

  1. 登录 AGC,点击”我的项目”。
  2. 在项目列表中找到对应项目,在项目下的应用列表中找到对应应用。
  3. 点击“质量 > 崩溃”,进入崩溃服务页面。
  4. 点击不同类型的崩溃页签,可以查看相应的崩溃事件。页签包括CPP_CRASH、JS_ERROR、OOM、PROCESS_KILL等。
  5. 在具体页签中的“异常崩溃列表”区域,可以查看崩溃的详细信息。其中,崩溃服务提取了应用崩溃堆栈日志中的关键帧,并自动将崩溃代码出现位置相同的崩溃聚合成一类崩溃事件。借助服务提供的一系列数据,开发者可以分析崩溃发生的原因

说明

目前运行在HarmonyOS ROM版本≥3.0.0.25的ArkTS应用无需集成SDK,只需要创建应用、开通服务即可使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值