public class ThinkingAnalyticsSDK
extends java.lang.Object
| 限定符和类型 | 类和说明 |
|---|---|
static class |
ThinkingAnalyticsSDK.AutoTrackEventType
自动采集事件类型
|
static interface |
ThinkingAnalyticsSDK.DynamicSuperPropertiesTracker
动态公共属性接口.
|
static class |
ThinkingAnalyticsSDK.ThinkingdataNetworkType
允许上报的网络类型
|
| 限定符和类型 | 方法和说明 |
|---|---|
static void |
calibrateTime(long timestamp)
校准时间
|
static void |
calibrateTimeWithNtp(java.lang.String... ntpServer)
使用指定的 NTP Server 校准时间
|
static void |
calibrateTimeWithNtpForUnity(java.lang.String ntpServer) |
void |
clearSuperProperties()
清除所有公共事件属性
|
ThinkingAnalyticsSDK |
createLightInstance()
创建轻量级的 SDK 实例.
|
void |
enableAutoTrack(int types) |
void |
enableAutoTrack(java.util.List<ThinkingAnalyticsSDK.AutoTrackEventType> eventTypeList)
开启自动采集事件功能
|
void |
enableTracking(boolean enabled)
打开/关闭 实例功能.
|
static void |
enableTrackLog(boolean enableLog)
打开/关闭 日志打印
|
void |
flush()
清空缓存队列.
|
protected DataHandle |
getDataHandleInstance(Context context) |
java.lang.String |
getDeviceId()
获取设备ID
|
java.lang.String |
getDistinctId()
获取访客 ID: 上报数据中的 #distinct_id 值
|
JSONObject |
getSuperProperties()
获得已设置的公共事件属性
|
java.lang.String |
getTimeString(java.util.Date date) |
java.lang.String |
getToken()
获取当前实例的 APP ID
|
boolean |
hasOptOut()
当前实例 OptOut 状态.
|
void |
identify(java.lang.String identity)
设置访客 ID,替换掉默认的 UUID 访客 ID
|
void |
ignoreAutoTrackActivities(java.util.List<java.lang.Class<?>> activitiesList)
忽略多个页面的自动采集事件,包括页面浏览和控件点击事件
|
void |
ignoreAutoTrackActivity(java.lang.Class<?> activity)
忽略指定页面的自动采集事件,包括页面浏览和控件点击事件
|
void |
ignoreView(View view)
忽略指定元素的点击事件
|
void |
ignoreViewType(java.lang.Class viewType)
忽略指定类型的控件点击事件
|
boolean |
isEnabled()
当前实例 Enable 状态.
|
void |
login(java.lang.String loginId)
设置账号ID,每次设置会覆盖之前的值。
|
void |
logout()
清空账号ID, 不会上传用户登出事件
|
void |
optInTracking()
允许此实例的上报.
|
void |
optOutTracking()
停止上报此用户的数据.
|
void |
optOutTrackingAndDeleteUser()
停止上报此用户数据,并且发送 user_del (不会重试)
|
static void |
setCustomerLibInfo(java.lang.String libName,
java.lang.String libVersion)
谨慎调用此接口。
|
void |
setDynamicSuperPropertiesTracker(ThinkingAnalyticsSDK.DynamicSuperPropertiesTracker dynamicSuperPropertiesTracker)
设置动态公共属性。
|
void |
setJsBridge(WebView webView)
支持 H5 与原生 APP SDK 打通.
|
void |
setJsBridgeForX5WebView(java.lang.Object x5WebView)
腾讯 X5 WebView 与原生 APP SDK 打通.
|
void |
setNetworkType(int type) |
void |
setNetworkType(ThinkingAnalyticsSDK.ThinkingdataNetworkType type)
设置上传的网络条件,默认情况下,SDK 将会网络条件为在 3G、4G 及 Wifi 时上传数据
|
void |
setSuperProperties(JSONObject superProperties)
设置公共事件属性,之后上传的每个事件都会包含公共事件属性。
|
void |
setViewID(android.app.Dialog view,
java.lang.String viewID)
自定义控件ID,如果不设置,默认使用 android:id
|
void |
setViewID(View view,
java.lang.String viewID)
自定义控件ID,如果不设置,默认使用 android:id
|
void |
setViewProperties(View view,
JSONObject properties)
自定义控件点击事件的属性
|
static ThinkingAnalyticsSDK |
sharedInstance(Context context,
java.lang.String appId)
当 SDK 初始化完成后,可以通过此接口获得保存的单例
|
static ThinkingAnalyticsSDK |
sharedInstance(Context context,
java.lang.String appId,
java.lang.String url)
初始化 SDK.
|
static ThinkingAnalyticsSDK |
sharedInstance(Context context,
java.lang.String appId,
java.lang.String url,
boolean trackOldData)
谨慎使用此接口,大多数情况下会默认绑定老版本数据到第一个实例化的 SDK 中
|
static ThinkingAnalyticsSDK |
sharedInstance(TDConfig config) |
void |
timeEvent(java.lang.String eventName)
记录事件时长,调用此方法开始计时,目标事件上传时停止计时,并在事件属性中加入#duration属性,单位为秒
|
void |
track(java.lang.String eventName)
上传单个事件,只包含预置属性和已设置的公共属性
|
void |
track(java.lang.String eventName,
JSONObject properties)
上传事件及其相关属性
|
void |
track(java.lang.String eventName,
JSONObject properties,
java.util.Date time)
上传事件,可以设定事件触发时间。
|
void |
track(java.lang.String eventName,
JSONObject properties,
java.util.Date time,
java.util.TimeZone timeZone)
上传事件,并设定事件触发时间。
|
void |
track(cn.thinkingdata.android.ThinkingAnalyticsEvent event)
上传特殊类型的事件.
|
void |
trackAppInstall()
开启采集安装事件. added for unity3D.
|
void |
trackFragmentAppViewScreen()
开启自动采集 Fragment 浏览事件
|
void |
trackViewScreen(Activity activity)
手动触发页面浏览事件上传
|
void |
trackViewScreen(android.app.Fragment fragment)
手动触发页面浏览事件上传
|
void |
unsetSuperProperty(java.lang.String superPropertyName)
清除一条公共事件属性
|
void |
user_add(JSONObject properties)
对数值类型用户属性进行累加操作
|
void |
user_add(JSONObject properties,
java.util.Date date) |
void |
user_add(java.lang.String propertyName,
java.lang.Number propertyValue)
对数值类型用户属性进行累加操作,只设置一个属性
|
void |
user_append(JSONObject properties)
对 List 类型的用户属性进行追加操作
|
void |
user_append(JSONObject properties,
java.util.Date date) |
void |
user_delete()
删除用户属性,但会保留已上传的事件数据。
|
void |
user_delete(java.util.Date date) |
void |
user_set(JSONObject properties)
设置用户属性,如果属性已存在,则用新值替换原值
|
void |
user_set(JSONObject properties,
java.util.Date date) |
void |
user_setOnce(JSONObject properties)
设置单次用户属性,如果属性已经存在,则忽略新的属性值
|
void |
user_setOnce(JSONObject properties,
java.util.Date date) |
void |
user_unset(JSONObject properties,
java.util.Date date) |
void |
user_unset(java.lang.String... properties)
重置用户属性
|
public static ThinkingAnalyticsSDK sharedInstance(Context context, java.lang.String appId)
context - app contextappId - APP IDpublic static ThinkingAnalyticsSDK sharedInstance(Context context, java.lang.String appId, java.lang.String url)
context - app contextappId - APP IDurl - 接收端地址public static ThinkingAnalyticsSDK sharedInstance(Context context, java.lang.String appId, java.lang.String url, boolean trackOldData)
trackOldData - 是否绑定老版本(1.2.0 及之前)的数据public static ThinkingAnalyticsSDK sharedInstance(TDConfig config)
protected DataHandle getDataHandleInstance(Context context)
public static void enableTrackLog(boolean enableLog)
enableLog - true 打开日志; false 关闭日志public static void setCustomerLibInfo(java.lang.String libName,
java.lang.String libVersion)
libName - 对应事件表中 #lib 预置属性libVersion - 对应事件标准 #lib_version 预置属性public void setNetworkType(ThinkingAnalyticsSDK.ThinkingdataNetworkType type)
type - 上传数据的网络类型public void setNetworkType(int type)
public void track(java.lang.String eventName,
JSONObject properties)
eventName - 事件名称properties - 事件属性public void track(java.lang.String eventName,
JSONObject properties,
java.util.Date time)
eventName - 事件名称properties - 事件属性time - 事件触发时间public void track(java.lang.String eventName,
JSONObject properties,
java.util.Date time,
java.util.TimeZone timeZone)
eventName - 事件名称properties - 事件属性time - 事件触发时间timeZone - 事件时区public void track(java.lang.String eventName)
eventName - 事件名称public void track(cn.thinkingdata.android.ThinkingAnalyticsEvent event)
event - 事件对象 TDUniqueEvent / TDUpdatableEvent / TDOverWritableEventpublic void user_add(java.lang.String propertyName,
java.lang.Number propertyValue)
propertyName - 属性名称propertyValue - 属性值,可为负数public void user_append(JSONObject properties)
properties - 用户属性,JSONObjectpublic void user_append(JSONObject properties,
java.util.Date date)
public void user_add(JSONObject properties)
properties - 用户属性,JSONObjectpublic void user_add(JSONObject properties,
java.util.Date date)
public void user_setOnce(JSONObject properties)
properties - 用户属性public void user_setOnce(JSONObject properties,
java.util.Date date)
public void user_set(JSONObject properties)
properties - 用户属性public void user_set(JSONObject properties,
java.util.Date date)
public void user_delete()
public void user_delete(java.util.Date date)
public void user_unset(java.lang.String... properties)
public void user_unset(JSONObject properties,
java.util.Date date)
public void identify(java.lang.String identity)
identity - 字符串类型的访客 ID.public void login(java.lang.String loginId)
loginId - 账号 IDpublic void logout()
public java.lang.String getDistinctId()
public JSONObject getSuperProperties()
public void setSuperProperties(JSONObject superProperties)
superProperties - 公共事件属性public void setDynamicSuperPropertiesTracker(ThinkingAnalyticsSDK.DynamicSuperPropertiesTracker dynamicSuperPropertiesTracker)
dynamicSuperPropertiesTracker - 动态公共属性接口public void unsetSuperProperty(java.lang.String superPropertyName)
superPropertyName - 要清除的公共事件属性keypublic void clearSuperProperties()
public void timeEvent(java.lang.String eventName)
eventName - 目标事件名称public void trackViewScreen(Activity activity)
public void trackViewScreen(android.app.Fragment fragment)
public void trackAppInstall()
public void enableAutoTrack(int types)
public void enableAutoTrack(java.util.List<ThinkingAnalyticsSDK.AutoTrackEventType> eventTypeList)
eventTypeList - 枚举 AutoTrackEventType 的列表,表示需要开启的自动采集事件类型public void flush()
public void ignoreViewType(java.lang.Class viewType)
viewType - 控件类型,如Dialog、CheckBox等public void trackFragmentAppViewScreen()
public void ignoreAutoTrackActivity(java.lang.Class<?> activity)
activity - 指定页面public void ignoreAutoTrackActivities(java.util.List<java.lang.Class<?>> activitiesList)
activitiesList - 指定页面列表public void setViewID(View view,
java.lang.String viewID)
view - 控件viewID - 控件IDpublic void setViewID(android.app.Dialog view,
java.lang.String viewID)
view - 控件viewID - 控件IDpublic void setViewProperties(View view,
JSONObject properties)
view - 需要设置自定义属性的控件properties - 控件自定义属性public void ignoreView(View view)
view - 指定元素public void setJsBridge(WebView webView)
webView - 传入 WebView 实例public void setJsBridgeForX5WebView(java.lang.Object x5WebView)
x5WebView - WebView 实例public java.lang.String getDeviceId()
public void enableTracking(boolean enabled)
enabled - true 打开上报; false 关闭上报public void optOutTrackingAndDeleteUser()
public void optOutTracking()
public void optInTracking()
public boolean isEnabled()
public boolean hasOptOut()
public ThinkingAnalyticsSDK createLightInstance()
public java.lang.String getToken()
public java.lang.String getTimeString(java.util.Date date)
public static void calibrateTime(long timestamp)
timestamp - 当前时间戳public static void calibrateTimeWithNtp(java.lang.String... ntpServer)
ntpServer - NTP Server 列表public static void calibrateTimeWithNtpForUnity(java.lang.String ntpServer)