JavaScript SDK


#1. 下载相关资源

#2. 开始使用

#2.1 异步初始化

<script>
    !function(e){if(!window.EntrolysisAnalyticalTool){var n=e.sdkUrl,t=e.name,r=window,a=document,i="script",l=null,s=null;r.EntrolysisAnalyticalTool=t;var o=["track","quick","login","userAddOrUpdate","initInstance"];r[t]=function(e){return function(){if(this.name)(r[t]._q=r[t]._q||[]).push([e,arguments,this.name]);else if("initInstance"===e){var n=arguments[0];r[t][n]={name:n};for(var a=0;a<o.length;a++)r[t][n][o[a]]=r[t].call(r[t][n],o[a]);(r[t]._q1=r[t]._q1||[]).push([e,arguments])}else(r[t]._q=r[t]._q||[]).push([e,arguments])}};for(var u=0;u<o.length;u++)r[t][o[u]]=r[t].call(null,o[u]);r[t].param=e,r[t].__SV=1.1,l=a.createElement(i),s=a.getElementsByTagName(i)[0],l.async=1,l.src=n,s.parentNode.insertBefore(l,s)}}({
		appId: "22e445595b0f42bd8c5fe35bc44b88d6",
		name: "es",
		sdkUrl: "./entrolysis.js",
		serverUrl: "http://192.168.1.1:8847",
		batch: true,
		loaded: function (es) {
			console.log("初始化异步调用即将开始");
        	// es.track('test', { 'prop': 100 })
    	},
		send_method: "ajax",
	});
</script>
参数名 参数描述
appId 所属项目的id (可在熵析数据平台-项目管理-项目配置中查看)
name 注册的类名,后续调用需要
sdkUrl entrolysis.js 所在位置
serverUrl 数据服务所在地址与端口
batch 是否批量发送

#2.2 上报数据封装

请注意:无论是事件数据还是账号数据,所上报的属性都应先在 元事件-事件属性、用户属性中添加对应属性。 上报数据会根据所添加的属性进行过滤与数据格式校验

#2.2.1 事件数据构建
// 设置账号id
es.login('es-001');
// 设置公共参数,如游戏id
es.setSuperValues({"_game_id": 100});
// track方法包含eventName,eventValues, eventTime, callback
es.track("test", { "prop": 100 });
参数说明
eventName 所属事件、该字段只在事件上报需要,在用户上报中不需要携带
eventValues 上报数据
eventTime 时间发生时间,非必传,默认由工具类提供
#2.2.2 用户数据构建
// 设置账号id
es.login("es-001");
// 设置公共参数,如游戏id
es.setSuperValues({ "_game_id": 100 });
// 新增或者更新用户字段
es.userAddOrUpdate({
    // 每个需要更新的字段需要构建成一个对象,必须带有action、key、value 三个属性
	"action": "add_or_update",
	"key": "age",
	"value": 18,
});