百度小程序 SDK
在使用前,请先阅读数据模型的介绍。
1. 获取和引入神策分析 SDK
1.1 下载 sdk
从 github 上下载 百度小程序 sdk ,sensorsdata.min.js 和 sensorsdata_conf.js
把这两个文件放在小程序的根目录下文件夹 sa-sdk-smartprogram 。
引入 SDK 并设置一个全局变量
// 引入 sdk
var sensors = require('./sa-sdk-smartprogram/sensorsdata.min.js')
App({
onLaunch : function(){
// 设置全局变量,以便于在 Page 里访问到
this.sensors = sensors
}
})
现在在其他 Page 里就可以通过 getApp 来使用神策的追踪了
var app = getApp();
app.sensors.track(eventName, properties) // 第一个参数事件名 字符串类型,第二个参数 属性值 对象类型
1.2 sensorsdata_conf.js 参数配置
server_url: 数据接收地址, 如果你使用的是 cloud 云版环境,地址类似于 http://xq_zgq.cloud.sensorsdata.cn/sa?project=gxq&token=251d0b0。 注意: 请在“小程序详情/设置”中添加 httpRequest 接口请求域名白名单,把这个地址加上。
2. 标识用户
在进行任何埋点之前,都应当先确定如何标识用户。distinct_id 是神策用来标识用户的一段唯一的字符串。
在小程序中,会有下面 2 种 id 1. 默认情况下,我们会生成一个随机数 uuid ,保存在本地缓存中,我们暂时称这个为 uuid 2. 数据库中保存的,用户真实 id 。我们暂时称为 "你们服务端分配给用户具体的登录 ID"
如果不做任何操作,小程序会使用 uuid 作为 distinct_id ,注意: uuid 在换了设备,或者删除小程序后,会重新生成。
2.1 调用sensors.login("你们服务端分配给用户具体的登录 ID") 来标识真实用户
通过 sensors.login("你们服务端分配给用户具体的登录 ID")
来把 SDK 自动生成的 uuid 关联成现在传入的 "你们服务端分配给用户具体的登录 ID"。且以后会一直使用这个 "你们服务端分配给用户具体的登录 ID"。
sensors.login('user1312312123');
2.2 使用 sensors.identify 来修改匿名 id
默认情况下,是把 uuid 作为 distinct_id 的。如果你能取到其他匿名 id(比如你们自己生成的 uuid),可以用 sensors.identify(id,true)
来改变当前的distinct_id。
3. 自定义事件追踪
第一次接入神策分析时,建议使用 sensors.track() 先追踪 3~5 个关键的事件,只需要几行代码,便能体验神策分析的分析功能。例如:
电商产品,可以追踪用户注册、浏览商品和下订单等事件。
// 追踪浏览商品事件。
var app = getApp();
app.sensors.track('ViewProduct', {
ProductId: '123456',
ProductCatalog: "Laptop Computer",
ProductName: "MacBook Pro",
ProductPrice: 12345
});
事件公共属性:可以在小程序页面 Page() 执行前使用 registerApp() 方法注册事件公共属性,这样在后续的所有事件都会添加这些公共属性。例如:
// 注册事件公共属性。
var app = getApp();
app.sensors.registerApp({
userLever: 'VIP3',
userSex: '男'
});
4 设置用户属性
4.1 sensors.setProfile(properties)
直接设置用户的属性,如果存在则覆盖。
properties:
object
,必选。
sensors.setProfile({email:'xxx@xx'});
4.2 sensors.setOnceProfile(properties)
如果不存在则设置,存在就不设置。
properties:
object
,必选。
sensors.setOnceProfile({email:'xxx@xx'});
5 实际案例使用
先把下载下来的 sensorsdata.js 和 sensorsdata_conf.js 放在目录 until 目录下
5.1 在根目录的 app.js 中加入
// 这行是必须加入的
var sensors = require('./sa-sdk-smartprogram/sensorsdata.min.js');
App({
onLaunch: function () {
// 设置全局变量
this.sensors = sensors;
// 如果获取到了用户的信息,可以给这个用户设置 profile
sensors.setProfile({name:'tiantian',age:18});
}
......
});
5.2 在 Pages 里的 js 中可以通过 getApp() 来获取 sensors
var app = getApp();
//下面模拟某个用户在浏览一张桃花的图片,当用户点击这张图片时,我们发送一个 clickImage 事件
Page({
bindTapImage: function(){
app.sensors.track('clickImage',{name:'桃花'});
},
onLoad: function(){
}
});
Last updated
Was this helpful?