SensorsAnalyticsAPICloudSDK

来自于:开发者立即使用

1. 概述

SensorsAnalyticsAPICloudSDK 封装了 Sensors Analytics 数据统计 Android & iOS SDK,使用此模块可进行用户行为数据采集。

神策分析,是针对企业级客户推出的深度用户行为分析产品,支持私有化部署,客户端、服务器、业务数据、第三方数据的全端采集和建模,驱动营销渠道效果评估、用户精细化运营改进、产品功能及用户体验优化、老板看板辅助管理决策、产品个性化推荐改造、用户标签体系构建等应用场景。作为 PaaS 平台支持二次开发,可通过 BI、大数据平台、CRM、ERP 等内部 IT 系统,构建用户数据体系,让用户行为数据发挥深远的价值。

2. 模块添加

在模块库中搜索 SensorsAnalyticsAPICloudSDK 然后点击添加按钮。

3. config.xml 配置

使用此模块需要在 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>
  • feature 名称:sensorsAnalyticsAPICloudSDK
    • param 参数
      • serverURL:(如果有特殊字符 & ,使用&amp;) 数据接收地址 URL。
      • enableAutoTrack:(可选项) 是否采集 App 启动、App 退出事件,传入字符串 true 表示采集启动、退出事件
      • downloadChannel:(可选项) App 的下载渠道,配置此参数时,会触发 App 安装激活事件(AppInstall),下载渠道会存储在DownloadChannel字段中
      • enableLog:(可选项) 是否开启调试日志,传入字符串 true 表示开启调试日志。

更多参数配置

  • flushInterval:两次数据发送的最小时间间隔,单位毫秒

  • flushBulkSize:本地缓存的最大事件数目,当累积日志量达到阈值时发送数据

  • maxCacheSizeAndroid:Android 端设置本地缓存最大值,单位 MB,默认 32 MB

  • maxCacheSizeIOS:iOS 端设置本地缓存最多事件条数,默认为 10000 条事件

  • minRequestInterval:远程配置请求最小间隔时长,单位:小时,默认 24

  • maxRequestInterval:远程配置请求最大间隔时长,单位:小时,默认 48

  • disableRandomTimeRequestRemoteConfig:禁用随机时间请求远程配置

  • encrypt:是否开启加密,默认 false

  • disableDataCollect:合规功能,是否禁止数据采集,默认 fasle;

4. 功能接口

4.1. setServerUrl

设置数据接收地址。

setServerUrl({params})

serverUrl:

  • 类型:字符串
  • 描述:数据接收地址
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.setServerUrl({serverUrl:'testURL'});
    

4.2. login

设置当前用户的 loginId

login({params})

loginId:

  • 类型:字符串
  • 描述:(必填项)用户的登录id,不能为空,且长度不能大于255
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.login({
        loginId: '123456'
    });
    

4.3. registerSuperProperties

设置公共属性,设置之后,之后触发的事件会带上设置的公共属性

registerSuperProperties({params})

properties:

  • 类型:json 格式
  • 描述:(必填项)公共属性,属性名需要满足一般变量的命名规则
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.registerSuperProperties({properties:{ PlatformType:"Android"}});
    

4.4. track

track 事件。

track({params})

event:

  • 类型:字符串
  • 描述:(必填项)事件名称,名称需要满足一般变量的命名规则,即不能以数字开头,且只包含:大小写字母、数字、下划线和$

properties:

  • 类型:json 格式
  • 描述:(选填项)事件属性,名称需要满足一般变量的命名规则,即不能以数字开头,且只包含:大小写字母、数字、下划线和$
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.track({
        event:'ViewProduct',
        properties:{
            ProductID:123456,
            ProductCatalog:'Laptop Computer',
            IsAddedToFav: false
        }
    });
    

4.5. getDistinctId

getDistinctId 获取当前用户的 distinctId ,如果用户未登录时,返回值为 匿名 ID ;登录(调用login)后,返回值为 登录 ID 。

