神策数据分析平台接入指南
概述
开发者在使用sensorsAnalyticsAPICloudSDK模块接入神策数据统计平台时,需要开发者到神策官网申请试用账号获取相应的数据接收地址的URL和配置分发地址的URL。并在初始化时填入对应的URL。
sensorsAnalyticsAPICloudSDK模块的具体试用步骤如下:
初始化SDK
首先从 Sensors Analytics 系统中,获取数据接收和配置分发的 URL。
如果使用 Sensors Analytics Cloud 服务,需获取的配置信息为:
- 数据接收地址: http://{$service_name}.cloud.sensorsdata.cn:8006/sa?project={$project_name}&token={$project_token}
- 配置分发地址: http://{$service_name}.cloud.sensorsdata.cn:8006/config?project={$project_name}
如果用户使用单机版私有部署的 Sensors Analytics,默认的配置信息为:
- 数据接收地址: http://{host_name}:8006/sa?project={$project_name}
- 配置分发地址: http://{host_name}:8006/config?project={$project_name}
如果用户使用集群版私有部署的 Sensors Analytics,默认的配置信息为:
- 数据接收地址: http://{host_name}:8106/sa?project={$project_name}
- 配置分发地址: http://{host_name}:8106/config?project={$project_name}
如果私有部署的过程中修改了 Nginx 的默认配置,或通过 CDN 等访问 Sensors Analytics,则请咨询相关人员获得配置信息,特别地,除上述数据接收的 URL 和配置分发的 URL 外,还需要获取可视化埋点服务的 URL。
首先必须在index.html或应用入口文件里调用 sharedInstance
接口初始化模块(模块使用前必须初始化,在下面几项功能介绍时不再重复描述了)
示例代码
apiready = function() {
var saAPICloud = api.require('sensorsAnalyticsAPICloudSDK');
saAPICloud.sharedInstance({
serverURL: 'your server url',
configureURL: 'your configure url',
debugMode: 'your debug mode'
});
}
其中:
serverURL:数据接收地址的URL
configureURL:配置分发地址的URL
debugMode 有三种形式
debugOff
- 关闭debug模式debugOnly
- 打开 Debug 模式,校验数据,但不进行数据导入debugAndTrack
- 打开 Debug 模式,校验数据,并将数据导入到 Sensors Analytics 中
注意:正式发布app时请将 debugMode
指定成 debugOff
模式!
识别用户
在集成了 sensorsAnalyticsAPICloudSDK 模块的 App 中,SDK 会为每个设备随机分配一个唯一 ID(DistinctId)作为 匿名 ID,用于标记产生事件的未登录用户,并以此进行用户相关分析,如留存率、事件漏斗等。默认情况下,对于iOS sensorsAnalyticsAPICloudSDK 模块会优先使用 IDFV 作为 DistinctID,如果 IDFV 获取失败,则使用随机的 UUID。而Android默认获取 UUID 作为 DistinctID.
当一个用户 注册成功 或 登录成功 之后,可以通过 login:
方法设置用户的 登录 ID ,并将 匿名 ID 与 登录 ID 进行关联,以保证用户分析的准确性。
示例代码
document.getElementById('login').onclick = function() {
var saAPICloud = api.require('sensorsAnalyticsAPICloudSDK');
saAPICloud.login({
loginId: '123456'
});
}
追踪事件
sensorsAnalyticsAPICloudSDK 模块成功初始化后,可以通过 track:
方法追踪用户行为事件,并为事件添加自定义属性。以电商产品为例,可以这样追踪一次购物行为:
document.getElementById('track').onclick = function() {
var saAPICloud = api.require('sensorsAnalyticsAPICloudSDK');
saAPICloud.track({
event:'ViewProduct',
properties:{
ProductID:123456,
ProductCatalog:'Laptop Computer',
IsAddedToFav: false
}
});
}
通过Debug模式,可以校验追踪的事件及属性是否正确。普通模式下,数据导入后,在 Sensors Analytics 中稍等片刻,便能看到追踪结果。请注意,不要在正式发布的 App 中使用 Debug 模式。
手动同步数据
在debugOff
模式下每次调用 track
方法的时,Sensors Analytics SDK 会将事件与属性保存在 App 的存储空间中,并会检查如下条件,以判断是否向服务器上传数据:
- 当前是否是 WIFI / 3G / 4G 网络
- 是否满足发送事件之一:
- 与上次发送的时间间隔是否大于 15秒
- 本地缓存的事件条目数是否大于 100条
如果追求数据采集的时效性,可以调用 flush
方法,强制将数据发送到 Sensors Analytics,例如:
示例代码
document.getElementById('flush').onclick = function() {
var saAPICloud = api.require('sensorsAnalyticsAPICloudSDK');
saAPICloud.flush();
}