1# HiAppEvent 2 3 4## 概述 5 6HiAppEvent模块提供应用事件打点功能。 7 8为应用程序提供事件打点功能,记录运行过程中上报的故障事件、统计事件、安全事件和用户行为事件。基于事件信息,开发者可以分析应用的运行状态。 9 10**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 11 12**起始版本:** 8 13 14 15## 汇总 16 17 18### 文件 19 20| 名称 | 描述 | 21| -------- | -------- | 22| [hiappevent.h](hiappevent_8h.md) | HiAppEvent模块的应用事件打点函数定义。<br/>**引用文件**:<hiappevent/hiappevent.h><br/>**库**:libhiappevent_ndk.z.so | 23| [hiappevent_cfg.h](hiappevent__cfg_8h.md) | 定义事件打点配置函数的所有配置项名称。<br/>**引用文件**:<hiappevent/hiappevent_event.h><br/>**库**:libhiappevent_ndk.z.so | 24| [hiappevent_event.h](hiappevent__event_8h.md) | 定义所有预定义事件的事件名称。<br/>**引用文件**:<hiappevent/hiappevent_param.h><br/>**库**:libhiappevent_ndk.z.so | 25| [hiappevent_param.h](hiappevent__param_8h.md) | 定义所有预定义事件的参数名称。<br/>**引用文件**:<hiappevent/hiappevent_cfg.h><br/>**库**:libhiappevent_ndk.z.so | 26 27 28### 结构体 29 30| 名称 | 描述 | 31| -------- | -------- | 32| struct [HiAppEvent_AppEventInfo](_hi_app_event___app_event_info.md) | 单个事件信息,包含事件领域,事件名称,事件类型和json格式字符串表示的事件中携带的自定义参数列表。 | 33| struct [HiAppEvent_AppEventGroup](_hi_app_event___app_event_group.md) | 具有相同事件名称的事件组。 | 34 35 36### 宏定义 37 38| 名称 | 描述 | 39| -------- | -------- | 40| [DISABLE](#disable) "disable" | 事件打点开关。默认值为false。true:关闭打点功能,false:不关闭打点功能。 | 41| [MAX_STORAGE](#max_storage) "max_storage" | 事件文件目录存储配额大小。默认值为“10M”。 | 42| [EVENT_USER_LOGIN](#event_user_login) "hiappevent.user_login" | 用户登录事件。 | 43| [EVENT_USER_LOGOUT](#event_user_logout) "hiappevent.user_logout" | 用户登出事件。 | 44| [EVENT_DISTRIBUTED_SERVICE_START](#event_distributed_service_start) "hiappevent.distributed_service_start" | 分布式服务事件。 | 45| [EVENT_APP_CRASH](#event_app_crash) "APP_CRASH" | 应用崩溃事件。 | 46| [EVENT_APP_FREEZE](#event_app_freeze) "APP_FREEZE" | 应用卡顿事件。 | 47| [EVENT_APP_LAUNCH](#event_app_launch) "APP_LAUNCH" | 应用加载事件。 | 48| [EVENT_SCROLL_JANK](#event_scroll_jank) "SCROLL_JANK" | 应用滑动卡顿事件。 | 49| [EVENT_CPU_USAGE_HIGH](#event_cpu_usage_high) "CPU_USAGE_HIGH" | 应用CPU资源占用高事件。 | 50| [EVENT_BATTERY_USAGE](#event_battery_usage) "BATTERY_USAGE" | 应用电源使用率事件。 | 51| [EVENT_RESOURCE_OVERLIMIT](#event_resource_overlimit) "RESOURCE_OVERLIMIT" | 应用资源超限事件。 | 52| [DOMAIN_OS](#domain_os) "OS" | OS作用域。 | 53| [PARAM_USER_ID](#param_user_id) "user_id" | 用户ID。 | 54| [PARAM_DISTRIBUTED_SERVICE_NAME](#param_distributed_service_name) "ds_name" | 分布式服务名称。 | 55| [PARAM_DISTRIBUTED_SERVICE_INSTANCE_ID](#param_distributed_service_instance_id) "ds_instance_id" | 分布式服务实例ID。 | 56 57 58### 类型定义 59 60| 名称 | 描述 | 61| -------- | -------- | 62| typedef struct [HiAppEvent_AppEventInfo](_hi_app_event___app_event_info.md) [HiAppEvent_AppEventInfo](#hiappevent_appeventinfo) | 单个事件信息,包含事件领域,事件名称,事件类型和json格式字符串表示的事件中携带的自定义参数列表。 | 63| typedef struct [HiAppEvent_AppEventGroup](_hi_app_event___app_event_group.md) [HiAppEvent_AppEventGroup](#hiappevent_appeventgroup) | 具有相同事件名称的事件组。 | 64| typedef struct ParamListNode \* [ParamList](#paramlist) | 事件参数列表节点。 | 65| typedef struct [HiAppEvent_Watcher](#hiappevent_watcher) [HiAppEvent_Watcher](#hiappevent_watcher) | 用于接收app事件的监听器。 | 66| typedef struct [HiAppEvent_Config](#hiappevent_config) [HiAppEvent_Config](#hiappevent_config) | 用于设置系统事件触发条件的配置对象。 | 67| typedef void(\* [OH_HiAppEvent_OnReceive](#oh_hiappevent_onreceive)) (const char \*domain, const struct [HiAppEvent_AppEventGroup](_hi_app_event___app_event_group.md) \*appEventGroups, uint32_t groupLen) | 监听器接收到事件后,将触发该回调,将事件内容传递给调用方。 | 68| typedef void(\* [OH_HiAppEvent_OnTrigger](#oh_hiappevent_ontrigger)) (int row, int size) | 监听器收到事件后,若监听器中未设置OH_HiAppEvent_OnReceive回调,将保存该事件。当保存的事件满足通过OH_HiAppEvent_SetTriggerCondition设定的条件后,将触发该回调。回调结束后,当新保存的事件消息再次满足设定的条件后,将再次进行回调。 | 69| typedef void(\* [OH_HiAppEvent_OnTake](#oh_hiappevent_ontake)) (const char \*const \*events, uint32_t eventLen) | 使用OH_HiAppEvent_TakeWatcherData获取监听器接收到的事件时,监听器接收到的事件将通过该回调函数传递给调用者。 | 70 71 72### 枚举 73 74| 名称 | 描述 | 75| -------- | -------- | 76| [HiAppEvent_ErrorCode](#hiappevent_errorcode) {<br/>HIAPPEVENT_SUCCESS = 0, HIAPPEVENT_INVALID_PARAM_VALUE_LENGTH = 4, HIAPPEVENT_PROCESSOR_IS_NULL = -7, HIAPPEVENT_PROCESSOR_NOT_FOUND = -8,<br/>HIAPPEVENT_INVALID_PARAM_VALUE = -9, HIAPPEVENT_EVENT_CONFIG_IS_NULL = -10, HIAPPEVENT_OPERATE_FAILED = -100, HIAPPEVENT_INVALID_UID = -200<br/>} | 错误码定义。 | 77| [EventType](#eventtype) { FAULT = 1, STATISTIC = 2, SECURITY = 3, BEHAVIOR = 4 } | 事件类型。 | 78 79 80### 函数 81 82| 名称 | 描述 | 83| -------- | -------- | 84| [ParamList](#paramlist) [OH_HiAppEvent_CreateParamList](#oh_hiappevent_createparamlist) (void) | 创建一个指向参数列表对象的指针。 | 85| void [OH_HiAppEvent_DestroyParamList](#oh_hiappevent_destroyparamlist) ([ParamList](#paramlist) list) | 销毁一个指向参数列表对象的指针,释放其分配内存。 | 86| [ParamList](#paramlist) [OH_HiAppEvent_AddBoolParam](#oh_hiappevent_addboolparam) ([ParamList](#paramlist) list, const char \*name, bool boolean) | 添加一个布尔参数到参数列表中。 | 87| [ParamList](#paramlist) [OH_HiAppEvent_AddBoolArrayParam](#oh_hiappevent_addboolarrayparam) ([ParamList](#paramlist) list, const char \*name, const bool \*booleans, int arrSize) | 添加一个布尔数组参数到参数列表中。 | 88| [ParamList](#paramlist) [OH_HiAppEvent_AddInt8Param](#oh_hiappevent_addint8param) ([ParamList](#paramlist) list, const char \*name, int8_t num) | 添加一个int8_t参数到参数列表中。 | 89| [ParamList](#paramlist) [OH_HiAppEvent_AddInt8ArrayParam](#oh_hiappevent_addint8arrayparam) ([ParamList](#paramlist) list, const char \*name, const int8_t \*nums, int arrSize) | 添加一个int8_t数组参数到参数列表中。 | 90| [ParamList](#paramlist) [OH_HiAppEvent_AddInt16Param](#oh_hiappevent_addint16param) ([ParamList](#paramlist) list, const char \*name, int16_t num) | 添加一个int16_t参数到参数列表中。 | 91| [ParamList](#paramlist) [OH_HiAppEvent_AddInt16ArrayParam](#oh_hiappevent_addint16arrayparam) ([ParamList](#paramlist) list, const char \*name, const int16_t \*nums, int arrSize) | 添加一个int16_t数组参数到参数列表中。 | 92| [ParamList](#paramlist) [OH_HiAppEvent_AddInt32Param](#oh_hiappevent_addint32param) ([ParamList](#paramlist) list, const char \*name, int32_t num) | 添加一个int32_t参数到参数列表中。 | 93| [ParamList](#paramlist) [OH_HiAppEvent_AddInt32ArrayParam](#oh_hiappevent_addint32arrayparam) ([ParamList](#paramlist) list, const char \*name, const int32_t \*nums, int arrSize) | 添加一个int32_t数组参数到参数列表中。 | 94| [ParamList](#paramlist) [OH_HiAppEvent_AddInt64Param](#oh_hiappevent_addint64param) ([ParamList](#paramlist) list, const char \*name, int64_t num) | 添加一个int64_t参数到参数列表中。 | 95| [ParamList](#paramlist) [OH_HiAppEvent_AddInt64ArrayParam](#oh_hiappevent_addint64arrayparam) ([ParamList](#paramlist) list, const char \*name, const int64_t \*nums, int arrSize) | 添加一个int64_t数组参数到参数列表中。 | 96| [ParamList](#paramlist) [OH_HiAppEvent_AddFloatParam](#oh_hiappevent_addfloatparam) ([ParamList](#paramlist) list, const char \*name, float num) | 添加一个float参数到参数列表中。 | 97| [ParamList](#paramlist) [OH_HiAppEvent_AddFloatArrayParam](#oh_hiappevent_addfloatarrayparam) ([ParamList](#paramlist) list, const char \*name, const float \*nums, int arrSize) | 添加一个float数组参数到参数列表中。 | 98| [ParamList](#paramlist) [OH_HiAppEvent_AddDoubleParam](#oh_hiappevent_adddoubleparam) ([ParamList](#paramlist) list, const char \*name, double num) | 添加一个double参数到参数列表中。 | 99| [ParamList](#paramlist) [OH_HiAppEvent_AddDoubleArrayParam](#oh_hiappevent_adddoublearrayparam) ([ParamList](#paramlist) list, const char \*name, const double \*nums, int arrSize) | 添加一个double数组参数到参数列表中。 | 100| [ParamList](#paramlist) [OH_HiAppEvent_AddStringParam](#oh_hiappevent_addstringparam) ([ParamList](#paramlist) list, const char \*name, const char \*str) | 添加一个字符串参数到参数列表中。 | 101| [ParamList](#paramlist) [OH_HiAppEvent_AddStringArrayParam](#oh_hiappevent_addstringarrayparam) ([ParamList](#paramlist) list, const char \*name, const char \*const \*strs, int arrSize) | 添加一个字符串数组参数到参数列表中。 | 102| int [OH_HiAppEvent_Write](#oh_hiappevent_write) (const char \*domain, const char \*name, enum [EventType](#eventtype) type, const [ParamList](#paramlist) list) | 实现对参数为列表类型的应用事件打点。 | 103| bool [OH_HiAppEvent_Configure](#oh_hiappevent_configure) (const char \*name, const char \*value) | 实现应用事件打点的配置功能。 | 104| [HiAppEvent_Watcher](#hiappevent_watcher) \* [OH_HiAppEvent_CreateWatcher](#oh_hiappevent_createwatcher) (const char \*name) | 创建一个用于监听app事件的监听器。 | 105| void [OH_HiAppEvent_DestroyWatcher](#oh_hiappevent_destroywatcher) ([HiAppEvent_Watcher](#hiappevent_watcher) \*watcher) | 销毁已创建的监听器。 | 106| int [OH_HiAppEvent_SetTriggerCondition](#oh_hiappevent_settriggercondition) ([HiAppEvent_Watcher](#hiappevent_watcher) \*watcher, int row, int size, int timeOut) | 用于设置监听器OH_HiAppEvent_OnTrigger回调的触发条件,分别可以从监视器新接收事件数量、新接收事件大小、onTrigger触发超时时间,设置触发条件。调用方应至少保证从一个方面设置触发条件。 | 107| int [OH_HiAppEvent_SetAppEventFilter](#oh_hiappevent_setappeventfilter) ([HiAppEvent_Watcher](#hiappevent_watcher) \*watcher, const char \*domain, uint8_t eventTypes, const char \*const \*names, int namesLen) | 用于设置监听器需要监听的事件的类型。 | 108| int [OH_HiAppEvent_SetWatcherOnTrigger](#oh_hiappevent_setwatcherontrigger) ([HiAppEvent_Watcher](#hiappevent_watcher) \*watcher, [OH_HiAppEvent_OnTrigger](#oh_hiappevent_ontrigger) onTrigger) | 用于设置监听器onTrigger回调的接口。 | 109| int [OH_HiAppEvent_SetWatcherOnReceive](#oh_hiappevent_setwatcheronreceive) ([HiAppEvent_Watcher](#hiappevent_watcher) \*watcher, [OH_HiAppEvent_OnReceive](#oh_hiappevent_onreceive) onReceive) | 用于设置监听器onReceive回调函数的接口。当监听器监听到相应事件后,onReceive回调函数将被调用。 | 110| int [OH_HiAppEvent_TakeWatcherData](#oh_hiappevent_takewatcherdata) ([HiAppEvent_Watcher](#hiappevent_watcher) \*watcher, uint32_t eventNum, [OH_HiAppEvent_OnTake](#oh_hiappevent_ontake) onTake) | 用于获取监听器收到后保存的事件。 | 111| int [OH_HiAppEvent_AddWatcher](#oh_hiappevent_addwatcher) ([HiAppEvent_Watcher](#hiappevent_watcher) \*watcher) | 添加监听器的接口,监听器开始监听系统消息。 | 112| int [OH_HiAppEvent_RemoveWatcher](#oh_hiappevent_removewatcher) ([HiAppEvent_Watcher](#hiappevent_watcher) \*watcher) | 移除监听器的接口,监听器停止监听系统消息。 | 113| void [OH_HiAppEvent_ClearData](#oh_hiappevent_cleardata) (void) | 清除所有监视器保存的所有事件。 | 114| [HiAppEvent_Config](#hiappevent_config) \* [OH_HiAppEvent_CreateConfig](#oh_hiappevent_createconfig) (void) | 创建一个指向设置系统事件触发条件的配置对象的指针。 | 115| void [OH_HiAppEvent_DestroyConfig](#oh_hiappevent_destroyconfig) ([HiAppEvent_Config](#hiappevent_config) \*config) | 销毁已创建的配置对象。 | 116| int [OH_HiAppEvent_SetConfigItem](#oh_hiappevent_setconfigitem) ([HiAppEvent_Config](#hiappevent_config) \*config, const char \*itemName, const char \*itemValue) | 设置配置对象中的配置项。 | 117| int [OH_HiAppEvent_SetEventConfig](#oh_hiappevent_seteventconfig) (const char \*name, [HiAppEvent_Config](#hiappevent_config) \*config) | 设定系统事件订阅触发条件。 | 118 119 120## 宏定义说明 121 122 123### DISABLE 124 125``` 126#define DISABLE "disable" 127``` 128**描述** 129事件打点开关。默认值为false。true:关闭打点功能,false:不关闭打点功能。 130 131**起始版本:** 8 132 133 134### DOMAIN_OS 135 136``` 137#define DOMAIN_OS "OS" 138``` 139**描述** 140OS作用域。 141 142**起始版本:** 12 143 144 145### EVENT_APP_CRASH 146 147``` 148#define EVENT_APP_CRASH "APP_CRASH" 149``` 150**描述** 151应用崩溃事件。 152 153**起始版本:** 12 154 155 156### EVENT_APP_FREEZE 157 158``` 159#define EVENT_APP_FREEZE "APP_FREEZE" 160``` 161**描述** 162应用卡顿事件。 163 164**起始版本:** 12 165 166 167### EVENT_APP_LAUNCH 168 169``` 170#define EVENT_APP_LAUNCH "APP_LAUNCH" 171``` 172**描述** 173应用加载事件。 174 175**起始版本:** 12 176 177 178### EVENT_BATTERY_USAGE 179 180``` 181#define EVENT_BATTERY_USAGE "BATTERY_USAGE" 182``` 183**描述** 184应用电源使用率事件。 185 186**起始版本:** 12 187 188 189### EVENT_CPU_USAGE_HIGH 190 191``` 192#define EVENT_CPU_USAGE_HIGH "CPU_USAGE_HIGH" 193``` 194**描述** 195应用CPU资源占用高事件。 196 197**起始版本:** 12 198 199 200### EVENT_DISTRIBUTED_SERVICE_START 201 202``` 203#define EVENT_DISTRIBUTED_SERVICE_START "hiappevent.distributed_service_start" 204``` 205**描述** 206分布式服务事件。 207 208**起始版本:** 8 209 210 211### EVENT_RESOURCE_OVERLIMIT 212 213``` 214#define EVENT_RESOURCE_OVERLIMIT "RESOURCE_OVERLIMIT" 215``` 216**描述** 217应用资源超限事件。 218 219**起始版本:** 12 220 221 222### EVENT_SCROLL_JANK 223 224``` 225#define EVENT_SCROLL_JANK "SCROLL_JANK" 226``` 227**描述** 228应用滑动卡顿事件。 229 230**起始版本:** 12 231 232 233### EVENT_USER_LOGIN 234 235``` 236#define EVENT_USER_LOGIN "hiappevent.user_login" 237``` 238**描述** 239用户登录事件。 240 241**起始版本:** 8 242 243 244### EVENT_USER_LOGOUT 245 246``` 247#define EVENT_USER_LOGOUT "hiappevent.user_logout" 248``` 249**描述** 250用户登出事件。 251 252**起始版本:** 8 253 254 255### MAX_STORAGE 256 257``` 258#define MAX_STORAGE "max_storage" 259``` 260**描述** 261事件文件目录存储配额大小。默认值为“10M”。 262 263**起始版本:** 8 264 265 266### PARAM_DISTRIBUTED_SERVICE_INSTANCE_ID 267 268``` 269#define PARAM_DISTRIBUTED_SERVICE_INSTANCE_ID "ds_instance_id" 270``` 271**描述** 272分布式服务实例ID。 273 274**起始版本:** 8 275 276 277### PARAM_DISTRIBUTED_SERVICE_NAME 278 279``` 280#define PARAM_DISTRIBUTED_SERVICE_NAME "ds_name" 281``` 282**描述** 283分布式服务名称。 284 285**起始版本:** 8 286 287 288### PARAM_USER_ID 289 290``` 291#define PARAM_USER_ID "user_id" 292``` 293**描述** 294用户ID。 295 296**起始版本:** 8 297 298 299## 类型定义说明 300 301 302### HiAppEvent_AppEventGroup 303 304``` 305typedef struct HiAppEvent_AppEventGroupHiAppEvent_AppEventGroup 306``` 307**描述** 308具有相同事件名称的事件组。 309 310**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 311 312**起始版本:** 12 313 314 315### HiAppEvent_AppEventInfo 316 317``` 318typedef struct HiAppEvent_AppEventInfoHiAppEvent_AppEventInfo 319``` 320**描述** 321单个事件信息,包含事件领域,事件名称,事件类型和json格式字符串表示的事件中携带的自定义参数列表。 322 323**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 324 325**起始版本:** 12 326 327 328### HiAppEvent_Config 329 330``` 331typedef struct HiAppEvent_ConfigHiAppEvent_Config 332``` 333**描述** 334用于设置系统事件触发条件的配置对象。 335 336**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 337 338**起始版本:** 15 339 340 341### HiAppEvent_Watcher 342 343``` 344typedef struct HiAppEvent_WatcherHiAppEvent_Watcher 345``` 346**描述** 347用于接收app事件的监听器。 348 349**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 350 351**起始版本:** 12 352 353 354### OH_HiAppEvent_OnReceive 355 356``` 357typedef void(* OH_HiAppEvent_OnReceive) (const char *domain, const struct HiAppEvent_AppEventGroup *appEventGroups, uint32_t groupLen) 358``` 359**描述** 360监听器接收到事件后,将触发该回调,将事件内容传递给调用方。 361 362注意:回调中的指针所指对象的生命周期仅限于该回调函数内,请勿在该回调函数外直接使用该指针,若需缓存该信息,请对指针指向的内容进行深拷贝。 363 364**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 365 366**起始版本:** 12 367 368**参数:** 369 370| 名称 | 描述 | 371| -------- | -------- | 372| domain | 接收到的app事件的领域。 | 373| appEventGroups | 按照不同事件名称分组的事件组数组。 | 374| groupLen | 事件组数组的长度。 | 375 376 377### OH_HiAppEvent_OnTake 378 379``` 380typedef void(* OH_HiAppEvent_OnTake) (const char *const *events, uint32_t eventLen) 381``` 382**描述** 383使用OH_HiAppEvent_TakeWatcherData获取监听器接收到的事件时,监听器接收到的事件将通过该回调函数传递给调用者。 384 385注意:回调中的指针所指对象的生命周期仅限于该回调函数内,请勿在该回调函数外直接使用该指针。若需缓存该信息,请对指针指向的内容进行深拷贝。 386 387**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 388 389**起始版本:** 12 390 391**参数:** 392 393| 名称 | 描述 | 394| -------- | -------- | 395| events | json字符串格式的事件数组。 | 396| eventLen | 事件数组大小。 | 397 398 399### OH_HiAppEvent_OnTrigger 400 401``` 402typedef void(* OH_HiAppEvent_OnTrigger) (int row, int size) 403``` 404**描述** 405监听器收到事件后,若监听器中未设置OH_HiAppEvent_OnReceive回调,将保存该事件。当保存的事件满足通过OH_HiAppEvent_SetTriggerCondition设定的条件后,将触发该回调。回调结束后,当新保存的事件消息再次满足设定的条件后,将再次进行回调。 406 407**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 408 409**起始版本:** 12 410 411**参数:** 412 413| 名称 | 描述 | 414| -------- | -------- | 415| row | 监听器新接收到的事件消息的数量。 | 416| size | 监听器新接收的事件消息的大小总和(单个事件大小计算方式为:将消息转换为json字符串后,字符串的长度)。 | 417 418 419### ParamList 420 421``` 422typedef struct ParamListNode* ParamList 423``` 424**描述** 425事件参数列表节点。 426 427**起始版本:** 8 428 429 430## 枚举类型说明 431 432 433### EventType 434 435``` 436enum EventType 437``` 438**描述** 439事件类型。 440 441建议开发者根据不同的使用场景选择不同的事件类型。 442 443**起始版本:** 8 444 445| 枚举值 | 描述 | 446| -------- | -------- | 447| FAULT | 故障事件类型。 | 448| STATISTIC | 统计事件类型。 | 449| SECURITY | 安全事件类型。 | 450| BEHAVIOR | 行为事件类型。 | 451 452 453### HiAppEvent_ErrorCode 454 455``` 456enum HiAppEvent_ErrorCode 457``` 458**描述** 459错误码定义。 460 461**起始版本:** 15 462 463| 枚举值 | 描述 | 464| -------- | -------- | 465| HIAPPEVENT_SUCCESS | 操作成功。 | 466| HIAPPEVENT_INVALID_PARAM_VALUE_LENGTH | 参数值长度无效。 | 467| HIAPPEVENT_PROCESSOR_IS_NULL | 事件处理者为空。 | 468| HIAPPEVENT_PROCESSOR_NOT_FOUND | 事件处理者不存在。 | 469| HIAPPEVENT_INVALID_PARAM_VALUE | 参数值无效。 | 470| HIAPPEVENT_EVENT_CONFIG_IS_NULL | 事件配置为空。 | 471| HIAPPEVENT_OPERATE_FAILED | 操作失败。 | 472| HIAPPEVENT_INVALID_UID | 用户标识为空。 | 473 474 475## 函数说明 476 477 478### OH_HiAppEvent_AddBoolArrayParam() 479 480``` 481ParamList OH_HiAppEvent_AddBoolArrayParam (ParamList list, const char * name, const bool * booleans, int arrSize ) 482``` 483**描述** 484添加一个布尔数组参数到参数列表中。 485 486**起始版本:** 8 487 488**参数:** 489 490| 名称 | 描述 | 491| -------- | -------- | 492| list | 需要添加参数的参数列表指针。 | 493| name | 需要添加的参数名称。 | 494| booleans | 需要添加的布尔数组参数值。 | 495| arrSize | 需要添加的参数数组大小。 | 496 497**返回:** 498 499添加参数后的参数列表指针。 500 501 502### OH_HiAppEvent_AddBoolParam() 503 504``` 505ParamList OH_HiAppEvent_AddBoolParam (ParamList list, const char * name, bool boolean ) 506``` 507**描述** 508添加一个布尔参数到参数列表中。 509 510**起始版本:** 8 511 512**参数:** 513 514| 名称 | 描述 | 515| -------- | -------- | 516| list | 需要添加参数的参数列表指针。 | 517| name | 需要添加的参数名称。 | 518| boolean | 需要添加的布尔参数值。 | 519 520**返回:** 521 522添加参数后的参数列表指针。 523 524 525### OH_HiAppEvent_AddDoubleArrayParam() 526 527``` 528ParamList OH_HiAppEvent_AddDoubleArrayParam (ParamList list, const char * name, const double * nums, int arrSize ) 529``` 530**描述** 531添加一个double数组参数到参数列表中。 532 533**起始版本:** 8 534 535**参数:** 536 537| 名称 | 描述 | 538| -------- | -------- | 539| list | 需要添加参数的参数列表指针。 | 540| name | 需要添加的参数名称。 | 541| nums | 需要添加的double数组参数值。 | 542| arrSize | 需要添加的参数数组大小。 | 543 544**返回:** 545 546添加参数后的参数列表指针。 547 548 549### OH_HiAppEvent_AddDoubleParam() 550 551``` 552ParamList OH_HiAppEvent_AddDoubleParam (ParamList list, const char * name, double num ) 553``` 554**描述** 555添加一个double参数到参数列表中。 556 557**起始版本:** 8 558 559**参数:** 560 561| 名称 | 描述 | 562| -------- | -------- | 563| list | 需要添加参数的参数列表指针。 | 564| name | 需要添加的参数名称。 | 565| num | 需要添加的double参数值。 | 566 567**返回:** 568 569添加参数后的参数列表指针。 570 571 572### OH_HiAppEvent_AddFloatArrayParam() 573 574``` 575ParamList OH_HiAppEvent_AddFloatArrayParam (ParamList list, const char * name, const float * nums, int arrSize ) 576``` 577**描述** 578添加一个float数组参数到参数列表中。 579 580**起始版本:** 8 581 582**参数:** 583 584| 名称 | 描述 | 585| -------- | -------- | 586| list | 需要添加参数的参数列表指针。 | 587| name | 需要添加的参数名称。 | 588| nums | 需要添加的float数组参数值。 | 589| arrSize | 需要添加的参数数组大小。 | 590 591**返回:** 592 593添加参数后的参数列表指针。 594 595 596### OH_HiAppEvent_AddFloatParam() 597 598``` 599ParamList OH_HiAppEvent_AddFloatParam (ParamList list, const char * name, float num ) 600``` 601**描述** 602添加一个float参数到参数列表中。 603 604**起始版本:** 8 605 606**参数:** 607 608| 名称 | 描述 | 609| -------- | -------- | 610| list | 需要添加参数的参数列表指针。 | 611| name | 需要添加的参数名称。 | 612| num | 需要添加的float参数值。 | 613 614**返回:** 615 616添加参数后的参数列表指针。 617 618 619### OH_HiAppEvent_AddInt16ArrayParam() 620 621``` 622ParamList OH_HiAppEvent_AddInt16ArrayParam (ParamList list, const char * name, const int16_t * nums, int arrSize ) 623``` 624**描述** 625添加一个int16_t数组参数到参数列表中。 626 627**起始版本:** 8 628 629**参数:** 630 631| 名称 | 描述 | 632| -------- | -------- | 633| list | 需要添加参数的参数列表指针。 | 634| name | 需要添加的参数名称。 | 635| nums | 需要添加的int16_t数组参数值。 | 636| arrSize | 需要添加的参数数组大小。 | 637 638**返回:** 639 640添加参数后的参数列表指针。 641 642 643### OH_HiAppEvent_AddInt16Param() 644 645``` 646ParamList OH_HiAppEvent_AddInt16Param (ParamList list, const char * name, int16_t num ) 647``` 648**描述** 649添加一个int16_t参数到参数列表中。 650 651**起始版本:** 8 652 653**参数:** 654 655| 名称 | 描述 | 656| -------- | -------- | 657| list | 需要添加参数的参数列表指针。 | 658| name | 需要添加的参数名称。 | 659| num | 需要添加的int16_t参数值。 | 660 661**返回:** 662 663添加参数后的参数列表指针。 664 665 666### OH_HiAppEvent_AddInt32ArrayParam() 667 668``` 669ParamList OH_HiAppEvent_AddInt32ArrayParam (ParamList list, const char * name, const int32_t * nums, int arrSize ) 670``` 671**描述** 672添加一个int32_t数组参数到参数列表中。 673 674**起始版本:** 8 675 676**参数:** 677 678| 名称 | 描述 | 679| -------- | -------- | 680| list | 需要添加参数的参数列表指针。 | 681| name | 需要添加的参数名称。 | 682| nums | 需要添加的int32_t数组参数值。 | 683| arrSize | 需要添加的参数数组大小。 | 684 685**返回:** 686 687添加参数后的参数列表指针。 688 689 690### OH_HiAppEvent_AddInt32Param() 691 692``` 693ParamList OH_HiAppEvent_AddInt32Param (ParamList list, const char * name, int32_t num ) 694``` 695**描述** 696添加一个int32_t参数到参数列表中。 697 698**起始版本:** 8 699 700**参数:** 701 702| 名称 | 描述 | 703| -------- | -------- | 704| list | 需要添加参数的参数列表指针。 | 705| name | 需要添加的参数名称。 | 706| num | 需要添加的int32_t参数值。 | 707 708**返回:** 709 710添加参数后的参数列表指针。 711 712 713### OH_HiAppEvent_AddInt64ArrayParam() 714 715``` 716ParamList OH_HiAppEvent_AddInt64ArrayParam (ParamList list, const char * name, const int64_t * nums, int arrSize ) 717``` 718**描述** 719添加一个int64_t数组参数到参数列表中。 720 721**起始版本:** 8 722 723**参数:** 724 725| 名称 | 描述 | 726| -------- | -------- | 727| list | 需要添加参数的参数列表指针。 | 728| name | 需要添加的参数名称。 | 729| nums | 需要添加的int64_t数组参数值。 | 730| arrSize | 需要添加的参数数组大小。 | 731 732**返回:** 733 734添加参数后的参数列表指针。 735 736 737### OH_HiAppEvent_AddInt64Param() 738 739``` 740ParamList OH_HiAppEvent_AddInt64Param (ParamList list, const char * name, int64_t num ) 741``` 742**描述** 743添加一个int64_t参数到参数列表中。 744 745**起始版本:** 8 746 747**参数:** 748 749| 名称 | 描述 | 750| -------- | -------- | 751| list | 需要添加参数的参数列表指针。 | 752| name | 需要添加的参数名称。 | 753| num | 需要添加的int64_t参数值。 | 754 755**返回:** 756 757添加参数后的参数列表指针。 758 759 760### OH_HiAppEvent_AddInt8ArrayParam() 761 762``` 763ParamList OH_HiAppEvent_AddInt8ArrayParam (ParamList list, const char * name, const int8_t * nums, int arrSize ) 764``` 765**描述** 766添加一个int8_t数组参数到参数列表中。 767 768**起始版本:** 8 769 770**参数:** 771 772| 名称 | 描述 | 773| -------- | -------- | 774| list | 需要添加参数的参数列表指针。 | 775| name | 需要添加的参数名称。 | 776| nums | 需要添加的int8_t数组参数值。 | 777| arrSize | 需要添加的参数数组大小。 | 778 779**返回:** 780 781添加参数后的参数列表指针。 782 783 784### OH_HiAppEvent_AddInt8Param() 785 786``` 787ParamList OH_HiAppEvent_AddInt8Param (ParamList list, const char * name, int8_t num ) 788``` 789**描述** 790添加一个int8_t参数到参数列表中。 791 792**起始版本:** 8 793 794**参数:** 795 796| 名称 | 描述 | 797| -------- | -------- | 798| list | 需要添加参数的参数列表指针。 | 799| name | 需要添加的参数名称。 | 800| num | 需要添加的int8_t参数值。 | 801 802**返回:** 803 804添加参数后的参数列表指针。 805 806 807### OH_HiAppEvent_AddStringArrayParam() 808 809``` 810ParamList OH_HiAppEvent_AddStringArrayParam (ParamList list, const char * name, const char *const * strs, int arrSize ) 811``` 812**描述** 813添加一个字符串数组参数到参数列表中。 814 815**起始版本:** 8 816 817**参数:** 818 819| 名称 | 描述 | 820| -------- | -------- | 821| list | 需要添加参数的参数列表指针。 | 822| name | 需要添加的参数名称。 | 823| strs | 需要添加的字符串数组参数值。 | 824| arrSize | 需要添加的参数数组大小。 | 825 826**返回:** 827 828添加参数后的参数列表指针。 829 830 831### OH_HiAppEvent_AddStringParam() 832 833``` 834ParamList OH_HiAppEvent_AddStringParam (ParamList list, const char * name, const char * str ) 835``` 836**描述** 837添加一个字符串参数到参数列表中。 838 839**起始版本:** 8 840 841**参数:** 842 843| 名称 | 描述 | 844| -------- | -------- | 845| list | 需要添加参数的参数列表指针。 | 846| name | 需要添加的参数名称。 | 847| str | 需要添加的字符串参数值。 | 848 849**返回:** 850 851添加参数后的参数列表指针。 852 853 854### OH_HiAppEvent_AddWatcher() 855 856``` 857int OH_HiAppEvent_AddWatcher (HiAppEvent_Watcher * watcher) 858``` 859**描述** 860添加监听器的接口,监听器开始监听系统消息。 861 862**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 863 864**起始版本:** 12 865 866**参数:** 867 868| 名称 | 描述 | 869| -------- | -------- | 870| watcher | 指向监听器的指针(即OH_HiAppEvent_CreateWatcher接口返回的指针)。 | 871 872**返回:** 873 8740:接口调用成功;-5:watcher入参空指针。 875 876 877### OH_HiAppEvent_ClearData() 878 879``` 880void OH_HiAppEvent_ClearData (void ) 881``` 882**描述** 883清除所有监视器保存的所有事件。 884 885**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 886 887**起始版本:** 12 888 889 890### OH_HiAppEvent_Configure() 891 892``` 893bool OH_HiAppEvent_Configure (const char * name, const char * value ) 894``` 895**描述** 896实现应用事件打点的配置功能。 897 898应用事件打点配置接口,用于配置事件打点开关、事件文件目录存储配额大小等功能。 899 900**起始版本:** 8 901 902**参数:** 903 904| 名称 | 描述 | 905| -------- | -------- | 906| name | 配置项名称。名称可填[DISABLE](#disable)和[MAX_STORAGE](#max_storage)。 | 907| value | 配置项值。如果配置项名称是[DISABLE](#disable),值可以填“true”或者“false”;如果配置项名称是[MAX_STORAGE](#max_storage),配额值字符串只由数字字符和大小单位字符(单位字符支持[b\|k\|kb\|m\|mb\|g\|gb\|t\|tb],不区分大小写)构成, 配额值字符串必须以数字开头,后面可以选择不传单位字符(默认使用byte作为单位),或者以单位字符结尾。 | 908 909**返回:** 910 911配置结果。如果配置成功,则返回true;如果配置失败则返回false。 912 913 914### OH_HiAppEvent_CreateConfig() 915 916``` 917HiAppEvent_Config* OH_HiAppEvent_CreateConfig (void ) 918``` 919**描述** 920创建一个指向设置系统事件触发条件的配置对象的指针。 921 922**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 923 924**起始版本:** 15 925 926**返回:** 927 928指向设置系统事件触发条件的配置对象的指针。 929 930 931### OH_HiAppEvent_CreateParamList() 932 933``` 934ParamList OH_HiAppEvent_CreateParamList (void ) 935``` 936**描述** 937创建一个指向参数列表对象的指针。 938 939**起始版本:** 8 940 941**返回:** 942 943指向参数列表对象的指针。 944 945 946### OH_HiAppEvent_CreateWatcher() 947 948``` 949HiAppEvent_Watcher* OH_HiAppEvent_CreateWatcher (const char * name) 950``` 951**描述** 952创建一个用于监听app事件的监听器。 953 954注意:创建的监听器不再使用后必须通过调用OH_HiAppEvent_DestroyWatcher接口进行销毁。 955 956**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 957 958**起始版本:** 12 959 960**参数:** 961 962| 名称 | 描述 | 963| -------- | -------- | 964| name | 监听器名称。 | 965 966**返回:** 967 968接口调用成功时返回指向的新建监听器的指针,name参数异常时返回nullptr。 969 970 971### OH_HiAppEvent_DestroyConfig() 972 973``` 974void OH_HiAppEvent_DestroyConfig (HiAppEvent_Config * config) 975``` 976**描述** 977销毁已创建的配置对象。 978 979注意:已创建的配置对象不再使用后,需要将其销毁,释放内存,防止内存泄漏,销毁后需要将对应指针置空。 980 981**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 982 983**起始版本:** 15 984 985**参数:** 986 987| 名称 | 描述 | 988| -------- | -------- | 989| config | 指向配置对象的指针(即OH_HiAppEvent_CreateConfig接口返回的指针)。 | 990 991 992### OH_HiAppEvent_DestroyParamList() 993 994``` 995void OH_HiAppEvent_DestroyParamList (ParamList list) 996``` 997**描述** 998销毁一个指向参数列表对象的指针,释放其分配内存。 999 1000**起始版本:** 8 1001 1002**参数:** 1003 1004| 名称 | 描述 | 1005| -------- | -------- | 1006| list | 参数列表对象指针。 | 1007 1008 1009### OH_HiAppEvent_DestroyWatcher() 1010 1011``` 1012void OH_HiAppEvent_DestroyWatcher (HiAppEvent_Watcher * watcher) 1013``` 1014**描述** 1015销毁已创建的监听器。 1016 1017注意:已创建的监听器不再使用后,需要将其销毁,释放内存,防止内存泄漏,销毁后需将对应指针置空。 1018 1019**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 1020 1021**起始版本:** 12 1022 1023**参数:** 1024 1025| 名称 | 描述 | 1026| -------- | -------- | 1027| watcher | 指向监听器的指针(即OH_HiAppEvent_CreateWatcher接口返回的指针)。 | 1028 1029 1030### OH_HiAppEvent_RemoveWatcher() 1031 1032``` 1033int OH_HiAppEvent_RemoveWatcher (HiAppEvent_Watcher * watcher) 1034``` 1035**描述** 1036移除监听器的接口,监听器停止监听系统消息。 1037 1038注意:该接口仅仅使监听器停止监听系统消息,并未销毁该监听器,该监听器依然常驻内存,直至调用OH_HiAppEvent_DestroyWatcher接口,内存才会释放。 1039 1040**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 1041 1042**起始版本:** 12 1043 1044**参数:** 1045 1046| 名称 | 描述 | 1047| -------- | -------- | 1048| watcher | 指向监听器的指针(即OH_HiAppEvent_CreateWatcher接口返回的指针)。 | 1049 1050**返回:** 1051 10520:接口调用成功;-5:watcher入参空指针;-6:还未调用OH_HiAppEvent_AddWatcher,操作顺序有误。 1053 1054 1055### OH_HiAppEvent_SetAppEventFilter() 1056 1057``` 1058int OH_HiAppEvent_SetAppEventFilter (HiAppEvent_Watcher * watcher, const char * domain, uint8_t eventTypes, const char *const * names, int namesLen ) 1059``` 1060**描述** 1061用于设置监听器需要监听的事件的类型。 1062 1063该函数可以重复调用,可添加多个过滤规则,而非替换,监听器将收到满足任一过滤规则的事件的通知。 1064 1065**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 1066 1067**起始版本:** 12 1068 1069**参数:** 1070 1071| 名称 | 描述 | 1072| -------- | -------- | 1073| watcher | 指向监听器的指针(即OH_HiAppEvent_CreateWatcher接口返回的指针)。 | 1074| domain | 需要监听事件的领域。 | 1075| eventTypes | 需要监听事件的事件类型。使用按位与方式进行匹配,可支持监听多种类型的事件。 第一位为1(数值为1)表示支持监听故障类型的事件;第二位为1(数值为2)表示支持监听统计类型的事件;<br/>第三位为1(数值为4)表示支持监听安全类型的事件;第四位为1(数值为8)表示支持监听行为类型的事件。<br/>都为1(数值为15)或者都为0(数值为0)表示支持所有类型事件。 | 1076| names | 需要监听的事件名称数组。 | 1077| namesLen | 监听的事件名称的数组长度。 | 1078 1079**返回:** 1080 10810:接口调用成功;-1:names参数异常;-4:domain参数异常;-5:watcher入参空指针。 1082 1083 1084### OH_HiAppEvent_SetConfigItem() 1085 1086``` 1087int OH_HiAppEvent_SetConfigItem (HiAppEvent_Config * config, const char * itemName, const char * itemValue ) 1088``` 1089**描述** 1090设置配置对象中的配置项。 1091 1092**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 1093 1094**起始版本:** 15 1095 1096**参数:** 1097 1098| 名称 | 描述 | 1099| -------- | -------- | 1100| config | 指向配置对象的指针(即OH_HiAppEvent_CreateConfig接口返回的指针)。 | 1101| itemName | 待设定配置项的名称。 | 1102| itemValue | 待设定配置项的值。 | 1103 1104**返回:** 1105 11060:接口调用成功;-9:设定的配置项无效;-10:传入的指向配置对象的指针为空。 1107 1108 1109### OH_HiAppEvent_SetEventConfig() 1110 1111``` 1112int OH_HiAppEvent_SetEventConfig (const char * name, HiAppEvent_Config * config ) 1113``` 1114**描述** 1115设定系统事件订阅触发条件。 1116 1117**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 1118 1119**起始版本:** 15 1120 1121**参数:** 1122 1123| 名称 | 描述 | 1124| -------- | -------- | 1125| name | 系统事件的名称。 | 1126| config | 指向配置对象的指针(即OH_HiAppEvent_CreateConfig接口返回的指针)。 | 1127 1128**返回:** 1129 11300:接口调用成功;-9:设置的参数无效。 1131 1132 1133### OH_HiAppEvent_SetTriggerCondition() 1134 1135``` 1136int OH_HiAppEvent_SetTriggerCondition (HiAppEvent_Watcher * watcher, int row, int size, int timeOut ) 1137``` 1138**描述** 1139用于设置监听器OH_HiAppEvent_OnTrigger回调的触发条件,分别可以从监视器新接收事件数量、新接收事件大小、onTrigger触发超时时间,设置触发条件。调用方应至少保证从一个方面设置触发条件。 1140 1141**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 1142 1143**起始版本:** 12 1144 1145**参数:** 1146 1147| 名称 | 描述 | 1148| -------- | -------- | 1149| watcher | 指向监听器的指针(即OH_HiAppEvent_CreateWatcher接口返回的指针)。 | 1150| row | 当输入值大于0,且新接收事件的数量大于等于该值时,将调用设置的onTrigger回调函数;当输入值小于等于0时,不再以接收数量多少为维度 来触发onTrigger回调。 | 1151| size | 当输入值大于0,且新接收事件的大小(单个事件大小计算方式为,将事件转换为json字符串后,字符串的长度)大于等于该值时,将调用设置的 onTrigger回调函数;当输入值小于等于0时,不再以新接收事件大小为维度触发onTrigger回调。 | 1152| timeOut | 单位秒,当输入值大于0,每经过timeout秒,将检查监视器是否存在新接收到的事件,如果存在将触发onTrigger回调。触发onTrigger 后,经过timeOut秒后将再次检查是否存在新接收到的事件。当输入值小于等于0,不以超时时间为维度触发onTrigger回调。 | 1153 1154**返回:** 1155 11560:接口调用成功;-5:watcher入参空指针。 1157 1158 1159### OH_HiAppEvent_SetWatcherOnReceive() 1160 1161``` 1162int OH_HiAppEvent_SetWatcherOnReceive (HiAppEvent_Watcher * watcher, OH_HiAppEvent_OnReceive onReceive ) 1163``` 1164**描述** 1165用于设置监听器onReceive回调函数的接口。当监听器监听到相应事件后,onReceive回调函数将被调用。 1166 1167**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 1168 1169**起始版本:** 12 1170 1171**参数:** 1172 1173| 名称 | 描述 | 1174| -------- | -------- | 1175| watcher | 指向监听器的指针(即OH_HiAppEvent_CreateWatcher接口返回的指针)。 | 1176| onReceive | 回调函数的函数指针。 | 1177 1178**返回:** 1179 11800:接口调用成功;-5:watcher入参空指针。 1181 1182 1183### OH_HiAppEvent_SetWatcherOnTrigger() 1184 1185``` 1186int OH_HiAppEvent_SetWatcherOnTrigger (HiAppEvent_Watcher * watcher, OH_HiAppEvent_OnTrigger onTrigger ) 1187``` 1188**描述** 1189用于设置监听器onTrigger回调的接口。 1190 1191**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 1192 1193**起始版本:** 12 1194 1195**参数:** 1196 1197| 名称 | 描述 | 1198| -------- | -------- | 1199| watcher | 指向监听器的指针(即OH_HiAppEvent_CreateWatcher接口返回的指针)。 | 1200| onTrigger | 需要设置的回调。 | 1201 1202**返回:** 1203 12040:接口调用成功;-5:watcher入参空指针。 1205 1206 1207### OH_HiAppEvent_TakeWatcherData() 1208 1209``` 1210int OH_HiAppEvent_TakeWatcherData (HiAppEvent_Watcher * watcher, uint32_t eventNum, OH_HiAppEvent_OnTake onTake ) 1211``` 1212**描述** 1213用于获取监听器收到后保存的事件。 1214 1215**系统能力:** SystemCapability.HiviewDFX.HiAppEvent 1216 1217**起始版本:** 12 1218 1219**参数:** 1220 1221| 名称 | 描述 | 1222| -------- | -------- | 1223| watcher | 指向监听器的指针(即OH_HiAppEvent_CreateWatcher接口返回的指针)。 | 1224| eventNum | 当输入值小于等于0时,取全部已保存事件;当输入值大于0时,按照事件发生时间倒序排列,取指定数量的已保存事件。 | 1225| onTake | 回调函数指针,事件通过调用该函数返回事件信息。 | 1226 1227**返回:** 1228 12290:接口调用成功;-5:watcher入参空指针;-6:还未调用OH_HiAppEvent_AddWatcher,操作顺序有误。 1230 1231 1232### OH_HiAppEvent_Write() 1233 1234``` 1235int OH_HiAppEvent_Write (const char * domain, const char * name, enum EventType type, const ParamList list ) 1236``` 1237**描述** 1238实现对参数为列表类型的应用事件打点。 1239 1240在应用事件打点前,该接口会先对该事件的参数进行校验。如果校验成功,则接口会将事件写入事件文件。 1241 1242**起始版本:** 8 1243 1244**参数:** 1245 1246| 名称 | 描述 | 1247| -------- | -------- | 1248| domain | 事件领域。开发者可以根据需要自定义事件领域。事件领域名称支持数字、字母、下划线字符,需要以字母开头且不能以下划线结尾,长度非空且不超过32个字符。 | 1249| name | 事件名称。开发者可以根据需要自定义事件名称。首字符必须为字母字符或$字符,中间字符必须为数字字符、 字母字符或下划线字符,结尾字符必须为数字字符或字母字符,长度非空且不超过48个字符。 | 1250| type | 事件类型,在[EventType](#eventtype)中定义。 | 1251| list | 事件参数列表,每个参数由参数名和参数值组成,其规格定义如下:<br/>1、参数名为字符串类型,首字符必须为字母字符或$字符,中间字符必须为数字字符、字母字符或下划线字符,结尾字符必须为数字字符或字母字符,长度非空且不超过32个字符。<br/>2、参数值支持字符串、数值、布尔、数组类型,字符串类型参数长度需在8\*1024个字符以内,超出会做丢弃处理;数组类型参数中的元素类型只能为字符串、数值、布尔中的一种,且元素个数需在100以内,超出会做丢弃处理。<br/>3、参数个数需在32个以内,超出的参数会做丢弃处理。 | 1252 1253**返回:** 1254 1255如果事件参数校验成功,则返回0,将事件写入事件文件;如果事件中存在无效参数,则返回正值,丢弃无效参数后将事件写入事件文件;如果事件参数校验失败,则返回负值,并且事件将不会写入事件文件。 12560 事件参数校验成功。-1 非法的事件名称。-4 非法的事件领域名称。-99 打点功能被关闭。1 非法的事件参数名称。4 非法的事件参数字符串长度。5 非法的事件参数数量。6 非法的事件参数数组长度。8 重复的事件参数名称。 1257