菜单

API 介绍(uni-app x)

用户关联

用户关联是为了对用户进行唯一标识,提高用户行为分析的准确性。目前神策提供了简易用户关联和全域用户关联,分别用于支撑不同的业务场景。

用户属性

  • 关于事件属性和用户属性的区别,请参考数据模型
  • 用户属性的命名约束,请参考数据格式

设置用户属性

setProfile() 方法可以设置用户属性,同一个 key 多次设置时,value 值会进行覆盖替换:

sensors.setProfile({email:'xxx@xx'});

记录初次设定的用户属性

setOnceProfile() 方法可以设置用户属性,如果属性不存在则设置,存在就不设置。

sensors.setOnceProfile({email:'xxx@xx'});

埋点事件采集

在 SDK 初始化完成之后,您可以通过以下接口进行数据埋点。

代码埋点追踪事件

SDK 初始化后,可以通过 track() 方法追踪用户行为事件,并为事件添加自定义属性。

sensors.track('MyEvent',{prop1:'value1'});

事件名和事件属性的格式规范,请参考数据格式

事件公共属性

设置事件静态公共属性

对于所有事件都需要添加的属性,初始化 SDK 后,可使用 register 将属性注册为公共属性:

sensors.register({
	current_url: location.href,
	referrer: document.referrer
});

设置事件动态公共属性

对于一些值会变化的公共属性,如当前游戏等级、最新金币余额等,可以注册动态公共属性。

sensors.register({
  random: () => {
    return Math.random();
  }
});

上面的属性值 random 在每次事件生成的时候,都会去重新计算

清除公共属性

通过 register 注册的公共属性,可以通过 clearRegister 进行清楚,传入 key 名就可以。

sensors.clearRegister([ 'url' , 'name' ]);

上面的属性值 random 在每次事件生成的时候,都会去重新计算

批量发送

注意

  • 默认不需要配置 batch_send,如果要修改默认值的时候,再进行配置修改。

详细配置参数如下:

sensors.init({
  batch_send:{
    flush_interval: 10000, 
    flush_bulk_size: 10, 
    max_cache_size: 50,
    datasend_timeout: 30000 
  }
})
  参数 默认 功能
1 flush_interval 10000 ms 每隔多少秒发送
2 flush_bulk_size 10 条 超出多少条发送
3 datasend_timeout 30000 ms 一次请求的最大超时时间
4 max_cache_size 50 条 数据最多存多少条
  • 不配置 batch_send ,或者配置 batch_send: true ,都是走默认就是批量发送的逻辑。
  • 如果不走批量发送,走单条发送,配置 batch_send:false 就可以,但是失败了不会重试。
  • 还有一种来一条发一条的方案,可以配置 flush_bulk_size 为 1。
  • 批量发送的原理:来一条数据,就存到本地缓存。存储和发送分离。
  • 发送的时机:
    • 1. 每隔一定时间(flush_interval)
    • 2. 超过配置的条数(flush_bulk_size)
    • 3. 每次 SDK ready(init 初始化完成)

 

 

上一个
uni-app x SDK
下一个
集成文档(uni-app x)
最近修改: 2026-07-21