getDistinctId()

  • 返回值类型:String 字符串
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    var distinctId = sensorsApiCloudSdk.getDistinctId();
    

4.6. trackTimerStart

初始化事件的计时器,计时单位为秒。

trackTimerStart({params})

event:

  • 类型:字符串
  • 描述:事件名称或事件的 eventId
  • 返回值类型:交叉计时事件名称
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.trackTimerStart({event:'ApiCloudTrackTimer'});
    

4.7. trackTimerPause

暂停事件计时

trackTimerPause({params})

event:

  • 类型:字符串
  • 描述:事件名称或事件的 eventId
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.trackTimerPause({event:'ApiCloudTrackTimer'});
    

4.8. trackTimerResume

恢复事件计时

trackTimerResume({params})

event:

  • 类型:字符串
  • 描述:事件名称或事件的 eventId
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.trackTimerResume({event:'ApiCloudTrackTimer'});
    

4.9. clearTrackTimer

删除所有事件计时

clearTrackTimer()

var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.clearTrackTimer();

4.10. getSuperProperties

获取公共属性

getSuperProperties()

  • 返回值类型:json 字符串
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    var superProperties = sensorsApiCloudSdk.getSuperProperties();
    

4.11. trackAppInstall

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

trackAppInstall({params})

properties:

  • 类型:json 格式
  • 描述:追踪渠道事件的属性
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.trackAppInstall({
                                properties:{
                                    testAppInstall:"testAppInstallValue"
                                    }
                                });
    

4.12. clearSuperProperties

删除当前所有的 superProperty

clearSuperProperties()

var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.clearSuperProperties();

4.13. setFlushNetworkPolicy

设置 flush 时网络发送策略,默认 3G、4G、WI-FI 环境下都会尝试 flush

setFlushNetworkPolicy({params})

networkPolicy:

  • 类型:int 类型
  • 描述:

    • 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});
      

4.14. getPresetProperties

返回预置属性

getPresetProperties()

  • 返回值类型:json 字符串
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    var result = sensorsApiCloudSdk.getPresetProperties();
    

4.15. logout

登出

logout()

var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
var result = sensorsApiCloudSdk.logout();

4.16. getLoginId

获取当前用户的 loginId

getLoginId()

  • 返回值类型:字符串
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    var loginId = sensorsApiCloudSdk.getLoginId();
    

4.17. itemSet

设置 item

itemSet()

itemType:

  • 类型:字符串
  • 描述:item 类型

itemId:

  • 类型:字符串
  • 描述:item Id

properties:

  • 类型:json 格式
  • 描述:item 相关属性
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.itemSet({itemType: 'itemType', itemId: 'itemId', properties: {itemProperty: 'itemPropertyValue'}});
    

4.18. itemDelete

删除 item

itemDelete()

itemType:

  • 类型:字符串
  • 描述:item 类型

itemId:

  • 类型:字符串
  • 描述:item Id
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.itemDelete({itemType: 'itemType', itemId: 'itemId'});
    

4.19. isAutoTrackEnabled

是否开启 AutoTrack

isAutoTrackEnabled()

  • 返回值类型:布尔值
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    result = sensorsApiCloudSdk.isAutoTrackEnabled();
    

4.20. profileSet

profileSet 设置用户属性。

profileSet({params})

properties:

  • 类型:json 格式
  • 描述:(选填项)用户属性,名称需要满足一般变量的命名规则,即不能以数字开头,且只包含:大小写字母、数字、下划线和$
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.profileSet({
    properties:{
    sex:"男"
    }
    });
    

4.21. profileSetOnce

profileSetOnce 设置用户首次属性。

profileSetOnce({params})

properties:

  • 类型:json 格式
  • 描述:(选填项)用户属性,名称需要满足一般变量的命名规则,即不能以数字开头,且只包含:大小写字母、数字、下划线和$
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.profileSetOnce({
        properties:{
        firstCharge:100
        }
    });
    

