回复
详谈鸿蒙系统中的HiAppEvent组件
风在云颠
发布于 2021-9-7 21:20
浏览
0收藏
简介
HiAppEvent为OpenHarmony应用提供事件打点接口,用于帮助应用记录在运行过程中发生的故障信息、统计信息、安全信息、用户行为信息,以支撑开发者分析应用的运行情况。
图 1 HiAppEvent架构图
目录
/base/hiviewdfx/hiappevent # hiappevent部件代码
├── frameworks # 框架代码
│ └── native # 打点接口的native实现代码
├── interfaces # 对外接口存放目录
│ └── js # js接口
│ └── innerkits # js接口内部实现代码
│ └── napi # 基于napi实现的js接口代码
编译构建
依赖 Clang 编译器(Clang 8.0.0 )及以上,依赖C++11版本及以上。
说明
接口说明
表 1 Js打点接口介绍
模块 | 方法 | 描述 |
---|---|---|
hiappevent | write(string eventName, EventType type, any… keyValues, function callback) | 接口功能:应用事件异步打点方法。输入参数:eventName:事件名称。type:事件类型。keyValues:事件参数键值对,为变长参数类型。callback:回调函数,可以在回调函数中处理接口返回值。返回值为0表示事件参数校验成功,事件正常异步写入事件文件;大于0表示事件存在异常参数,事件在忽略异常参数后再异步写入事件文件;小于0表示事件校验失败,不执行事件异步打点操作。 |
hiappevent | writeJson(string eventName, EventType type, object jsonObj, function callback) | 接口功能:应用事件异步打点方法。输入参数:eventName:事件名称。type:事件类型。keyValues:事件参数键值对,为Json对象类型。callback:回调函数,可以在回调函数中处理接口返回值。返回值为0表示事件参数校验成功,事件正常异步写入事件文件;大于0表示事件存在异常参数,事件在忽略异常参数后再异步写入事件文件;小于0表示事件校验失败,不执行事件异步打点操作。 |
使用说明
Js接口实例
-
源代码开发
引入模块:
import hiappevent from '@ohos.hiappevent'
-
应用执行事件打点
// callback方式 hiappevent.write("test_event", hiappevent.EventType.FAULT, "int_data", 100, "str_data", "strValue", (err, value) => { if (err) { // 事件写入异常:事件存在异常参数或者事件校验失败不执行写入 console.error(`failed to write event because ${err.code}`); return; } // 事件写入正常 console.log(`success to write event: ${value}`); }); // Promise方式 hiappevent.write("test_event", hiappevent.EventType.FAULT, "int_data", 100, "str_data", "strValue") .then((value) => { // 事件写入正常 console.log(`success to write event: ${value}`); }).catch((err) => { // 事件写入异常:事件存在异常参数或者事件校验失败不执行写入 console.error(`failed to write event because ${err.code}`); }); // callback方式 hiappevent.writeJson("test_event", hiappevent.EventType.FAULT, {"int_data":100, "str_data":"strValue"}, (err, value) => { if (err) { // 事件写入异常:事件存在异常参数或者事件校验失败不执行写入 console.error(`failed to write event because ${err.code}`); return; } // 事件写入正常 console.log(`success to write event: ${value}`); }); // Promise方式 hiappevent.writeJson("test_event", hiappevent.EventType.FAULT, {"int_data":100, "str_data":"strValue"}) .then((value) => { // 事件写入正常 console.log(`success to write event: ${value}`); }).catch((err) => { // 事件写入异常:事件存在异常参数或者事件校验失败不执行写入 console.error(`failed to write event because ${err.code}`); });
相关仓
DFX子系统
hiviewdfx_hiview
hiviewdfx_hilog
hiviewdfx_hiappevent
hiviewdfx_hisysevent
hiviewdfx_faultloggerd
hiviewdfx_hilog_lite
hiviewdfx_hievent_lite
hiviewdfx_hiview_lite
hiviewdfx_hiappevent-master.zip 55.42K 10次下载
已于2021-9-7 21:20:54修改
赞
收藏
回复
相关推荐