分析服务提供基于您上报事件的分析数据模型。
分析数据模型采用了Event-Param-User模型来记录数据,通过不同的参数对事件进行描述,同时对用户的特征也进行了描述。
术语 | 名称 | 说明 |
|---|---|---|
Event | 事件 | 描述一个用户在某个时间点、某个地方、以某种方式完成了某个具体的事情。包含who、when、where、how、what等关键要素。 |
Param | 参数 | 事件上报的关联参数。如加入购物车事件中的商品名称参数,商品价格参数,支持后续的深入分析。 |
UserProfile | 用户属性 | 用户的属性表,常见的用户属性有设备型号、应用版本、自定义的用户属性(如食品偏好)等。 |
Analytics Kit会收集AAID。AAID是应用匿名标识符,每个App在同一个设备上会分配不同的AAID。AAID用于连通华为提供的各项服务,例如分析服务和远程配置。
AAID在“用户清除浏览器数据”场景下会重置。
对于使用了模块捆绑器(如Browserify或webpack)的Web应用,可通过以下步骤来使用Analytics SDK。
SDK初始化时会发送网络请求,请您务必在用户同意隐私协议后再初始化SDK。
登录AppGallery Connect网站,选择,在项目中找到需要集成SDK的应用,然后切换到页面,拷贝agConnectConfig代码片段到您的代码工程的main.js中,并完成SDK的初始化。

// TODO: 用您应用的配置替换下方代码
const agConnectConfig = {
// ...
};
// 配置agconnect实例
agconnect.instance().configInstance(agConnectConfig);
// 初始化分析实例
let analytics = agconnect.analytics(); import agconnect from '@agconnect/api'; import '@agconnect/instance'; import '@hw-hmscore/analytics-web';
<script src="./hw-hmscore-analytics-web-6.x.x-300.umd.js"></script> // TODO: 用您应用的配置替换下方代码
const agConnectConfig = {
// ...
};
// 配置agconnect实例
agconnect.instance().configInstance(agConnectConfig);
// 初始化分析实例
let analytics = agconnect.analytics(); // 自定义事件埋点,在工程合适位置插入埋点代码
let eventId = "Complete_Exam";
let eventParams = {
"Score": 95,
"Level": "high"
};
analytics.onEvent(eventId, eventParams); // 预置事件埋点,在工程合适位置插入埋点代码
let preDefineParams = agconnect.analytics.ParamName;
let preDefineEvents = agconnect.analytics.EventName;
let eventParams = {};
eventParams[preDefineParams.PRODUCTID] = 'item_ID';
eventParams[preDefineParams.PRODUCTNAME] = 'name';
eventParams[preDefineParams.CATEGORY] = 'category';
eventParams[preDefineParams.QUANTITY] = 100;
eventParams[preDefineParams.PRICE] = 10.01;
eventParams[preDefineParams.REVENUE] = 10;
eventParams[preDefineParams.CURRNAME] = 'currency';
eventParams[preDefineParams.PLACEID] = 'location_ID';
analytics.onEvent(preDefineEvents.ADDPRODUCT2WISHLIST, eventParams); 在SDK初始化之前,添加以下代码以启用调试模式(切勿在生产环境使用调试模式)。
// 启用调试模式 agconnect.analytics.InitSettings.debugMode = true; // 调试模式下,自定义终端标识 agconnect.analytics.InitSettings.terminalName = "custom terminal name"; // 初始化分析实例 let analytics = agconnect.analytics();
调试模式打开后,所有事件将实时上报,在“华为分析 > 应用调试”界面可实时查看上报的数据如下图:

在AGC系统上查看数据,请参见应用调试。
默认打印控制台日志,如果您想禁用日志打印功能,可以在SDK初始化之前添加如下启动配置项:
// 是否禁用日志打印 agconnect.analytics.InitSettings.logDisabled = true; // 打印的最小日志级别,不区分大小写,支持的配置:INFO|WARN|ERROR agconnect.analytics.InitSettings.logLevel = 'INFO';
Web SDK提供URL聚类的配置,您可以在SDK初始化之前添加如下启动配置项:
// 是否启用url聚类
agconnect.analytics.UrlClusteringOptions.enabled= false;
// 是否移除协议
agconnect.analytics.UrlClusteringOptions.removeProtocol= true;
// 是否移除协议、域名和端口
agconnect.analytics.UrlClusteringOptions.removeOrigin= false;
// 是否移除全部参数
agconnect.analytics.UrlClusteringOptions.removeAllParams= true;
// 是否移除指定参数
agconnect.analytics.UrlClusteringOptions.removeParams= {
// 默认处理方式,移除全部参数值,保留键名。
removeValuesOnly: true,
params: {
"key1": {
// 是否只移除参数值,保留键名,覆盖外层的配置
removeValuesOnly: false,
// search|anchor|both search表示锚点前的参数位置,anchor表示锚点后的参数位置,both表示锚点前的参数位置和锚点后的参数位置。
position: 'both',
}
}
};
// 是否移除锚点
agconnect.analytics.UrlClusteringOptions.removeAnchor= true;
// URL模式,若传入的URL按照开关处理后满足任一模式,则上报该模式。URL模式可指定 {占位符名称} 格式的占位符,占位符匹配除urlSeparators外的所有字符。
agconnect.analytics.UrlClusteringOptions.urlPatterns= [];
agconnect.analytics.UrlClusteringOptions.urlSeparators= ':/.?=&#'
初始化SDK后,会存储退出页面事件EXITSCREEN。若您的url带有参数信息,事件缓存会记录退出页面事件的参数信息。建议您在SDK初始化之前启用url聚类,即将UrlClusteringOptions开关设置为true,启用后退出页面事件的参数信息将不会被记录。