Demo/
|- entry/ (项目主模块)
| |- libs/ (第三方库,用户手动创建)
| |- src/ (代码目录)
| |- oh-package.json5(模块级oh-package.json5文件)
|- build-profile.json5
|- hvigorfile.ts
|- oh-package.json5 (顶层oh-package.json5文件)
| ......
注:其中 “......” 表示省略其他与本教程无关的内容,以下 “......” 表示相同意义,不再重复说明。
请参考 创建应用 获取相应的AppID
信息。该信息在之后的步骤配置中将会使用。
注意:当前只支持本地集成
通过官网下载或技术支持获取ido.har
在项目主模块entry下创建libs文件夹
将下载好的har包ido.har放到libs文件夹下
Demo/
|- entry/ (项目主模块)
| |- libs/ (第三方库,用户手动创建)
| |-IDO-HM-1.0.0.0-beta.har (个推用户运营SDK)
| ......
找到entry模块级oh-package.json5文件,依赖ido.har
Demo/
|- entry/ (项目主模块)
| |- libs/ (第三方库,用户手动创建)
| |- src/ (代码目录)
| | |- main/
| | | |- module.json5(模块级基本配置文件)
| |- oh-package.json5(模块级oh-package文件)
| ......
oh-package.json5 配置如下:
{
"name": "entry",
"version": "1.0.0",
"description": "Please describe the basic information.",
"main": "",
"author": "",
"license": "",
"dependencies": {
"@getui/ido": "file:./libs/IDO-HM-1.0.0.0-beta.har"
}
}
module.json5 配置如下:
配置注册好的个推AppId
和权限
{
"module": {
.....
"metadata": [
{
"name": "GETUI_APPID",
"value": "替换您注册个推AppId"
}
],
"requestPermissions": [
{
"name": "ohos.permission.INTERNET"
},
{
"name": "ohos.permission.GET_NETWORK_INFO"
},
{
"name": "ohos.permission.GET_WIFI_INFO"
},
{
"name": "ohos.permission.APP_TRACKING_CONSENT",
"reason" : "$string:oaid_reason",
"usedScene": {
"when": "always"
}
}
]
}
}
运行指令ohpm install
在`@ohos.app.ability.AbilityStage的
onCreate方法中进行预初始化:
Ido.preInit(context: Context)`
import { Ido, IdoConfig } from '@getui/ido'
export default class MyAbilityState extends AbilityStage {
onCreate(): void {
// 日志开关
IdoConfig.setDebugEnable(true)
// 设置channel
IdoConfig.setChannel('getui_channel')
// 预初始化
Ido.preInit(this.context)
Ido.setUserId('getui_ido_user')
}
在适当时机进行初始化:init(context: Context): Promise<string>
Ido.init(this.context).then((gtcId) => {
hilog.info(0x0000, 'IDOAbility', 'IDO init Succeeded. GtcId: (%{public}s)', gtcId);
})
应用时长统计用于统计应用启动次数和真实活跃时长,初始化SDK 后不需要开发者调用额外的接口。
其中鸿蒙平台一次完整的启动包括如下两种情况:
1.从启动应用到关闭应用;
2.从启动应用到应用退至后台,且在后台时间超过 30秒(该值可通过下面的方法修改,单位毫秒);
IopConfig.setSessionTimeoutMillis(sessionTimeoutMillis: number)
自定义事件可以统计某些用户自定义埋点的发生时间以及次数,例如广告点击、短信数量等。
通常由 event_id
作为一个事件的唯一标识。
自定义事件分为:
计数统计事件:统计指定行为被触发的次数。
计时统计事件:统计指定行为消耗的时间,单位毫秒。需要 eventBegin
和 eventEnd
接口成对使用才可生效。
每类事件都支持使用 Map<string, string | number | Date | boolean>
参数类型,其中 key
必须为字符串类型,value
目前支持类型有 string
、 Number
、 Boolean
、 Date
。
// 计数统计事件
const map1 = new Map<string, string | number | Date | boolean>()
map1.set('test1', 1)
map1.set('test2', '2')
map1.set('test3', true)
map1.set('test4', new Date())
Ido.onEvent('event1', map1)
// 计时统计事件
Ido.onBeginEvent('event2')
const map2 = new Map<string, string | number | Date | boolean>()
map2.set('test1', 1)
map2.set('test2', '2')
map2.set('test3', true)
map2.set('test4', new Date())
Ido.onEndEvent('event2', map2)
// 用户属性事件
const map3 = new Map<string, string | number | Date | boolean>()
map3.set('test1', 1)
map3.set('test2', '2')
map3.set('test3', true)
map4.set('test4', new Date())
Ido.onProfile(map3)
预置事件主要应用于系统中所有事件相关功能,如app_start 可在事件分析、用户群等模块选用,进行对应的分析。
预置事件由SDK自动采集填充,开发者不可修改。
事件名称 | 描述 | 说明 |
---|---|---|
sys_$app_start |
启动app | 不区分前后台 |
sys_$foreground_start |
打开app | 仅前台 |
预置属性中包含日常分析常用的一些维度,会由SDK自动采集,系统的看板等功能中会用到这些预置属性用于筛选分析。
统计事件的预置属性由sdk自动采集填充,开发者不可以修改:
字段名称 | 类型 | 说明 |
---|---|---|
sys_$wifi |
布尔值 | 是否使用wifi |
sys_$carrier |
字符串 | 运营商名称 |
sys_$network_type |
字符串 | 网络类型 |
sys_$app_version |
字符串 | 应用版本 |
sys_$lib_version |
字符串 | SDK版本 |
sys_$manufacturer |
字符串 | 设备制造商 |
sys_$model |
字符串 | 设备型号 |
sys_$os |
字符串 | 操作系统 |
sys_$os_version |
字符串 | 操作系统版本 |
sys_$package_name |
字符串 | 应用包名 |
用户属性事件的预置属性分为两部分。一部分是由SDK自动采集填充的,如下表:
字段名称 | 类型 | 说明 |
---|---|---|
sys_$app_version |
字符串 | 应用版本 |
sys_$channelId |
字符串 | 渠道 |
sys_$lib_version |
字符串 | SDK版本 |
sys_$manufacturer |
字符串 | 设备制造商 |
sys_$model |
字符串 | 设备型号 |
sys_$os |
字符串 | 操作系统 |
sys_$os_version |
字符串 | 操作系统版本 |
sys_$screen_width |
数值 | 屏幕宽度 |
sys_$screen_height |
数值 | 屏幕高度 |
sys_$firstvisittime |
日期 | 首次访问时间 |
sys_$package_name |
字符串 | 应用包名 |
另一部分需由用户手动设置,如下表:
字段名称 | 类型 | 说明 |
---|---|---|
sys_$country |
字符串 | 国家 |
sys_$city |
字符串 | 城市 |
sys_$province |
字符串 | 省份 |
sys_$name |
字符串 | 姓名 |
sys_$sex |
字符串 | 性别 |
sys_$phone |
字符串 | 手机号 |
sys_$email |
字符串 | 邮箱 |
sys_$birthday |
日期 | 出生日期 |
sys_$signup_time |
日期 | 注册时间 |
以上文档对您是否有帮助?