public class SensorsDataAPI
extends java.lang.Object
| 限定符和类型 | 类和说明 |
|---|---|
static class |
SensorsDataAPI.AutoTrackEventType
AutoTrack 默认采集的事件类型
|
static class |
SensorsDataAPI.DebugMode
Debug 模式,用于检验数据导入是否正确。
|
class |
SensorsDataAPI.NetworkType
网络类型
|
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
appBecomeActive()
app从后台恢复
遍历mTrackTimer
startTime = System.currentTimeMillis()
|
protected void |
appEnterBackground()
app进入后台
遍历mTrackTimer
eventAccumulatedDuration = eventAccumulatedDuration + System.currentTimeMillis() - startTime
|
void |
clearSuperProperties()
删除所有事件公共属性
|
void |
clearTrackTimer()
清除所有事件计时器
|
void |
disableActivityForVTrack(java.lang.String canonicalName)
屏蔽某个 Activity 的可视化埋点功能
|
void |
disableAutoTrack(java.util.List<SensorsDataAPI.AutoTrackEventType> eventTypeList)
关闭 AutoTrack 中的部分事件
|
void |
disableAutoTrack(SensorsDataAPI.AutoTrackEventType autoTrackEventType)
关闭 AutoTrack 中的某个事件
|
void |
enableAutoTrack()
已过时。
|
void |
enableAutoTrack(java.util.List<SensorsDataAPI.AutoTrackEventType> eventTypeList)
打开 SDK 自动追踪
该功能自动追踪 App 的一些行为,指定哪些 AutoTrack 事件被追踪,具体信息请参考文档:
https://sensorsdata.cn/manual/android_sdk.html
该功能仅在 API 14 及以上版本中生效,默认关闭
|
void |
enableEditingVTrack()
允许 App 连接可视化埋点管理界面
调用这个方法,允许 App 连接可视化埋点管理界面并设置可视化埋点。
|
void |
enableLog(boolean enable)
设置是否开启 log
|
void |
enableReactNativeAutoTrack()
开启 AutoTrack 支持 React Native
|
void |
flush()
将所有本地缓存的日志发送到 Sensors Analytics.
|
void |
flushSync()
以阻塞形式将所有本地缓存的日志发送到 Sensors Analytics,该方法不能在 UI 线程调用。
|
java.lang.String |
getAnonymousId()
获取当前用户的匿名id
若调用前未调用
identify(String) 设置用户的匿名id,SDK 会调用 UUID 随机生成
UUID,作为用户的匿名id |
java.lang.String |
getDistinctId()
已过时。
|
int |
getFlushBulkSize()
返回本地缓存日志的最大条目数
默认值为100条
在每次调用track、signUp以及profileSet等接口的时候,都会检查如下条件,以判断是否向服务器上传数据:
1.
|
int |
getFlushInterval()
两次数据发送的最小时间间隔,单位毫秒
默认值为15 * 1000毫秒
在每次调用track、signUp以及profileSet等接口的时候,都会检查如下条件,以判断是否向服务器上传数据:
1.
|
java.util.List<java.lang.Class> |
getIgnoredViewTypeList() |
org.json.JSONObject |
getLastScreenTrackProperties()
获取LastScreenTrackProperties
|
java.lang.String |
getLastScreenUrl()
获取LastScreenUrl
|
java.lang.String |
getLoginId()
获取当前用户的 loginId
若调用前未调用
login(String) 设置用户的 loginId,会返回null |
protected java.lang.String |
getMainProcessName() |
long |
getMaxCacheSize() |
org.json.JSONObject |
getSuperProperties()
获取事件公共属性
|
void |
identify(java.lang.String distinctId)
设置当前用户的distinctId。
|
void |
ignoreAutoTrackActivities(java.util.List<java.lang.Class<?>> activitiesList)
指定哪些 activity 不被AutoTrack
指定activity的格式为:activity.getClass().getCanonicalName()
|
void |
ignoreAutoTrackActivity(java.lang.Class<?> activity)
指定某个 activity 不被 AutoTrack
|
void |
ignoreAutoTrackEventType(java.util.List<SensorsDataAPI.AutoTrackEventType> eventTypeList)
已过时。
|
void |
ignoreAutoTrackEventType(SensorsDataAPI.AutoTrackEventType autoTrackEventType)
已过时。
|
void |
ignoreView(android.view.View view)
忽略View
|
void |
ignoreViewType(java.lang.Class viewType)
忽略某一类型的 View
|
boolean |
isActivityAutoTrackAppClickIgnored(java.lang.Class<?> activity)
判断 AutoTrack 时,某个 Activity 的 $AppClick 是否被过滤
如果过滤的话,会过滤掉 Activity 的 $AppClick 事件
|
boolean |
isActivityAutoTrackAppViewScreenIgnored(java.lang.Class<?> activity)
判断 AutoTrack 时,某个 Activity 的 $AppViewScreen 是否被过滤
如果过滤的话,会过滤掉 Activity 的 $AppViewScreen 事件
|
boolean |
isAutoTrackEnabled()
是否开启 AutoTrack
|
boolean |
isAutoTrackEventTypeIgnored(SensorsDataAPI.AutoTrackEventType eventType)
判断 某个 AutoTrackEventType 是否被忽略
|
boolean |
isButterknifeOnClickEnabled() |
boolean |
isReactNativeAutoTrackEnabled() |
protected boolean |
isShouldFlush(java.lang.String networkType) |
boolean |
isTrackFragmentAppViewScreenEnabled() |
void |
login(java.lang.String loginId)
登录,设置当前用户的 loginId
|
void |
logout()
注销,清空当前用户的 loginId
|
void |
profileAppend(java.lang.String property,
java.util.Set<java.lang.String> values)
给一个列表类型的Profile增加一个或多个元素
|
void |
profileAppend(java.lang.String property,
java.lang.String value)
给一个列表类型的Profile增加一个元素
|
void |
profileDelete()
删除用户所有Profile
|
void |
profileIncrement(java.util.Map<java.lang.String,? extends java.lang.Number> properties)
给一个或多个数值类型的Profile增加一个数值。
|
void |
profileIncrement(java.lang.String property,
java.lang.Number value)
给一个数值类型的Profile增加一个数值。
|
void |
profileSet(org.json.JSONObject properties)
设置用户的一个或多个Profile。
|
void |
profileSet(java.lang.String property,
java.lang.Object value)
设置用户的一个Profile,如果之前存在,则覆盖,否则,新创建
|
void |
profileSetOnce(org.json.JSONObject properties)
首次设置用户的一个或多个Profile。
|
void |
profileSetOnce(java.lang.String property,
java.lang.Object value)
首次设置用户的一个Profile
与profileSet接口不同的是,如果之前存在,则忽略,否则,新创建
|
void |
profileUnset(java.lang.String property)
删除用户的一个Profile
|
void |
registerSuperProperties(org.json.JSONObject superProperties)
注册所有事件都有的公共属性
|
void |
resetAnonymousId()
重置默认匿名id
|
void |
setFlushBulkSize(int flushBulkSize)
设置本地缓存日志的最大条目数
|
void |
setFlushInterval(int flushInterval)
设置两次数据发送的最小时间间隔
|
void |
setFlushNetworkPolicy(int networkType)
设置 flush 时网络发送策略,默认 3G、4G、WI-FI 环境下都会尝试 flush
|
void |
setMaxCacheSize(long maxCacheSize)
设置本地缓存上限值,单位 byte,默认为 32MB:32 * 1024 * 1024
|
void |
setViewActivity(android.view.View view,
android.app.Activity activity)
设置 View 所属 Activity
|
void |
setViewFragmentName(android.view.View view,
java.lang.String fragmentName)
设置 View 所属 Fragment 名称
|
void |
setViewID(android.support.v7.app.AlertDialog view,
java.lang.String viewID)
设置界面元素ID
|
void |
setViewID(android.app.Dialog view,
java.lang.String viewID)
设置界面元素ID
|
void |
setViewID(android.view.View view,
java.lang.String viewID)
设置界面元素ID
|
void |
setViewProperties(android.view.View view,
org.json.JSONObject properties)
设置View属性
|
static SensorsDataAPI |
sharedInstance() |
static SensorsDataAPI |
sharedInstance(android.content.Context context)
获取SensorsDataAPI单例
|
static SensorsDataAPI |
sharedInstance(android.content.Context context,
java.lang.String serverURL,
java.lang.String configureUrl,
SensorsDataAPI.DebugMode debugMode)
初始化并获取SensorsDataAPI单例
|
static SensorsDataAPI |
sharedInstance(android.content.Context context,
java.lang.String serverURL,
java.lang.String configureURL,
java.lang.String vtrackServerURL,
SensorsDataAPI.DebugMode debugMode)
初始化并获取SensorsDataAPI单例(打开可视化埋点功能)
|
void |
showUpWebView(android.webkit.WebView webView,
boolean isSupportJellyBean)
向WebView注入本地方法, 将distinctId传递给当前的WebView
|
void |
showUpWebView(android.webkit.WebView webView,
boolean isSupportJellyBean,
org.json.JSONObject properties)
向WebView注入本地方法, 将distinctId传递给当前的WebView
|
void |
track(java.lang.String eventName)
与
track(String, org.json.JSONObject) 类似,无事件属性 |
void |
track(java.lang.String eventName,
org.json.JSONObject properties)
调用track接口,追踪一个带有属性的事件
|
protected void |
trackEventFromH5(java.lang.String eventInfo) |
void |
trackFragmentAppViewScreen()
是否开启自动追踪 Fragment 的 $AppViewScreen 事件
默认不开启
|
void |
trackInstallation(java.lang.String eventName,
org.json.JSONObject properties)
用于在 App 首次启动时追踪渠道来源,并设置追踪渠道事件的属性。
|
void |
trackSignUp(java.lang.String newDistinctId)
已过时。
|
void |
trackSignUp(java.lang.String newDistinctId,
org.json.JSONObject properties)
已过时。
|
void |
trackTimer(java.lang.String eventName)
已过时。
|
void |
trackTimer(java.lang.String eventName,
java.util.concurrent.TimeUnit timeUnit)
已过时。
|
void |
trackTimerBegin(java.lang.String eventName)
初始化事件的计时器,默认计时单位为毫秒。
|
void |
trackTimerBegin(java.lang.String eventName,
java.util.concurrent.TimeUnit timeUnit)
初始化事件的计时器。
|
void |
trackTimerEnd(java.lang.String eventName)
停止事件计时器
|
void |
trackTimerEnd(java.lang.String eventName,
org.json.JSONObject properties)
停止事件计时器
|
void |
trackViewScreen(android.app.Activity activity)
Track Activity 进入页面事件($AppViewScreen)
|
void |
trackViewScreen(android.support.v4.app.Fragment fragment) |
void |
trackViewScreen(android.app.Fragment fragment) |
void |
trackViewScreen(java.lang.String url,
org.json.JSONObject properties)
Track 进入页面事件 ($AppViewScreen)
|
void |
unregisterSuperProperty(java.lang.String superPropertyName)
删除事件公共属性
|
protected boolean isShouldFlush(java.lang.String networkType)
public static SensorsDataAPI sharedInstance(android.content.Context context)
context - App的Contextpublic static SensorsDataAPI sharedInstance(android.content.Context context, java.lang.String serverURL, java.lang.String configureUrl, SensorsDataAPI.DebugMode debugMode)
context - App 的 ContextserverURL - 用于收集事件的服务地址configureUrl - 用于获取SDK配置的服务地址debugMode - Debug模式,
SensorsDataAPI.DebugModepublic static SensorsDataAPI sharedInstance(android.content.Context context, java.lang.String serverURL, java.lang.String configureURL, java.lang.String vtrackServerURL, SensorsDataAPI.DebugMode debugMode)
context - App的ContextserverURL - 用于收集事件的服务地址configureURL - 用于获取SDK配置的服务地址vtrackServerURL - 可视化埋点的WebServer地址debugMode - Debug模式,
SensorsDataAPI.DebugModepublic static SensorsDataAPI sharedInstance()
public void enableLog(boolean enable)
enable - booleanpublic long getMaxCacheSize()
public void setMaxCacheSize(long maxCacheSize)
maxCacheSize - 单位 bytepublic void setFlushNetworkPolicy(int networkType)
networkType - int 网络类型public int getFlushInterval()
public void setFlushInterval(int flushInterval)
flushInterval - 时间间隔,单位毫秒public int getFlushBulkSize()
public void setFlushBulkSize(int flushBulkSize)
flushBulkSize - 缓存数目public void enableEditingVTrack()
public void disableActivityForVTrack(java.lang.String canonicalName)
canonicalName - Activity 的 Canonical Name@Deprecated public void enableAutoTrack()
public void enableAutoTrack(java.util.List<SensorsDataAPI.AutoTrackEventType> eventTypeList)
public void disableAutoTrack(java.util.List<SensorsDataAPI.AutoTrackEventType> eventTypeList)
eventTypeList - AutoTrackEventType 类型 Listpublic void disableAutoTrack(SensorsDataAPI.AutoTrackEventType autoTrackEventType)
autoTrackEventType - AutoTrackEventType 类型public boolean isAutoTrackEnabled()
public boolean isButterknifeOnClickEnabled()
public void trackFragmentAppViewScreen()
public boolean isTrackFragmentAppViewScreenEnabled()
public void enableReactNativeAutoTrack()
public boolean isReactNativeAutoTrackEnabled()
public void showUpWebView(android.webkit.WebView webView,
boolean isSupportJellyBean)
webView - 当前WebViewisSupportJellyBean - 是否支持API level 16及以下的版本。
因为API level 16及以下的版本, addJavascriptInterface有安全漏洞,请谨慎使用public void showUpWebView(android.webkit.WebView webView,
boolean isSupportJellyBean,
org.json.JSONObject properties)
webView - 当前WebViewisSupportJellyBean - 是否支持API level 16及以下的版本。
因为API level 16及以下的版本, addJavascriptInterface有安全漏洞,请谨慎使用properties - 用户自定义属性public void ignoreAutoTrackActivities(java.util.List<java.lang.Class<?>> activitiesList)
activitiesList - activity列表public void ignoreAutoTrackActivity(java.lang.Class<?> activity)
activity - Activitypublic boolean isActivityAutoTrackAppViewScreenIgnored(java.lang.Class<?> activity)
activity - Activitypublic boolean isActivityAutoTrackAppClickIgnored(java.lang.Class<?> activity)
activity - Activity@Deprecated public void ignoreAutoTrackEventType(SensorsDataAPI.AutoTrackEventType autoTrackEventType)
autoTrackEventType - AutoTrackEventType@Deprecated public void ignoreAutoTrackEventType(java.util.List<SensorsDataAPI.AutoTrackEventType> eventTypeList)
eventTypeList - AutoTrackEventType Listpublic boolean isAutoTrackEventTypeIgnored(SensorsDataAPI.AutoTrackEventType eventType)
eventType - AutoTrackEventTypepublic void setViewID(android.view.View view,
java.lang.String viewID)
view - 要设置的ViewviewID - String 给这个View的IDpublic void setViewID(android.app.Dialog view,
java.lang.String viewID)
view - 要设置的ViewviewID - String 给这个View的IDpublic void setViewID(android.support.v7.app.AlertDialog view,
java.lang.String viewID)
view - 要设置的ViewviewID - String 给这个View的IDpublic void setViewActivity(android.view.View view,
android.app.Activity activity)
view - 要设置的Viewactivity - Activity View 所属 Activitypublic void setViewFragmentName(android.view.View view,
java.lang.String fragmentName)
view - 要设置的ViewfragmentName - String View 所属 Fragment 名称public void ignoreView(android.view.View view)
view - 要忽略的Viewpublic void setViewProperties(android.view.View view,
org.json.JSONObject properties)
view - 要设置的Viewproperties - 要设置的View的属性public java.util.List<java.lang.Class> getIgnoredViewTypeList()
public void ignoreViewType(java.lang.Class viewType)
viewType - Class@Deprecated public java.lang.String getDistinctId()
identify(String) 设置用户的 distinctId,SDK 会调用 UUID 随机生成
UUID,作为用户的 distinctId
该方法已不推荐使用,请参考 getAnonymousId()public java.lang.String getAnonymousId()
identify(String) 设置用户的匿名id,SDK 会调用 UUID 随机生成
UUID,作为用户的匿名idpublic void resetAnonymousId()
public java.lang.String getLoginId()
login(String) 设置用户的 loginId,会返回nullpublic void identify(java.lang.String distinctId)
distinctId - 当前用户的distinctId,仅接受数字、下划线和大小写字母public void login(java.lang.String loginId)
loginId - 当前用户的 loginId,不能为空,且长度不能大于255public void logout()
@Deprecated
public void trackSignUp(java.lang.String newDistinctId,
org.json.JSONObject properties)
login(String) 方法newDistinctId - 用户完成注册后生成的注册IDproperties - 事件的属性@Deprecated public void trackSignUp(java.lang.String newDistinctId)
trackSignUp(String, org.json.JSONObject) 类似,无事件属性
这个接口是一个较为复杂的功能,请在使用前先阅读相关说明:
http://www.sensorsdata.cn/manual/track_signup.html,
并在必要时联系我们的技术支持人员。
该方法已不推荐使用,可以具体参考 login(String) 方法newDistinctId - 用户完成注册后生成的注册IDpublic void trackInstallation(java.lang.String eventName,
org.json.JSONObject properties)
eventName - 渠道追踪事件的名称properties - 渠道追踪事件的属性public void track(java.lang.String eventName,
org.json.JSONObject properties)
eventName - 事件的名称properties - 事件的属性public void track(java.lang.String eventName)
track(String, org.json.JSONObject) 类似,无事件属性eventName - 事件的名称@Deprecated public void trackTimer(java.lang.String eventName)
eventName - 事件的名称@Deprecated
public void trackTimer(java.lang.String eventName,
java.util.concurrent.TimeUnit timeUnit)
eventName - 事件的名称timeUnit - 计时结果的时间单位public void trackTimerBegin(java.lang.String eventName)
eventName - 事件的名称public void trackTimerBegin(java.lang.String eventName,
java.util.concurrent.TimeUnit timeUnit)
eventName - 事件的名称timeUnit - 计时结果的时间单位public void trackTimerEnd(java.lang.String eventName,
org.json.JSONObject properties)
eventName - 事件的名称properties - 事件的属性public void trackTimerEnd(java.lang.String eventName)
eventName - 事件的名称public void clearTrackTimer()
public java.lang.String getLastScreenUrl()
protected java.lang.String getMainProcessName()
public org.json.JSONObject getLastScreenTrackProperties()
public void trackViewScreen(java.lang.String url,
org.json.JSONObject properties)
url - Stringproperties - JSONObjectpublic void trackViewScreen(android.app.Activity activity)
activity - activity Activity,当前 Activitypublic void trackViewScreen(android.app.Fragment fragment)
public void trackViewScreen(android.support.v4.app.Fragment fragment)
protected void appEnterBackground()
protected void appBecomeActive()
public void flush()
public void flushSync()
public org.json.JSONObject getSuperProperties()
public void registerSuperProperties(org.json.JSONObject superProperties)
superProperties - 事件公共属性public void unregisterSuperProperty(java.lang.String superPropertyName)
superPropertyName - 事件属性名称public void clearSuperProperties()
public void profileSet(org.json.JSONObject properties)
properties - 属性列表public void profileSet(java.lang.String property,
java.lang.Object value)
property - 属性名称value - 属性的值,值的类型只允许为
String, Number, Date, Listpublic void profileSetOnce(org.json.JSONObject properties)
properties - 属性列表public void profileSetOnce(java.lang.String property,
java.lang.Object value)
property - 属性名称value - 属性的值,值的类型只允许为
String, Number, Date, Listpublic void profileIncrement(java.util.Map<java.lang.String,? extends java.lang.Number> properties)
properties - 一个或多个属性集合public void profileIncrement(java.lang.String property,
java.lang.Number value)
property - 属性名称value - 属性的值,值的类型只允许为 Numberpublic void profileAppend(java.lang.String property,
java.lang.String value)
property - 属性名称value - 新增的元素public void profileAppend(java.lang.String property,
java.util.Set<java.lang.String> values)
property - 属性名称values - 新增的元素集合public void profileUnset(java.lang.String property)
property - 属性名称public void profileDelete()
protected void trackEventFromH5(java.lang.String eventInfo)