4.22. profileIncrement

给一个数值类型的 Profile 增加一个数值

profileIncrement({params}})

properties

  • 类型:Map
  • 描述:增加一组用户行,用户属性 value 只能为数值。
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.profileIncrement({properties:{chinese:60,math:70}});
    

4.23. profileAppend

给 Profile 增加一个元素

profileAppend({params})

property

  • 类型:String
  • 描述:用户属性名

value

  • 类型: 数组
  • 描述:用户属性值
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.profileAppend({property:'ArrayDesc',value:['SDK','后端','算法']});
    

4.24. profileUnset

函数,删除用户属性

profileUnset({params})

property

  • 类型:String
  • 描述:需删除的用户属性名
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.profileUnset({property:'ApiCloudAge'});
    

4.25. profileDelete

删除此用户所有用户属性

profileDelete

var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.profileDelete();

4.26. profilePushId

设置用户的 pushId

profilePushId({params})

pushTypeKey:

  • 类型:字符串
  • 描述:pushId 的 key

pushId:

  • 类型:字符串
  • 描述:pushId 的值
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.profilePushId({pushTypeKey: 'pushTypeKey', pushId: 'pushId_'});
    

4.27. profileUnsetPushId

删除用户设置的 pushId

profileUnsetPushId({params})

pushTypeKey:

  • 类型:字符串
  • 描述:pushId 的 key
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.profileUnsetPushId({pushTypeKey: 'pushTypeKey'});
    

4.28. enableNetWorkRequest

设置是否允许请求网络,默认是 true。

enableNetWorkRequest({params })

isRequest:

  • 类型:字符串
  • 描述:是否允许请求网络,默认是 true。
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.enableNetWorkRequest({isRequest: false });
    

4.29. isNetworkRequestEnable

获取是否允许请求网络。

isNetworkRequestEnable()

  • 返回值类型: boolean
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    var isEnable = sensorsApiCloudSdk.isNetworkRequestEnable();
    

4.30. setSessionIntervalTime

设置 App 切换到后台与下次事件的事件间隔

setSessionIntervalTime({params})

sessionIntervalTime:

  • 类型:int
  • 描述: App 切换到后台与下次事件的事件间隔,单位:毫秒
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.setSessionIntervalTime({sessionIntervalTime:15000});
    

4.31. getSessionIntervalTime

获取 App 切换到后台与下次事件的事件间隔

getSessionIntervalTime()

  • 返回值类型:int
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    var session = sensorsApiCloudSdk.getSessionIntervalTime();
    

4.32. enableDataCollect

开启数据采集

enableDataCollect()

var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.enableDataCollect();

4.33. trackViewScreen

触发 $AppViewScreen 事件

trackViewScreen({params})

url:

  • 类型:String
  • 描述: 页面的 url 记录到 $url 字段中(如果不需要此属性,可以传 null

properties

  • 类型:json 格式
  • 描述:页面的属性
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.trackViewScreen({url:'url',properties:{$title:'title'}});
    

4.34. unregisterSuperProperty

删除特定静态公共属性

unregisterSuperProperty({params})

property

  • 类型:String
  • 描述:需删除的静态公共属性 key
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.unregisterSuperProperty({property:'ApiCloudSuperKey'});
    

4.35. clearSuperProperties

清除静态公共属性

clearSuperProperties()

var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.clearSuperProperties();

4.36. flush

强制发送数据到服务端

flush()

var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.flush();

4.37. deleteAll

删除本地数据库的所有数据!!!请谨慎使用

deleteAll()

var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
sensorsApiCloudSdk.deleteAll();

4.38. enableLog

打印日志控制

enableLog({params}})

enableLog

  • 类型: boolean
  • 描述: 是否打印日志
    var sensorsApiCloudSdk = api.require('sensorsAnalyticsAPICloudSDK');
    sensorsApiCloudSdk.enableLog({enableLog:true}});