public class SensorsDataAPI
extends java.lang.Object
限定符和类型 | 类和说明 |
---|---|
static class |
SensorsDataAPI.AutoTrackEventType
AutoTrack 默认采集的事件类型
|
static class |
SensorsDataAPI.DebugMode
Debug 模式,用于检验数据导入是否正确。
|
class |
SensorsDataAPI.NetworkType
网络类型
|
限定符和类型 | 字段和说明 |
---|---|
static java.lang.String |
ANDROID_PLUGIN_VERSION
插件版本号,插件会用到此属性,请谨慎修改
|
protected SensorsDataDynamicSuperProperties |
mDynamicSuperPropertiesCallBack |
protected java.util.List<java.lang.Integer> |
mHeatMapActivities |
protected InternalConfigOptions |
mInternalConfigs |
protected java.lang.Object |
mLoginIdLock |
protected java.lang.String |
mOriginServerUrl |
protected static SAConfigOptions |
mSAConfigOptions |
protected SAContextManager |
mSAContextManager |
protected boolean |
mSDKConfigInit |
protected java.lang.String |
mServerUrl |
protected TrackTaskManager |
mTrackTaskManager |
protected TrackTaskManagerThread |
mTrackTaskManagerThread |
protected java.util.List<java.lang.Integer> |
mVisualizedAutoTrackActivities |
protected static java.util.Map<android.content.Context,SensorsDataAPI> |
sInstanceMap |
protected static java.lang.String |
TAG |
static int |
VTRACK_SUPPORTED_MIN_API |
BIND_ID, UNBIND_ID
限定符和类型 | 方法和说明 |
---|---|
void |
addEventListener(SAEventListener eventListener)
SDK 事件回调监听,目前用于弹窗业务
|
void |
addExposureView(android.view.View view,
SAExposureData exposureData)
曝光 view 标记
|
void |
addFunctionListener(SAFunctionListener functionListener)
SDK 函数回调监听
|
void |
addHeatMapActivities(java.util.List<java.lang.Class<?>> activitiesList)
开启多个 activity 的点击图
|
void |
addHeatMapActivity(java.lang.Class<?> activity)
开启某个 activity 的点击图
|
void |
addSAJSListener(SAJSListener listener)
监听 JS 消息
|
void |
addVisualizedAutoTrackActivities(java.util.List<java.lang.Class<?>> activitiesList)
开启多个 activity 的可视化全埋点
|
void |
addVisualizedAutoTrackActivity(java.lang.Class<?> activity)
开启某个 activity 的可视化全埋点
|
protected void |
applySAConfigOptions() |
void |
bind(java.lang.String key,
java.lang.String value)
绑定业务 ID
|
void |
clearGPSLocation()
清除 GPS 位置信息
|
void |
clearLastScreenUrl()
清除 LastScreenUrl
|
void |
clearReferrerWhenAppEnd()
App 退出或进到后台时清空 referrer,默认情况下不清空
|
void |
clearSuperProperties()
删除所有事件公共属性
|
void |
clearTrackTimer()
清除所有事件计时器
|
protected void |
delayInitTask(android.content.Context context)
延迟初始化任务
|
void |
deleteAll()
删除本地缓存的全部事件
|
void |
disableAutoTrack(java.util.List<SensorsDataAPI.AutoTrackEventType> eventTypeList)
关闭 AutoTrack 中的部分事件
|
void |
disableAutoTrack(SensorsDataAPI.AutoTrackEventType autoTrackEventType)
关闭 AutoTrack 中的某个事件
|
static void |
disableSDK()
关闭 SDK
|
void |
enableAutoTrack(java.util.List<SensorsDataAPI.AutoTrackEventType> eventTypeList)
打开 SDK 自动追踪
该功能自动追踪 App 的一些行为,指定哪些 AutoTrack 事件被追踪,具体信息请参考文档:
https://sensorsdata.cn/manual/android_sdk.html
该功能仅在 API 14 及以上版本中生效,默认关闭
|
void |
enableAutoTrackFragment(java.lang.Class<?> fragment)
指定 fragment 被 AutoTrack 采集
|
void |
enableAutoTrackFragments(java.util.List<java.lang.Class<?>> fragmentsList)
指定 fragments 被 AutoTrack 采集
|
void |
enableDeepLinkInstallSource(boolean enable)
DeepLink 是否采集设备信息
|
void |
enableLog(boolean enable)
设置是否开启 log
|
void |
enableNetworkRequest(boolean isRequest)
设置是否允许请求网络,默认是 true
|
void |
enableRemoteConfig(boolean enable)
是否开启远程配置
|
static void |
enableSDK()
开启 SDK
|
void |
enableTrackScreenOrientation(boolean enable)
开启/关闭采集屏幕方向
|
void |
flush()
将所有本地缓存的日志发送到 Sensors Analytics.
|
void |
flushScheduled()
以轮询形式将所有本地缓存的日志发送到 Sensors Analytics.
|
void |
flushSync()
将所有本地缓存的日志发送到 Sensors Analytics.
|
java.lang.String |
getAnonymousId()
获取当前用户的匿名 ID
若调用前未调用
ISensorsDataAPI.identify(String) 设置用户的匿名 ID,SDK 会优先调用 SensorsDataUtils#getAndroidID 获取 Android ID,
如获取的 Android ID 非法,则调用 UUID 随机生成 UUID,作为用户的匿名 ID |
static SAConfigOptions |
getConfigOptions() |
java.lang.String |
getCookie(boolean decode)
获取已设置的 Cookie
URLDecoder.decode(Cookie, "UTF-8")
|
SensorsDataAPI.DebugMode |
getDebugMode() |
java.lang.String |
getDistinctId()
获取当前用户的 distinctId
|
org.json.JSONObject |
getDynamicProperty()
读取动态公共属性
|
int |
getFlushBulkSize()
返回本地缓存日志的最大条目数
默认值为 100 条
在每次调用 track、signUp 以及 profileSet 等接口的时候,都会检查如下条件,以判断是否向服务器上传数据:
1.
|
int |
getFlushInterval()
两次数据发送的最小时间间隔,单位毫秒
默认值为 15 * 1000 毫秒
在每次调用 track、signUp 以及 profileSet 等接口的时候,都会检查如下条件,以判断是否向服务器上传数据:
1.
|
org.json.JSONObject |
getIdentities()
获取当前的 identities
|
java.util.List<java.lang.Class<?>> |
getIgnoredViewTypeList()
获取忽略采集 View 的集合
|
org.json.JSONObject |
getLastScreenTrackProperties()
获取 LastScreenTrackProperties
|
java.lang.String |
getLastScreenUrl()
获取 LastScreenUrl
|
java.lang.String |
getLoginId()
获取当前用户的 loginId
若调用前未调用
ISensorsDataAPI.login(String) 设置用户的 loginId,会返回 null |
long |
getMaxCacheSize()
获取本地缓存上限制
|
org.json.JSONObject |
getPresetProperties()
返回预置属性
|
SAContextManager |
getSAContextManager() |
java.lang.String |
getScreenOrientation()
获取当前屏幕方向
|
java.lang.String |
getSDKVersion()
获取 SDK 的版本号
|
java.lang.String |
getServerUrl()
不能动位置,因为 SF 反射获取使用
|
int |
getSessionIntervalTime()
设置 App 切换到后台与下次事件的事件间隔
默认值为 30*1000 毫秒
若 App 在后台超过设定事件,则认为当前 Session 结束,发送 $AppEnd 事件
|
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 |
ignoreAutoTrackFragment(java.lang.Class<?> fragment)
指定某个 Fragment 不被 AutoTrack
|
void |
ignoreAutoTrackFragments(java.util.List<java.lang.Class<?>> fragmentList)
指定哪些 Fragment 不被 AutoTrack
指定 Fragment 的格式为:Fragment.getClass().getCanonicalName()
|
void |
ignoreView(android.view.View view)
忽略 View
|
void |
ignoreView(android.view.View view,
boolean ignore)
忽略View
|
void |
ignoreViewType(java.lang.Class<?> viewType)
忽略某一类型的 View
|
protected void |
initSAConfig(java.lang.String serverURL) |
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(int autoTrackEventType)
判断某个 AutoTrackEventType 是否被忽略
|
boolean |
isAutoTrackEventTypeIgnored(SensorsDataAPI.AutoTrackEventType eventType)
判断某个 AutoTrackEventType 是否被忽略
|
boolean |
isDebugMode()
是否是开启 debug 模式
|
boolean |
isDisableDefaultRemoteConfig() |
boolean |
isFragmentAutoTrackAppViewScreen(java.lang.Class<?> fragment)
判断 AutoTrack 时,某个 Fragment 的 $AppViewScreen 是否被采集
|
boolean |
isHeatMapActivity(java.lang.Class<?> activity)
activity 是否开启了点击图
|
boolean |
isHeatMapEnabled()
是否开启点击图
|
boolean |
isNetworkRequestEnable()
是否请求网络,默认是 true
|
static boolean |
isSDKDisabled()
返回是否关闭了 SDK
|
boolean |
isTrackFragmentAppViewScreenEnabled()
是否开启 Fragment 页面浏览
|
boolean |
isVisualizedAutoTrackActivity(java.lang.Class<?> activity)
activity 是否开启了可视化全埋点
|
boolean |
isVisualizedAutoTrackEnabled()
是否开启可视化全埋点
|
void |
itemDelete(java.lang.String itemType,
java.lang.String itemId)
删除 item
|
void |
itemSet(java.lang.String itemType,
java.lang.String itemId,
org.json.JSONObject properties)
设置 item
|
void |
login(java.lang.String loginId)
登录,设置当前用户的 loginId
|
void |
login(java.lang.String loginId,
org.json.JSONObject properties)
登录,设置当前用户的 loginId
|
void |
loginWithKey(java.lang.String loginIDKey,
java.lang.String loginId)
登录,设置当前用户的登录 IDKey 和 loginId
|
void |
loginWithKey(java.lang.String loginIDKey,
java.lang.String loginId,
org.json.JSONObject properties)
已过期,旧版本如使用此接口请继续,新用户请不要使用此方法!
|
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 |
profilePushId(java.lang.String pushTypeKey,
java.lang.String pushId)
保存用户推送 ID 到用户表
|
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 |
profileUnsetPushId(java.lang.String pushTypeKey)
删除用户设置的 pushId
|
void |
registerDynamicSuperProperties(SensorsDataDynamicSuperProperties dynamicSuperProperties)
注册事件动态公共属性
|
void |
registerLimitKeys(java.util.Map<java.lang.String,java.lang.String> limitKeys)
注册限制性属性 key
|
void |
registerPropertyPlugin(SAPropertyPlugin plugin)
注册自定义插件
|
void |
registerSuperProperties(org.json.JSONObject superProperties)
注册所有事件都有的公共属性
|
void |
removeEventListener(SAEventListener eventListener)
移除 SDK 事件回调监听
|
void |
removeExposureView(android.view.View view)
曝光 view 标记取消
|
void |
removeExposureView(android.view.View view,
java.lang.String identifier)
曝光 view 标记取消
|
void |
removeFunctionListener(SAFunctionListener functionListener)
移除 SDK 事件回调监听
|
void |
removeSAJSListener(SAJSListener listener)
移除 JS 消息
|
void |
removeTimer(java.lang.String eventName)
删除事件的计时器
|
void |
requestDeferredDeepLink(org.json.JSONObject params)
触发 DeferredDeeplink 请求
|
void |
resetAnonymousId()
重置默认匿名id
|
void |
resetAnonymousIdentity(java.lang.String anonymousId) |
void |
resumeAutoTrackActivities(java.util.List<java.lang.Class<?>> activitiesList)
恢复不被 AutoTrack 的 activity
|
void |
resumeAutoTrackActivity(java.lang.Class<?> activity)
恢复不被 AutoTrack 的 activity
|
void |
resumeIgnoredAutoTrackFragment(java.lang.Class<?> fragment)
恢复不被 AutoTrack 的 Fragment
|
void |
resumeIgnoredAutoTrackFragments(java.util.List<java.lang.Class<?>> fragmentList)
恢复不被 AutoTrack 的 Fragment
|
void |
resumeTrackScreenOrientation()
恢复采集屏幕方向
|
void |
setCookie(java.lang.String cookie,
boolean encode)
设置 Cookie,flush 的时候会设置 HTTP 的 cookie
内部会 URLEncoder.encode(cookie, "UTF-8")
|
void |
setDebugMode(SensorsDataAPI.DebugMode debugMode) |
void |
setDeepLinkCallback(SensorsDataDeepLinkCallback deepLinkCallback)
已过时。
|
void |
setDeepLinkCompletion(SensorsDataDeferredDeepLinkCallback callback)
设置 DeepLink 与 Deferred DeepLink接口回调
|
void |
setExposureIdentifier(android.view.View view,
java.lang.String exposureIdentifier)
设置曝光 view 唯一标记位,一般只在列表复用的情况下使用
|
void |
setFlushBulkSize(int flushBulkSize)
设置本地缓存日志的最大条目数,最小 50 条
|
void |
setFlushInterval(int flushInterval)
设置两次数据发送的最小时间间隔
|
void |
setFlushNetworkPolicy(int networkType)
设置 flush 时网络发送策略,默认 3G、4G、5G、WI-FI 环境下都会尝试 flush
|
void |
setGPSLocation(double latitude,
double longitude)
更新 GPS 位置信息
|
void |
setGPSLocation(double latitude,
double longitude,
java.lang.String coordinate)
更新 GPS 位置信息及对应坐标系
|
void |
setMaxCacheSize(long maxCacheSize)
设置本地缓存上限值,单位 byte,默认为 32MB:32 * 1024 * 1024,最小 16MB:16 * 1024 * 1024,若小于 16MB,则按 16MB 处理。
|
void |
setServerUrl(java.lang.String serverUrl)
设置当前 serverUrl
|
void |
setServerUrl(java.lang.String serverUrl,
boolean isRequestRemoteConfig)
设置当前 serverUrl
|
void |
setSessionIntervalTime(int sessionIntervalTime)
设置 App 切换到后台与下次事件的事件间隔
默认值为 30*1000 毫秒
若 App 在后台超过设定事件,则认为当前 Session 结束,发送 $AppEnd 事件
|
void |
setTrackEventCallBack(SensorsDataTrackEventCallBack trackEventCallBack)
设置 track 事件回调
|
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.app.Dialog view,
java.lang.String viewID)
设置界面元素 ID
|
void |
setViewID(java.lang.Object alertDialog,
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 单例
|
void |
showUpWebView(android.webkit.WebView webView,
boolean isSupportJellyBean)
向 WebView 注入本地方法,默认不开启认证校验。
|
void |
showUpWebView(android.webkit.WebView webView,
boolean isSupportJellyBean,
boolean enableVerify)
向 WebView 注入本地方法
|
void |
showUpWebView(android.webkit.WebView webView,
boolean isSupportJellyBean,
org.json.JSONObject properties)
已过时。
|
void |
showUpWebView(android.webkit.WebView webView,
org.json.JSONObject properties,
boolean isSupportJellyBean,
boolean enableVerify)
已过时。
|
void |
showUpX5WebView(java.lang.Object x5WebView)
向腾讯 x5WebView 注入本地方法, 默认不开启认证校验。
|
void |
showUpX5WebView(java.lang.Object x5WebView,
boolean enableVerify)
向腾讯 x5WebView 注入本地方法
|
void |
showUpX5WebView(java.lang.Object x5WebView,
org.json.JSONObject properties,
boolean isSupportJellyBean,
boolean enableVerify)
已过时。
|
void |
startTrackThread()
开启事件采集
|
static void |
startWithConfigOptions(android.content.Context context,
SAConfigOptions saConfigOptions)
初始化神策 SDK
|
void |
stopTrackScreenOrientation()
暂停采集屏幕方向
|
void |
stopTrackThread()
停止事件采集,注意不要随便调用,调用后会造成数据丢失。
|
void |
track(java.lang.String eventName)
与
ISensorsDataAPI.track(String, JSONObject) 类似,无事件属性 |
void |
track(java.lang.String eventName,
org.json.JSONObject properties) |
void |
trackAppInstall()
记录 $AppInstall 事件,用于在 App 首次启动时追踪渠道来源,并设置追踪渠道事件的属性。
|
void |
trackAppInstall(org.json.JSONObject properties)
记录 $AppInstall 事件,用于在 App 首次启动时追踪渠道来源,并设置追踪渠道事件的属性。
|
void |
trackAppInstall(org.json.JSONObject properties,
boolean disableCallback)
记录 $AppInstall 事件,用于在 App 首次启动时追踪渠道来源,并设置追踪渠道事件的属性。
|
void |
trackChannelEvent(java.lang.String eventName)
调用 track 接口,并附加渠道信息.
|
void |
trackChannelEvent(java.lang.String eventName,
org.json.JSONObject properties)
调用 track 接口,并附加渠道信息.
|
void |
trackDeepLinkLaunch(java.lang.String deepLinkUrl)
记录 $AppDeepLinkLaunch
ISensorsDataAPI.trackDeepLinkLaunch(String, String) }事件 |
void |
trackDeepLinkLaunch(java.lang.String deepLinkUrl,
java.lang.String oaid)
记录 $AppDeepLinkLaunch 事件
|
void |
trackFragmentAppViewScreen()
是否开启自动追踪 Fragment 的 $AppViewScreen 事件
默认不开启
|
void |
trackInstallation(java.lang.String eventName)
用于在 App 首次启动时追踪渠道来源,并设置追踪渠道事件的属性。
|
void |
trackInstallation(java.lang.String eventName,
org.json.JSONObject properties)
用于在 App 首次启动时追踪渠道来源,并设置追踪渠道事件的属性。
|
void |
trackInstallation(java.lang.String eventName,
org.json.JSONObject properties,
boolean disableCallback)
用于在 App 首次启动时追踪渠道来源,并设置追踪渠道事件的属性。
|
void |
trackTimer(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 |
trackTimerPause(java.lang.String eventName)
暂停事件计时器,计时单位为秒。
|
void |
trackTimerResume(java.lang.String eventName)
恢复事件计时器,计时单位为秒。
|
java.lang.String |
trackTimerStart(java.lang.String eventName)
初始化事件的计时器,计时单位为秒。
|
void |
trackViewAppClick(android.view.View view)
Track 控件点击事件 ($AppClick)
|
void |
trackViewAppClick(android.view.View view,
org.json.JSONObject properties)
Track 控件点击事件 ($AppClick)
|
void |
trackViewScreen(android.app.Activity activity)
Track Activity 进入页面事件($AppViewScreen)
|
void |
trackViewScreen(java.lang.Object fragment)
Track Fragment 进入页面事件 ($AppViewScreen)
|
void |
trackViewScreen(java.lang.String url,
org.json.JSONObject properties)
已过时。
|
void |
unbind(java.lang.String key,
java.lang.String value)
解绑业务 ID
|
void |
unregisterPropertyPlugin(SAPropertyPlugin plugin)
注销自定义插件
|
void |
unregisterSuperProperty(java.lang.String superPropertyName)
删除事件公共属性
|
void |
updateExposureProperties(android.view.View view,
org.json.JSONObject properties)
更新曝光 View 绑定的属性
|
public static final int VTRACK_SUPPORTED_MIN_API
public static java.lang.String ANDROID_PLUGIN_VERSION
protected static final java.lang.String TAG
protected static final java.util.Map<android.content.Context,SensorsDataAPI> sInstanceMap
protected static SAConfigOptions mSAConfigOptions
protected InternalConfigOptions mInternalConfigs
protected SAContextManager mSAContextManager
protected final java.lang.Object mLoginIdLock
protected java.lang.String mServerUrl
protected java.lang.String mOriginServerUrl
protected boolean mSDKConfigInit
protected java.util.List<java.lang.Integer> mHeatMapActivities
protected java.util.List<java.lang.Integer> mVisualizedAutoTrackActivities
protected TrackTaskManager mTrackTaskManager
protected TrackTaskManagerThread mTrackTaskManagerThread
protected SensorsDataDynamicSuperProperties mDynamicSuperPropertiesCallBack
public static SensorsDataAPI sharedInstance(android.content.Context context)
context
- App的Contextpublic static void startWithConfigOptions(android.content.Context context, SAConfigOptions saConfigOptions)
context
- App 的 ContextsaConfigOptions
- SDK 的配置项public static SensorsDataAPI sharedInstance()
public static void disableSDK()
public static void enableSDK()
public org.json.JSONObject getPresetProperties()
public org.json.JSONObject getIdentities()
IUserIdentityAPI
public void enableLog(boolean enable)
ISensorsDataAPI
enable
- booleanpublic long getMaxCacheSize()
ISensorsDataAPI
public void setMaxCacheSize(long maxCacheSize)
ISensorsDataAPI
maxCacheSize
- 单位 bytepublic void setFlushNetworkPolicy(int networkType)
ISensorsDataAPI
networkType
- int 网络类型public int getFlushInterval()
ISensorsDataAPI
public void setFlushInterval(int flushInterval)
ISensorsDataAPI
flushInterval
- 时间间隔,单位毫秒public int getFlushBulkSize()
ISensorsDataAPI
public void setFlushBulkSize(int flushBulkSize)
ISensorsDataAPI
flushBulkSize
- 缓存数目public int getSessionIntervalTime()
ISensorsDataAPI
public void setSessionIntervalTime(int sessionIntervalTime)
ISensorsDataAPI
sessionIntervalTime
- intpublic void setGPSLocation(double latitude, double longitude)
ISensorsDataAPI
latitude
- 纬度longitude
- 经度public void setGPSLocation(double latitude, double longitude, java.lang.String coordinate)
ISensorsDataAPI
latitude
- 纬度longitude
- 经度coordinate
- 坐标系,坐标系类型请参照 SensorsDataGPSLocation.CoordinateType
public void clearGPSLocation()
ISensorsDataAPI
public void enableTrackScreenOrientation(boolean enable)
ISensorsDataAPI
enable
- true:开启 false:关闭public void resumeTrackScreenOrientation()
ISensorsDataAPI
public void stopTrackScreenOrientation()
ISensorsDataAPI
public java.lang.String getScreenOrientation()
ISensorsDataAPI
public void setCookie(java.lang.String cookie, boolean encode)
ISensorsDataAPI
cookie
- String cookieencode
- boolean 是否 encodepublic java.lang.String getCookie(boolean decode)
ISensorsDataAPI
decode
- Stringpublic void enableAutoTrack(java.util.List<SensorsDataAPI.AutoTrackEventType> eventTypeList)
AutoTrackProtocol
eventTypeList
- 开启 AutoTrack 的事件列表public void disableAutoTrack(java.util.List<SensorsDataAPI.AutoTrackEventType> eventTypeList)
AutoTrackProtocol
eventTypeList
- AutoTrackEventType 类型 Listpublic void disableAutoTrack(SensorsDataAPI.AutoTrackEventType autoTrackEventType)
AutoTrackProtocol
autoTrackEventType
- AutoTrackEventType 类型public boolean isAutoTrackEnabled()
AutoTrackProtocol
public void trackFragmentAppViewScreen()
IFragmentAPI
public boolean isTrackFragmentAppViewScreenEnabled()
IFragmentAPI
public void showUpWebView(android.webkit.WebView webView, boolean isSupportJellyBean)
ISensorsDataAPI
webView
- 当前 WebViewisSupportJellyBean
- 是否支持 API level 16 及以下的版本。
因为 API level 16 及以下的版本, addJavascriptInterface 有安全漏洞,请谨慎使用public void showUpWebView(android.webkit.WebView webView, boolean isSupportJellyBean, boolean enableVerify)
ISensorsDataAPI
webView
- 当前 WebViewisSupportJellyBean
- 是否支持 API level 16 及以下的版本。enableVerify
- 是否开启认证
因为 API level 16 及以下的版本, addJavascriptInterface 有安全漏洞,请谨慎使用@Deprecated public void showUpWebView(android.webkit.WebView webView, org.json.JSONObject properties, boolean isSupportJellyBean, boolean enableVerify)
ISensorsDataAPI
webView
- 当前 WebViewproperties
- 属性isSupportJellyBean
- 是否支持 API level 16 及以下的版本。enableVerify
- 是否开启认证
因为 API level 16 及以下的版本, addJavascriptInterface 有安全漏洞,请谨慎使用。
此方法谨慎修改,插件配置 disableJsInterface 会修改此方法。@Deprecated public void showUpWebView(android.webkit.WebView webView, boolean isSupportJellyBean, org.json.JSONObject properties)
ISensorsDataAPI
webView
- 当前 WebViewisSupportJellyBean
- 是否支持 API level 16 及以下的版本。
因为 API level 16 及以下的版本, addJavascriptInterface 有安全漏洞,请谨慎使用properties
- 用户自定义属性@Deprecated public void showUpX5WebView(java.lang.Object x5WebView, org.json.JSONObject properties, boolean isSupportJellyBean, boolean enableVerify)
ISensorsDataAPI
x5WebView
- 腾讯 x5WebViewproperties
- 属性isSupportJellyBean
- 是否支持 API level 16 及以下的版本。enableVerify
- 是否开启认证
此方法谨慎修改,插件配置 disableJsInterface 会修改此方法。public void showUpX5WebView(java.lang.Object x5WebView, boolean enableVerify)
ISensorsDataAPI
x5WebView
- 腾讯 x5WebViewenableVerify
- 是否开启认证
此方法谨慎修改,插件配置 disableJsInterface 会修改此方法。public void showUpX5WebView(java.lang.Object x5WebView)
ISensorsDataAPI
x5WebView
- 腾讯 x5WebViewpublic void ignoreAutoTrackActivities(java.util.List<java.lang.Class<?>> activitiesList)
AutoTrackProtocol
activitiesList
- activity 列表public void resumeAutoTrackActivities(java.util.List<java.lang.Class<?>> activitiesList)
AutoTrackProtocol
activitiesList
- Listpublic void ignoreAutoTrackActivity(java.lang.Class<?> activity)
AutoTrackProtocol
activity
- Activitypublic void resumeAutoTrackActivity(java.lang.Class<?> activity)
AutoTrackProtocol
activity
- Classpublic void enableAutoTrackFragment(java.lang.Class<?> fragment)
IFragmentAPI
fragment
- Fragmentpublic void enableAutoTrackFragments(java.util.List<java.lang.Class<?>> fragmentsList)
IFragmentAPI
fragmentsList
- Fragment 集合public boolean isActivityAutoTrackAppViewScreenIgnored(java.lang.Class<?> activity)
AutoTrackProtocol
activity
- Activitypublic boolean isFragmentAutoTrackAppViewScreen(java.lang.Class<?> fragment)
IFragmentAPI
fragment
- Fragmentpublic void ignoreAutoTrackFragments(java.util.List<java.lang.Class<?>> fragmentList)
IFragmentAPI
fragmentList
- Fragment 列表public void ignoreAutoTrackFragment(java.lang.Class<?> fragment)
IFragmentAPI
fragment
- Fragmentpublic void resumeIgnoredAutoTrackFragments(java.util.List<java.lang.Class<?>> fragmentList)
IFragmentAPI
fragmentList
- Listpublic void resumeIgnoredAutoTrackFragment(java.lang.Class<?> fragment)
IFragmentAPI
fragment
- Classpublic boolean isActivityAutoTrackAppClickIgnored(java.lang.Class<?> activity)
AutoTrackProtocol
activity
- Activitypublic boolean isAutoTrackEventTypeIgnored(SensorsDataAPI.AutoTrackEventType eventType)
AutoTrackProtocol
eventType
- AutoTrackEventTypepublic boolean isAutoTrackEventTypeIgnored(int autoTrackEventType)
AutoTrackProtocol
autoTrackEventType
- SensorsAnalyticsAutoTrackEventType 中的事件类型,可通过 '|' 进行连接传递public void setViewID(android.view.View view, java.lang.String viewID)
AutoTrackProtocol
view
- 要设置的 ViewviewID
- String 给这个 View 的 IDpublic void setViewID(android.app.Dialog view, java.lang.String viewID)
AutoTrackProtocol
view
- 要设置的 ViewviewID
- String 给这个 View 的 IDpublic void setViewID(java.lang.Object alertDialog, java.lang.String viewID)
AutoTrackProtocol
alertDialog
- 要设置的 ViewviewID
- String 给这个 View 的 IDpublic void setViewActivity(android.view.View view, android.app.Activity activity)
AutoTrackProtocol
view
- 要设置的 Viewactivity
- Activity View 所属 Activitypublic void setViewFragmentName(android.view.View view, java.lang.String fragmentName)
AutoTrackProtocol
view
- 要设置的 ViewfragmentName
- String View 所属 Fragment 名称public void ignoreView(android.view.View view)
AutoTrackProtocol
view
- 要忽略的 Viewpublic void ignoreView(android.view.View view, boolean ignore)
AutoTrackProtocol
view
- Viewignore
- 是否忽略public void setViewProperties(android.view.View view, org.json.JSONObject properties)
AutoTrackProtocol
view
- 要设置的 Viewproperties
- 要设置的 View 的属性public java.util.List<java.lang.Class<?>> getIgnoredViewTypeList()
AutoTrackProtocol
public void ignoreViewType(java.lang.Class<?> viewType)
AutoTrackProtocol
viewType
- Classpublic boolean isVisualizedAutoTrackActivity(java.lang.Class<?> activity)
ISensorsDataAPI
activity
- activity 类的对象public void addVisualizedAutoTrackActivity(java.lang.Class<?> activity)
ISensorsDataAPI
activity
- activity 类的对象public void addVisualizedAutoTrackActivities(java.util.List<java.lang.Class<?>> activitiesList)
ISensorsDataAPI
activitiesList
- activity 类的对象集合public boolean isVisualizedAutoTrackEnabled()
ISensorsDataAPI
public boolean isHeatMapActivity(java.lang.Class<?> activity)
ISensorsDataAPI
activity
- activity 类的对象public void addHeatMapActivity(java.lang.Class<?> activity)
ISensorsDataAPI
activity
- activity 类的对象public void addHeatMapActivities(java.util.List<java.lang.Class<?>> activitiesList)
ISensorsDataAPI
activitiesList
- activity 类的对象集合public boolean isHeatMapEnabled()
ISensorsDataAPI
public java.lang.String getDistinctId()
ISensorsDataAPI
public java.lang.String getAnonymousId()
ISensorsDataAPI
ISensorsDataAPI.identify(String)
设置用户的匿名 ID,SDK 会优先调用 SensorsDataUtils#getAndroidID 获取 Android ID,
如获取的 Android ID 非法,则调用 UUID
随机生成 UUID,作为用户的匿名 IDpublic void resetAnonymousId()
ISensorsDataAPI
public java.lang.String getLoginId()
ISensorsDataAPI
ISensorsDataAPI.login(String)
设置用户的 loginId,会返回 nullpublic void identify(java.lang.String distinctId)
ISensorsDataAPI
distinctId
- 当前用户的 distinctId,仅接受数字、下划线和大小写字母public void login(java.lang.String loginId)
ISensorsDataAPI
loginId
- 当前用户的 loginId,不能为空,且长度不能大于 255public void login(java.lang.String loginId, org.json.JSONObject properties)
ISensorsDataAPI
loginId
- 当前用户的 loginId,不能为空,且长度不能大于 255properties
- 用户登录属性public void loginWithKey(java.lang.String loginIDKey, java.lang.String loginId)
IUserIdentityAPI
loginIDKey
- 登录 IDKeyloginId
- 登录 loginIdpublic void loginWithKey(java.lang.String loginIDKey, java.lang.String loginId, org.json.JSONObject properties)
IUserIdentityAPI
loginIDKey
- loginIDKey 登录 IDKeyloginId
- loginID 登录 loginIdproperties
- properties 用户登录属性public void logout()
ISensorsDataAPI
public void bind(java.lang.String key, java.lang.String value)
IUserIdentityAPI
key
- IDvalue
- 值public void unbind(java.lang.String key, java.lang.String value)
IUserIdentityAPI
key
- IDvalue
- 值public void resetAnonymousIdentity(java.lang.String anonymousId)
public void trackInstallation(java.lang.String eventName, org.json.JSONObject properties, boolean disableCallback)
SAAdvertAPIProtocol
eventName
- 渠道追踪事件的名称properties
- 渠道追踪事件的属性disableCallback
- 是否关闭这次渠道匹配的回调请求public void trackInstallation(java.lang.String eventName, org.json.JSONObject properties)
SAAdvertAPIProtocol
eventName
- 渠道追踪事件的名称properties
- 渠道追踪事件的属性public void trackInstallation(java.lang.String eventName)
SAAdvertAPIProtocol
eventName
- 渠道追踪事件的名称public void trackAppInstall(org.json.JSONObject properties, boolean disableCallback)
SAAdvertAPIProtocol
properties
- 渠道追踪事件的属性disableCallback
- 是否关闭这次渠道匹配的回调请求public void trackAppInstall(org.json.JSONObject properties)
SAAdvertAPIProtocol
properties
- 渠道追踪事件的属性public void trackAppInstall()
SAAdvertAPIProtocol
public void trackChannelEvent(java.lang.String eventName)
SAAdvertAPIProtocol
eventName
- 事件的名称public void trackChannelEvent(java.lang.String eventName, org.json.JSONObject properties)
SAAdvertAPIProtocol
eventName
- 事件的名称properties
- 事件的属性public void track(java.lang.String eventName, org.json.JSONObject properties)
public void track(java.lang.String eventName)
ISensorsDataAPI
ISensorsDataAPI.track(String, JSONObject)
类似,无事件属性eventName
- 事件的名称@Deprecated public void trackTimer(java.lang.String eventName, java.util.concurrent.TimeUnit timeUnit)
ISensorsDataAPI
eventName
- 事件的名称timeUnit
- 计时结果的时间单位public void removeTimer(java.lang.String eventName)
ISensorsDataAPI
eventName
- 事件名称public java.lang.String trackTimerStart(java.lang.String eventName)
ISensorsDataAPI
eventName
- 事件的名称public void trackTimerPause(java.lang.String eventName)
ISensorsDataAPI
eventName
- 事件的名称public void trackTimerResume(java.lang.String eventName)
ISensorsDataAPI
eventName
- 事件的名称public void trackTimerEnd(java.lang.String eventName, org.json.JSONObject properties)
ISensorsDataAPI
eventName
- 事件的名称,或者交叉计算场景时 trackTimerStart 的返回值properties
- 事件的属性public void trackTimerEnd(java.lang.String eventName)
ISensorsDataAPI
eventName
- 事件的名称,或者交叉计算场景时 trackTimerStart 的返回值public void clearTrackTimer()
ISensorsDataAPI
public java.lang.String getLastScreenUrl()
AutoTrackProtocol
public void clearReferrerWhenAppEnd()
AutoTrackProtocol
public void clearLastScreenUrl()
AutoTrackProtocol
public org.json.JSONObject getLastScreenTrackProperties()
AutoTrackProtocol
@Deprecated public void trackViewScreen(java.lang.String url, org.json.JSONObject properties)
AutoTrackProtocol
url
- Stringproperties
- JSONObjectpublic void trackViewScreen(android.app.Activity activity)
AutoTrackProtocol
activity
- activity Activity,当前 Activitypublic void trackViewScreen(java.lang.Object fragment)
AutoTrackProtocol
fragment
- Fragmentpublic void trackViewAppClick(android.view.View view)
AutoTrackProtocol
view
- Viewpublic void trackViewAppClick(android.view.View view, org.json.JSONObject properties)
AutoTrackProtocol
view
- Viewproperties
- 事件属性public void flush()
ISensorsDataAPI
public void flushSync()
public void flushScheduled()
ISensorsDataAPI
public void registerDynamicSuperProperties(SensorsDataDynamicSuperProperties dynamicSuperProperties)
ISensorsDataAPI
dynamicSuperProperties
- 事件动态公共属性回调接口public void setTrackEventCallBack(SensorsDataTrackEventCallBack trackEventCallBack)
ISensorsDataAPI
trackEventCallBack
- track 事件回调接口public void registerPropertyPlugin(SAPropertyPlugin plugin)
ISensorsDataAPI
plugin
- 自定义插件public void unregisterPropertyPlugin(SAPropertyPlugin plugin)
ISensorsDataAPI
plugin
- 自定义插件@Deprecated public void setDeepLinkCallback(SensorsDataDeepLinkCallback deepLinkCallback)
SAAdvertAPIProtocol
deepLinkCallback
- DeepLink 接口回调public void setDeepLinkCompletion(SensorsDataDeferredDeepLinkCallback callback)
SAAdvertAPIProtocol
callback
- DeepLink 与 Deferred DeepLink接口回调public void stopTrackThread()
ISensorsDataAPI
public void startTrackThread()
ISensorsDataAPI
public void deleteAll()
ISensorsDataAPI
public org.json.JSONObject getSuperProperties()
ISensorsDataAPI
public void registerSuperProperties(org.json.JSONObject superProperties)
ISensorsDataAPI
superProperties
- 事件公共属性public void unregisterSuperProperty(java.lang.String superPropertyName)
ISensorsDataAPI
superPropertyName
- 事件属性名称public void clearSuperProperties()
ISensorsDataAPI
public void profileSet(org.json.JSONObject properties)
ISensorsDataAPI
properties
- 属性列表public void profileSet(java.lang.String property, java.lang.Object value)
ISensorsDataAPI
property
- 属性名称value
- 属性的值,值的类型只允许为
String
, Number
, Date
, Boolean
, JSONArray
public void profileSetOnce(org.json.JSONObject properties)
ISensorsDataAPI
properties
- 属性列表public void profileSetOnce(java.lang.String property, java.lang.Object value)
ISensorsDataAPI
property
- 属性名称value
- 属性的值,值的类型只允许为
String
, Number
, Date
, Boolean
, JSONArray
public void profileIncrement(java.util.Map<java.lang.String,? extends java.lang.Number> properties)
ISensorsDataAPI
properties
- 一个或多个属性集合public void profileIncrement(java.lang.String property, java.lang.Number value)
ISensorsDataAPI
property
- 属性名称value
- 属性的值,值的类型只允许为 Number
public void profileAppend(java.lang.String property, java.lang.String value)
ISensorsDataAPI
property
- 属性名称value
- 新增的元素public void profileAppend(java.lang.String property, java.util.Set<java.lang.String> values)
ISensorsDataAPI
property
- 属性名称values
- 新增的元素集合public void profileUnset(java.lang.String property)
ISensorsDataAPI
property
- 属性名称public void profileDelete()
ISensorsDataAPI
public boolean isDebugMode()
ISensorsDataAPI
public boolean isNetworkRequestEnable()
ISensorsDataAPI
public void enableNetworkRequest(boolean isRequest)
ISensorsDataAPI
isRequest
- booleanpublic void setServerUrl(java.lang.String serverUrl)
ISensorsDataAPI
serverUrl
- 当前 serverUrlpublic void setServerUrl(java.lang.String serverUrl, boolean isRequestRemoteConfig)
ISensorsDataAPI
serverUrl
- 当前 serverUrlisRequestRemoteConfig
- 是否立即请求当前 serverUrl 的远程配置public void profilePushId(java.lang.String pushTypeKey, java.lang.String pushId)
ISensorsDataAPI
pushTypeKey
- 属性名称(例如 jgId)pushId
- 推送 ID
使用 profilePushId("jgId",JPushInterface.getRegistrationID(this))public void profileUnsetPushId(java.lang.String pushTypeKey)
ISensorsDataAPI
pushTypeKey
- 属性名称(例如 jgId)public void itemSet(java.lang.String itemType, java.lang.String itemId, org.json.JSONObject properties)
ISensorsDataAPI
itemType
- item 类型itemId
- item IDproperties
- item 相关属性public void itemDelete(java.lang.String itemType, java.lang.String itemId)
ISensorsDataAPI
itemType
- item 类型itemId
- item IDpublic void enableDeepLinkInstallSource(boolean enable)
ISensorsDataAPI
enable
- 是否开启采集设备信息public java.lang.String getServerUrl()
public void trackDeepLinkLaunch(java.lang.String deepLinkUrl)
ISensorsDataAPI
ISensorsDataAPI.trackDeepLinkLaunch(String, String)
}事件deepLinkUrl
- 唤起应用的 DeepLink 链接public void trackDeepLinkLaunch(java.lang.String deepLinkUrl, java.lang.String oaid)
ISensorsDataAPI
deepLinkUrl
- 唤起应用的 DeepLink 链接oaid
- oaidpublic void requestDeferredDeepLink(org.json.JSONObject params)
SAAdvertAPIProtocol
params
- DeferredDeepLink 自定义参数public java.lang.String getSDKVersion()
public void setExposureIdentifier(android.view.View view, java.lang.String exposureIdentifier)
view
- 被标记的 viewexposureIdentifier
- 被标记 view 的唯一标记位public void addExposureView(android.view.View view, SAExposureData exposureData)
view
- 被标记的 viewexposureData
- 曝光配置public void removeExposureView(android.view.View view, java.lang.String identifier)
view
- 被标记的 viewidentifier
- 被标记的 view 的唯一标识public void removeExposureView(android.view.View view)
view
- 被标记的 viewpublic void updateExposureProperties(android.view.View view, org.json.JSONObject properties)
SAExposureAPIProtocol
view
- Viewproperties
- 属性public void registerLimitKeys(java.util.Map<java.lang.String,java.lang.String> limitKeys)
ISensorsDataAPI
limitKeys
- 限制性属性 keypublic void enableRemoteConfig(boolean enable)
ISensorsDataAPI
enable
- true 开启,false 不开启public static boolean isSDKDisabled()
public void addEventListener(SAEventListener eventListener)
eventListener
- 事件监听public void removeEventListener(SAEventListener eventListener)
eventListener
- 事件监听public void addSAJSListener(SAJSListener listener)
listener
- JS 监听public void removeSAJSListener(SAJSListener listener)
listener
- JS 监听public void addFunctionListener(SAFunctionListener functionListener)
functionListener
- 事件监听public void removeFunctionListener(SAFunctionListener functionListener)
functionListener
- 事件监听public static SAConfigOptions getConfigOptions()
public SensorsDataAPI.DebugMode getDebugMode()
public void setDebugMode(SensorsDataAPI.DebugMode debugMode)
public boolean isDisableDefaultRemoteConfig()
public SAContextManager getSAContextManager()
protected void initSAConfig(java.lang.String serverURL)
protected void applySAConfigOptions()
public org.json.JSONObject getDynamicProperty()
protected void delayInitTask(android.content.Context context)