SensorsAnalyticsAPICloudSDK 封装了 Sensors Analytics 数据统计 Android & iOS SDK,使用此插件可进行用户行为数据采集。
神策分析,是针对企业级客户推出的深度用户行为分析产品,支持私有化部署,客户端、服务器、业务数据、第三方数据的全端采集和建模,驱动营销渠道效果评估、用户精细化运营改进、产品功能及用户体验优化、老板看板辅助管理决策、产品个性化推荐改造、用户标签体系构建等应用场景。作为 PaaS 平台支持二次开发,可通过 BI、大数据平台、CRM、ERP 等内部 IT 系统,构建用户数据体系,让用户行为数据发挥深远的价值。
在插件库中搜索 SensorsAnalyticsAPICloudSDK 然后点击添加按钮。
使用此插件需要在 config.xml 文件中配置相应的 feature;
配置示例如下
<feature name="sensorsAnalyticsAPICloudSDK">
<param name="serverURL" value="数据接收地址URL"/>
<param name="enableAutoTrack" value="true"/>
<param name="downloadChannel" value="App Store"/>
<param name="enableLog" value="false"/>
</feature>
更多参数配置
flushInterval:两次数据发送的最小时间间隔,单位毫秒
flushBulkSize:本地缓存的最大事件数目,当累积日志量达到阈值时发送数据
maxCacheSizeAndroid:Android 端设置本地缓存最大值,单位 MB,默认 32 MB
maxCacheSizeIOS:iOS 端设置本地缓存最多事件条数,默认为 10000 条事件
minRequestInterval:远程配置请求最小间隔时长,单位:小时,默认 24
maxRequestInterval:远程配置请求最大间隔时长,单位:小时,默认 48
disableRandomTimeRequestRemoteConfig:禁用随机时间请求远程配置
encrypt:是否开启加密,默认 false
disableDataCollect:合规功能,是否禁止数据采集,默认 false;
disableSDK:关闭 SDK,默认 false;
track 事件。
track({params})
event:
properties:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.track({
event:'ViewProduct',
properties:{
ProductID:123456,
ProductCatalog:'Laptop Computer',
IsAddedToFav: false
}
});
========
设置数据接收地址。
setServerUrl({params})
serverUrl:
requestRemoteConfig:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.setServerUrl({serverUrl:'testURL', requestRemoteConfig:false});
获取数据接收地址。
getServerUrl({params})
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
var serverUrl = sensorsApiCloudSdk.getServerUrl();
设置当前用户的 loginId
login({params})
loginId:
properties:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.login({
loginId: '123456',
properties:{
age:18,
name:'sensors'
}
});
设置当前用户的登录 IDKey 和 loginId
loginWithKey({params})
key:
id:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.loginWith({
key: 'mobile',
id: '133XXXXXXXX'
});
获取当前用户的 loginId
getLoginId()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
var loginId = sensorsApiCloudSdk.getLoginId();
登出
logout()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
var result = sensorsApiCloudSdk.logout();
设置公共属性,设置之后,之后触发的事件会带上设置的公共属性
registerSuperProperties({params})
properties:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.registerSuperProperties({properties:{ PlatformType:"Android"}});
getDistinctId 获取当前用户的 distinctId ,如果用户未登录时,返回值为 匿名 ID ;登录(调用login)后,返回值为 登录 ID 。
getDistinctId()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
var distinctId = sensorsApiCloudSdk.getDistinctId();
identify({params})
anonymousId
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
var distinctId = sensorsApiCloudSdk.identify({anonymousId:"anonymousId"});
getAnonymousId()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
var anonymousId = sensorsApiCloudSdk.getAnonymousId();
resetAnonymousId()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.resetAnonymousId();
初始化事件的计时器,计时单位为秒。
trackTimerStart({params})
event:
类型:字符串
描述:事件名称
返回值类型:交叉计时事件Id
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.trackTimerStart({event:'ApiCloudTrackTimer'});
暂停事件计时
trackTimerPause({params})
event:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.trackTimerPause({event:'ApiCloudTrackTimer'});
恢复事件计时
trackTimerResume({params})
event:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.trackTimerResume({event:'ApiCloudTrackTimer'});
停止事件计时器,并触发事件
trackTimerEnd({params})
event:
properties:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.trackTimerEnd({
event:'ApiCloudTrackTimer'
properties:{
ProductID:123456,
ProductCatalog:'Laptop Computer',
IsAddedToFav: false
}
});
删除事件的计时器
removeTimer({params})
event:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.removeTimer({event:'ApiCloudTrackTimer'});
删除所有事件计时
clearTrackTimer()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.clearTrackTimer();
获取公共属性
getSuperProperties()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
var superProperties = sensorsApiCloudSdk.getSuperProperties();
记录 $AppInstall 事件,用于在 App 首次启动时追踪渠道来源,并设置追踪渠道事件的属性
trackAppInstall({params})
properties:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.trackAppInstall({
properties:{
testAppInstall:"testAppInstallValue"
}
});
删除当前所有的 superProperty
clearSuperProperties()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.clearSuperProperties();
设置 flush 时网络发送策略,默认 3G、4G、WI-FI 环境下都会尝试 flush
setFlushNetworkPolicy({params})
networkPolicy:
TYPE_NONE = 0;//NULL
TYPE_2G = 1;//2G
TYPE_3G = 1 << 1;//3G 2
TYPE_4G = 1 << 2;//4G 4
TYPE_WIFI = 1 << 3;//WIFI 8
TYPE_5G = 1 << 4;//5G 16
TYPE_ALL = 0xFF;//ALL 255
例:若需要开启 4G 5G 发送数据,则需要设置 4 + 16 = 20
iOS 不支持 5G。
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.setFlushNetworkPolicy({networkPolicy:31});
返回预置属性
getPresetProperties()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
var result = sensorsApiCloudSdk.getPresetProperties();
设置 item
itemSet()
itemType:
itemId:
properties:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.itemSet({itemType: 'itemType', itemId: 'itemId', properties: {itemProperty: 'itemPropertyValue'}});
删除 item
itemDelete()
itemType:
itemId:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.itemDelete({itemType: 'itemType', itemId: 'itemId'});
是否开启 AutoTrack
isAutoTrackEnabled()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
result = sensorsApiCloudSdk.isAutoTrackEnabled();
profileSet 设置用户属性。
profileSet({params})
properties:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.profileSet({
properties:{
sex:"男"
}
});
profileSetOnce 设置用户首次属性。
profileSetOnce({params})
properties:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.profileSet({
properties:{
firstCharge:100
}
});
给一个数值类型的 Profile 增加一个数值
profileIncrement({params}})
properties
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.profileIncrement({properties:{chinese:60,math:70}});
给 Profile 增加一个元素
profileAppend({params})
property
value
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.profileAppend({property:'ArrayDesc',value:['SDK','后端','算法']});
函数,删除用户属性
profileUnset({params})
property
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.profileUnset({property:'ApiCloudAge'});
删除此用户所有用户属性
profileDelete
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.profileDelete();
设置用户的 pushId
profilePushId({params})
pushTypeKey:
pushId:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.profilePushId({pushTypeKey: 'pushTypeKey', pushId: 'pushId_'});
删除用户设置的 pushId
profileUnsetPushId({params})
pushTypeKey:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.profileUnsetPushId({pushTypeKey: 'pushTypeKey'});
(Android) 设置是否允许请求网络,默认是 true。
enableNetWorkRequest({params })
isRequest:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.enableNetWorkRequest({isRequest: false });
(Android) 获取是否允许请求网络。
isNetworkRequestEnabled()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
var isEnable = sensorsApiCloudSdk.isNetworkRequestEnabled();
(Android) 设置 App 切换到后台与下次事件的事件间隔
setSessionIntervalTime({params})
sessionIntervlTime:
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.setSessionIntervalTime({sessionIntervalTime:15000});
(Android) 获取 App 切换到后台与下次事件的事件间隔
getSessionIntervalTime()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
var session = sensorsApiCloudSdk.getSessionIntervalTime();
(Android) 开启数据采集
enableDataCollect()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.enableDataCollect();
触发 $AppViewScreen 事件
trackViewScreen({params})
url:
properties
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.trackViewScreen({url:'url',properties:{$title:'title'}});
删除特定静态公共属性
unregisterSuperProperty({params})
property
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.unregisterSuperProperty({property:'ApiCloudSuperKey'});
清除静态公共属性
clearSuperProperties()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.clearSuperProperties();
强制发送数据到服务端
flush()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.flush();
删除本地数据库的所有数据!!!请谨慎使用
deleteAll()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.deleteAll();
打印日志控制
enableLog({params})
enableLog
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.enableLog({enableLog:true}});
获取当前的 identities
getIdentities()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
var identities = sensorsApiCloudSdk.getIdentities();
绑定业务
bind({params}) key
value
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.bind({key:'mobile',value:'133XXXXXXXX');
解绑业务 unbind({params}) key
value
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.unbind({key:'mobile',value:'133XXXXXXXX');
解绑业务 unbind({params}) key
value
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.unbind({key:'mobile',value:'133XXXXXXXX');
设置本地缓存日志的最大条目数,最小 50 条
setFlushBulkSize({params}) flushBulkSize
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.setFlushBulkSize({flushBulkSize:最大缓存条数});
获取本地缓存日志的最大条目数
getFlushBulkSize()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
var flushBulkSize = sensorsApiCloudSdk.getFlushBulkSize();
设置本地缓存日志的最大条目数,最小 50 条
setFlushInterval({params}) flushInterval
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.setFlushInterval({flushInterval:数据发送间隔});
获取两次数据发送的最小时间间隔
getFlushInterval()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
var flushInterval = sensorsApiCloudSdk.getFlushInterval();
开启 SDK
enableSDK()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.enableSDK();
关闭 SDK
disableSDK()
var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.disableSDK();