更新记录

0.0.4(2021-10-28)

  • uni-app 支持智能运营弹窗
  • uni-app 支持百度小程序全埋点

0.0.3(2021-10-15)

新增原生功能支持在 uni-app SDK 侧配置 新增 uni-app SDK 支持原生接口

查看更多

平台兼容性

Vue2 Vue3
×
App 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序 快应用
2.9.2 × × × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

引用方式

<script>
    import sensors from '神策 uni-app JS SDK 路径/index.js';
    sensors.setPara({
        server_url:"https://xxxxx",       //数据上报地址 必填 @Platform All
        show_log:true,                    //日志打印  @Platform All
        name:'sensors',                   //参考小程序文档 @Platform 小程序
        app_flush_interval:20000,         //设置两次数据发送的最小时间间隔 @Platform Android&iOS
        app_flush_bulkSize:70,            //设置本地缓存日志的最大条目数,最小 50 条 @Platform Android&iOS
        app_flush_network_policy:20,      //设置 flush 时网络发送策略,默认 3G、4G、WI-FI 环境下都会尝试 flush  @Platform Android&iOS
        app_session_interval_time:20000,  //Session 时长,若 App 在后台超过设定事件,则认为当前 Session 结束,发送 $AppEnd 事件,单位毫秒 @Platform Andorid
        app_data_collect:true             //是否开启数据采集 @Platform Android
    });
    //初始化方法 @Platform H5、小程序
    sensors.init();

</script>

接口列表

setPara

适用平台:APP、H5、小程序

参数 类型 说明 是否必选
para Object 相关配置项

属性:

属性名 类型 说明 适用平台 是否必选
server_url string 数据上报地址 APP、H5、小程序
show_log boolean 日志打印 APP、H5、小程序
name string SDK 使用的一个默认的全局变量,会注册在 App 全局函数内,在 Page 中可以通过 app[name].track 来使用 小程序
app_flush_interval number 设置两次数据发送的最小时间间隔 Android、iOS
app_flush_bulkSize number 设置本地缓存日志的最大条目数,最小 50 条,默认 100 条 Android、iOS
app_flush_network_policy number 设置 flush 时网络发送策略,默认 3G、4G、WI-FI 环境下都会尝试 flush Android、iOS
app_session_interval_time number Session 时长,若 App 在后台超过设定事件,则认为当前 Session 结束,发送 $AppEnd 事件,单位毫秒 Android
app_data_collect boolean 是否开启数据采集 Android

代码示例:

sensors.setPara({
        server_url:"https://xxxxx",       //数据上报地址 必填 @Platform All
        show_log:true,                    //日志打印  @Platform All
        name:'sensors',                   //参考小程序文档 @Platform 小程序
        app_flush_interval:20000,         //设置两次数据发送的最小时间间隔 @Platform Android&iOS
        app_flush_bulkSize:70,            //设置本地缓存日志的最大条目数,最小 50 条 @Platform Android&iOS
        app_flush_network_policy:20,      //设置 flush 时网络发送策略,默认 3G、4G、WI-FI 环境下都会尝试 flush  @Platform Android&iOS
        app_session_interval_time:20000,  //Session 时长,若 App 在后台超过设定事件,则认为当前 Session 结束,发送 $AppEnd 事件,单位毫秒 @Platform Andorid
        app_data_collect:true             //是否开启数据采集 @Platform Android
    });

track

方法说明:代码埋点方法,调用该接口采集自定义事件

适用平台:APP、H5、小程序

参数 类型 说明 是否必选
eventName String 事件名称
para Object 自定义属性
callback Function 事件发送成功回调仅支持 H5

代码示例:

sensors.track("eventName",{key : "value"});

getAppFlushInterval

方法说明:获取两次数据发送的最小时间间隔,单位毫秒

适用平台:Android、iOS

返回类型:number

getAppFlushBulkSize

方法说明:获取本地缓存日志的最大条目数

适用平台:Android、iOS

返回类型:number

getAppSessionIntervalTime

方法说明:获取 Session 时长

适用平台:Android

返回类型:number

getDistinctID

方法说明:获取当前用户的 distinctId

适用平台:Andorid、iOS、H5、小程序

返回类型:string

identify

方法说明:设置自定义匿名 ID

适用平台:Andorid、iOS、H5、小程序

参数 类型 说明 是否必选
id String 匿名 ID

getAnonymousID

方法说明:获取当前用户的匿名 ID

适用平台:Andorid、iOS、H5、小程序

返回类型:string

login

方法说明:登录,设置当前用户的登录 ID,触发用户关联事件

适用平台:Andorid、iOS、H5、小程序

参数 类型 说明 是否必选
id String 登录 ID

logout

方法说明:注销,清空当前用户的登录 ID

适用平台:Andorid、iOS、H5、小程序

trackAppInstall

方法说明:记录 $AppInstall 事件,用于在 App 首次启动时追踪渠道来源,并设置追踪渠道事件的属性

适用平台:Andorid、iOS

参数 类型 说明 是否必选
para Object 激活事件自定义属性

appFlush

方法说明:将所有本地缓存的日志发送到 SA

适用平台:Andorid、iOS

register

方法说明:注册所有事件都有的公共属性

适用平台:Andorid、iOS、H5、小程序

参数 类型 说明 是否必选
para Object 全局公共属性

代码示例:

sensors.register({key1:"value1",key2 : "value2",});

unRegister

方法说明:删除某些事件公共属性

适用平台:Andorid、iOS

参数 类型 说明 是否必选
name string 需删除的属性名称

代码示例:

sensors.unRegister("key1");     

clearRegister

