网站seo找准隐迅推,陕西省建筑信息平台,alexa排名是什么意思,网上可以自学什么技术简介
传统的日志系统里汇聚了整个设备上所有程序运行的过程流水日志#xff0c;难以识别其中的关键信息。因此#xff0c;应用开发者需要一种数据打点机制#xff0c;用来评估如访问数、日活、用户操作习惯以及影响用户使用的关键因素等关键信息。
HiAppEvent 是在系统层面…简介
传统的日志系统里汇聚了整个设备上所有程序运行的过程流水日志难以识别其中的关键信息。因此应用开发者需要一种数据打点机制用来评估如访问数、日活、用户操作习惯以及影响用户使用的关键因素等关键信息。
HiAppEvent 是在系统层面为应用开发者提供的一种事件打点机制用于帮助应用记录在运行过程中发生的故障信息、统计信息、安全信息、用户行为信息以支撑开发者分析应用的运行情况。
基本概念
● 打点
记录由用户操作引起的变化提供业务数据信息以供开发、产品、运维分析。
事件设计规范
● 事件领域用于标识事件的领域建议设置为业务模块名称以便于区分不同的业务模块。
● 事件名称用于指定事件的名称建议设置为具体的业务名称以便于描述实际的业务意义。
● 事件类型用于指定事件的类型支持以下四种类型事件行为事件用于记录用户日常操作行为的事件例如按钮点击、界面跳转等行为。
○ 故障事件用于定位和分析应用故障的事件例如界面卡顿、掉网掉话等异常。
○ 统计事件用于统计和度量应用关键行为的事件例如对使用时长、访问数等的统计。
○ 安全事件用于记录涉及应用安全行为的事件例如密码修改、用户授权等行为。
● 事件参数用于指定事件的参数每个事件可以包含一组参数建议设置为事件属性或事件发生上下文信息以便于描述事件的详细信息。
接口说明
应用事件打点接口由 hiAppEvent 模块提供API 接口的具体使用说明参数使用限制、具体取值范围等请参考应用事件打点 API 文档。
打点接口功能介绍 订阅接口功能介绍 开发步骤
以实现对用户点击按钮行为的事件打点及订阅为例说明开发步骤。
新建一个 ArkTS 应用工程编辑工程中的“entry src main ets entryability EntryAbility.ts” 文件在 onCreate 函数中添加对用户点击按钮事件的订阅完整示例代码如下
import hilog from ohos.hilog;
import UIAbility from ohos.app.ability.UIAbility;
import Window from ohos.window
import hiAppEvent from ohos.hiviewdfx.hiAppEventexport default class EntryAbility extends UIAbility {onCreate(want, launchParam) {hilog.isLoggable(0x0000, testTag, hilog.LogLevel.INFO);hilog.info(0x0000, testTag, %{public}s, Ability onCreate);hilog.info(0x0000, testTag, %{public}s, want param: JSON.stringify(want) ?? );hilog.info(0x0000, testTag, %{public}s, launchParam: JSON.stringify(launchParam) ?? );hiAppEvent.addWatcher({// 开发者可以自定义观察者名称系统会使用名称来标识不同的观察者name: watcher1,// 开发者可以订阅感兴趣的应用事件此处是订阅了按钮事件appEventFilters: [{ domain: button }],// 开发者可以设置订阅回调触发的条件此处是设置为事件打点数量满足1个triggerCondition: { row: 1 },// 开发者可以自行实现订阅回调函数以便对订阅获取到的事件打点数据进行自定义处理onTrigger: function (curRow, curSize, holder) {// 返回的holder对象为null表示订阅过程发生异常因此在记录错误日志后直接返回if (holder null) {hilog.error(0x0000, testTag, HiAppEvent holder is null)return}let eventPkg null// 根据设置阈值大小默认为512KB去获取订阅事件包直到将订阅数据全部取出// 返回的事件包对象为null表示当前订阅数据已被全部取出此次订阅回调触发结束while ((eventPkg holder.takeNext()) ! null) {// 开发者可以对事件包中的事件打点数据进行自定义处理此处是将事件打点数据打印在日志中hilog.info(0x0000, testTag, HiAppEvent eventPkg.packageId%{public}d, eventPkg.packageId)hilog.info(0x0000, testTag, HiAppEvent eventPkg.row%{public}d, eventPkg.row)hilog.info(0x0000, testTag, HiAppEvent eventPkg.size%{public}d, eventPkg.size)for (const eventInfo of eventPkg.data) {hilog.info(0x0000, testTag, HiAppEvent eventPkg.info%{public}s, eventInfo)}}}})}
}
编辑工程中的“entry src main ets pages Index.ets” 文件添加一个按钮并在其 onClick 函数中进行事件打点以记录按钮点击事件完整示例代码如下
import hiAppEvent from ohos.hiviewdfx.hiAppEvent
import hilog from ohos.hilogEntry
Component
struct Index {State message: string Hello Worldbuild() {Row() {Column() {Text(this.message).fontSize(50).fontWeight(FontWeight.Bold)Button(writeTest).onClick((){// 在按钮点击函数中进行事件打点以记录按钮点击事件hiAppEvent.write({// 事件领域定义domain: button,// 事件名称定义name: click,// 事件类型定义eventType: hiAppEvent.EventType.BEHAVIOR,// 事件参数定义params: { click_time: 100 }}).then(() {hilog.info(0x0000, testTag, HiAppEvent success to write event)}).catch((err) {hilog.error(0x0000, testTag, HiAppEvent err.code: ${err.code}, err.message: ${err.message})})})}.width(100%)}.height(100%)}
}
点击 IDE 界面中的运行按钮运行应用工程然后在应用界面中点击按钮“writeTest”触发一次按钮点击事件打点。最终可以在 Log 窗口看到按钮点击事件打点成功的日志以及触发订阅回调后对打点事件数据的处理日志
HiAppEvent success to write eventHiAppEvent eventPkg.packageId0
HiAppEvent eventPkg.row1
HiAppEvent eventPkg.size124
HiAppEvent eventPkg.info{domain_:button,name_:click,type_:4,time_:1670268234523,tz_:0800,pid_:3295,tid_为了能让大家更好的学习鸿蒙 (Harmony OS) 开发技术这边特意整理了《鸿蒙 (Harmony OS)开发学习手册》共计890页希望对大家有所帮助https://qr21.cn/FV7h05
《鸿蒙 (Harmony OS)开发学习手册》
入门必看https://qr21.cn/FV7h05
应用开发导读(ArkTS)应用开发导读(Java) HarmonyOS 概念https://qr21.cn/FV7h05
系统定义技术架构技术特性系统安全 如何快速入门https://qr21.cn/FV7h05
基本概念构建第一个ArkTS应用构建第一个JS应用…… 开发基础知识https://qr21.cn/FV7h05
应用基础知识配置文件应用数据管理应用安全管理应用隐私保护三方应用调用管控机制资源分类与访问学习ArkTS语言…… 基于ArkTS 开发https://qr21.cn/FV7h05
Ability开发UI开发公共事件与通知窗口管理媒体安全网络与链接电话服务数据管理后台任务(Background Task)管理设备管理设备使用信息统计DFX国际化开发折叠屏系列……