方法说明:删除所有事件公共属性

适用平台:Andorid、iOS

setProfile

方法说明:设置用户属性

适用平台:Andorid、iOS、H5、小程序

参数 类型 说明 是否必选
para Object 用户属性

代码示例:

sensors.setProfile({key1:"value1",key2:"value2"});

setOnceProfile

方法说明:首次设置用户属性,如果之前存在,则忽略,否则,新创建

适用平台:Andorid、iOS、H5、小程序

参数 类型 说明 是否必选
para Object 用户属性

代码示例:

sensors.setOnceProfile({key1:"value1",key2:"value2"});

incrementProfile

方法说明:给一个或多个数值类型的 Profile 增加一个数值。只能对数值型属性进行操作,若该属性未设置,则添加属性并设置默认值为 0

适用平台:Andorid、iOS、H5、小程序

参数 类型 说明 是否必选
para Object[value:number] 增加数值属性

代码示例:

sensors.incrementProfile({key1:2,key2:2});

appendProfile

方法说明:给一个列表类型的用户属性增加一个元素

适用平台:Andorid、iOS、H5、小程序

参数 类型 说明 是否必选
para Object{key:[value: array|string]} 增加数值属性

代码示例:

appendProfile({fruit:["苹果","西瓜"]})

appendProfile({fruit:"西瓜"})

appendProfile({fruit1:["苹果","西瓜"],fruit2:["葡萄]})

unsetProfile

方法说明:删除用户的一个用户属性

适用平台:Andorid、iOS、H5

参数 类型 说明 是否必选
name string 属性名称

deleteProfile

方法说明:删除用户所有用户属性

适用平台:Andorid、iOS、H5

注意:以上方法,可以直接调用,不支持的端调用后无效,控制台会打印日志。

trackTimerStart

方法说明:初始化事件的计时器,计时单位:秒

适用平台:Android、iOS

参数 类型 说明 是否必选
eventName string 事件名称

返回:交叉计时事件 Id

类型:string

代码示例

sensors.trackTimerStart("detail");      

trackTimerPause

方法说明:暂停事件计时器

适用平台:Android、iOS

参数 类型 说明 是否必选
eventName string 事件名称/交叉计时 Id

代码示例

sensors.trackTimerPause("detail");      

trackTimerResume

方法说明:恢复事件计时器

适用平台:Android、iOS

参数 类型 说明 是否必选
eventName string 事件名称/交叉计时 Id

代码示例

sensors.trackTimerResume("detail");     

trackTimerEnd

方法说明:停止事件计时器,触发事件

适用平台:Android、iOS

参数 类型 说明 是否必选
eventName string 事件名称/交叉计时 Id
properties object 事件属性

代码示例

sensors.trackTimerEnd("detail",{key1:"value1",key2:"value2"});      

removeTimer

方法说明:删除事件计时器

适用平台:Android、iOS

参数 类型 说明 是否必选
eventName string 事件名称/交叉计时 Id

代码示例

sensors.removeTimer("detail");      

clearTrackTimer

方法说明:删除所有事件计时器

适用平台:Android、iOS

代码示例

sensors.clearTrackTimer();      

trackViewScreen

方法说明: 触发页面浏览事件

适用平台:Android、iOS

参数 类型 说明 是否必选
url string 页面名称/path
properties object 事件属性

代码示例

sensors.trackViewScreen("/new/detail",{key1:"value1",key2:"value2"});       

getSuperProperties

方法说明:获取静态公共属性

适用平台:Android、iOS

返回类型:object

代码示例

sensors.getSuperProperties();       

enableTrackScreenOrientation

方法说明:开启/关闭采集屏幕方向

适用平台:Android、iOS

参数 类型 说明 是否必选
enable boolean 是否开启采集屏幕方向,默认 false

代码示例

sensors.enableTrackScreenOrientation(true);     

resumeTrackScreenOrientation

方法说明:恢复采集屏幕方向

适用平台:Android

代码示例

sensors.resumeTrackScreenOrientation();     

stopTrackScreenOrientation

方法说明:停止采集屏幕方向

适用平台:Android

代码示例

sensors.stopTrackScreenOrientation();       

getScreenOrientation

方法说明:获取屏幕方向

适用平台:Android

返回:portrait:竖屏 landscape:横屏

类型:String

代码示例

sensors.getScreenOrientation();     

profilePushId

方法说明:保存用户推送 ID 到用户表

适用平台:Android、iOS

参数 类型 说明 是否必选
参数 类型 说明 是否必选
pushKey string 用户表属性名称
pushId string 推送 ID

代码示例

sensors.profilePushId("pushKey","pushId");      

profileUnsetPushId

方法说明:删除用户设置的 pushId

适用平台:Android、iOS

参数 类型 说明 是否必选
pushKey string 用户表属性名称

代码示例

sensors.profileUnsetPushId("pushKey");      

enableDeepLinkInstallSource

方法说明:DeepLink 是否采集设备信息

适用平台:Android

参数 类型 说明 是否必选
enable boolean DeepLink 是否采集设备信息

代码示例

sensors.enableDeepLinkInstallSource(true);      

trackDeepLinkLaunch

方法说明:Deeplink 唤起事件

适用平台:Android、iOS

参数 类型 说明 是否必选
deepLinkUrl string DeepLink 唤起链接
oaid string Android OAID,iOS 无效

代码示例

sensors.trackDeepLinkLaunch("scheme://host/path","oaid");       

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件使用的神策分析 SDK 会采集数据,详情可参考:https://manual.sensorsdata.cn/sa/latest/tech_sdk_client-1573786.html

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问