Class Info |
|---|
com.huawei.hms.analytics.HiAnalyticsInstance Analytics单例类,提供上报用户行为数据的公共方法。 |
Qualifier and Type | Method Name and Description |
|---|---|
void | setAnalyticsEnabled(final boolean enabled) 是否打开埋点采集能力。 |
void | setAutoCollectionEnabled(boolean isEnabled) 注意: 该接口已废弃。 |
void | setUserId(String id) 设置用户ID。 |
void | setUserProfile(String name, String value) 设置用户属性。 |
void | setPushToken(String token) 设置Push Token,通过Push Kit获取。 |
void | setMinActivitySessions(final long milliseconds) 设置App在后台运行时刷新Session的最短时间间隔。 |
void | setSessionDuration(final long milliseconds) 设置Session超时时长。 |
void | setCurrentActivity(Activity activity, String activityName, String activityClassOverride) |
void | onEvent(String eventId, Bundle params) 记录事件。 |
void | 清除本地缓存的所有采集数据。 |
getAAID() 获取应用的匿名设备标识。 | |
void | 注意: 该接口已废弃。 |
void | 注意: 该接口已废弃。 |
Map<String, String> | getUserProfiles(boolean preDefined) 获取自采集或者自定义的用户属性。 |
void | pageStart(String pageName, String pageClassOverride) 自定义进入页面事件。 |
void | pageEnd(String pageName) 自定义退出页面事件。 |
void | setReportPolicies(Set<ReportPolicy> policies) 设置自动上报的策略。 |
void | setRestrictionEnabled(boolean isEnabled) 设置是否限制数据分析能力。 |
boolean | 获取当前限制数据分析开关的状态。 |
void | setCollectAdsIdEnabled(boolean isEnabled) 设置是否开启采集广告标识符。 |
void | setRestrictionShared(boolean shared) 设置是否限制数据共享。 |
boolean | 获取限制数据共享开关的状态。 |
void | addDefaultEventParams(final Bundle params) 添加默认事件参数。 |
void | setWXOpenId(String wxOpenId) 设置微信openId。 |
void | setWXUnionId(String wxUnionId) 设置微信unionId。 |
void | setWXAppId(String wxAppId) 设置微信appId。 |
void | setChannel(String channel) 设置应用安装来源。 |
void | setPushTokenCollectionEnabled(boolean enabled) 设置是否允许采集pushtoken。 |
void | setPropertyCollection(String property, boolean enabled) 设置是否允许采集系统属性。 |
void | setCustomReferrer(String customReferrer) 设置自定义Referrer。 |
void | onNewIntent(Intent intent) 同步新的Intent,用于获取营销信息。 |
String | 获取当前数据上报的数据处理位置。 |
Method |
|---|
public void setAnalyticsEnabled(final boolean enabled) 是否打开埋点采集能力。关闭后将不再记录任何数据,且不分析数据。 说明:
|
Parameters
Name | Description |
|---|---|
enabled | 是否打开埋点采集开关。默认值为true,表示打开埋点采集。
|
Sample code:
SDK默认打开采集数据,您可参考以下示例代码,关闭埋点采集能力。
“Java” HiAnalyticsInstance instance = HiAnalytics.getInstance(context); instance.setAnalyticsEnabled(false);
“Kotlin” val instance = HiAnalytics.getInstance(context) instance.setAnalyticsEnabled(false)
该接口已废弃。
Method |
|---|
public void setAutoCollectionEnabled(boolean isEnabled) 初始化时自动开启采集系统事件的开关。 |
Parameters
Name | Description |
|---|---|
isEnabled | 是否自动采集事件。默认打开。
|
Method |
|---|
public void setUserId(String id) 设置用户ID。 调用setUserId()接口时,如果旧id不为空字符串且和新id不同,会重新生成新的Session会话。若您不希望使用setUserId标识用户(如用户退出时),必须将id设为null。 SDK不会保存您的用户ID,建议您在每次应用启动后设置用户ID。 |
Parameters
Name | Description |
|---|---|
id | 匿名化用户标识,在华为分析服务侧通过此标识关联用户数据。只有您可以使用该标识符追溯到具体用户,分析系统无法使用您设置的id追溯到具体用户。 非空,长度不超过256字符。 说明: 设置id时,需要遵守分析服务协议,避免使用能标识个人身份信息的原始id,建议使用随机化的id。 |
Method |
|---|
public void setUserProfile(String name, String value) 设置用户属性。用户属性值将在整个应用程序生命周期和会话期间保持不变。最多支持25个用户属性名称,如果后面设置属性有重复的name,则刷新value值。 |
Parameters
Name | Description |
|---|---|
name | 用户属性的标识符。非空,由数字、字母、下划线组成,必须以字母开头,长度不超过256字符。 |
value | 属性值。长度不超过256字符。 |
Method |
|---|
public void setPushToken(String token) 设置Push Token。您可以在Push Kit获取到Push Token后,通过此接口保存Push Token,以便支撑您使用Analytics Kit定义的受众创建HCM通知任务。 说明: 6.3.0.301及以上版本,中国大陆设置华为Push Token方式如下:
|
Parameters
Name | Description |
|---|---|
token | Push Token。非空,长度不超过256字符。 |
Method |
|---|
public void setMinActivitySessions(final long milliseconds) 设置App在后台运行时刷新Session的最短时间间隔。当App在后台运行,若在后台持续时间超过此接口设置的阈值,再次进入前台时,将生成一个新的会话。 |
Parameters
Name | Description |
|---|---|
milliseconds | 刷新Session的最短时间间隔。单位:毫秒。 取值范围:最小值5秒,最大值5小时。如果设置的值小于最小则取最小,大于最大则取最大。默认30000毫秒(30秒)。 |
Method |
|---|
public void setSessionDuration(final long milliseconds) 设置Session超时时长。App一直在前台运行,当两个相邻事件的时间间隔超过此接口设置的阈值时,将生成一个新的会话。 |
Parameters
Name | Description |
|---|---|
milliseconds | Session超时时长。单位:毫秒。 取值范围:最小值5秒,最大值5小时。如果设置的值超过给定范围则取边界值。默认为1800000毫秒(30分钟)。 |
Method |
|---|
public void setCurrentActivity(Activity activity, String activityName, String activityClassOverride)
|
Parameters
Name | Description |
|---|---|
activity | 当前活动Activity。 |
activityName | 当前活动页面名称。非空,长度不超过256字符。 |
activityClassOverride | 页面类名,可选,若设置为null或空,则会使用当前活动Activity的类名;长度不超过256字符。 |
Method |
|---|
public void onEvent(String eventId, Bundle params) 记录事件。 |
Parameters
Name | Description |
|---|---|
eventId | 事件标识符。非空,由数字、字母、下划线组成,不能以数字开头,不能包含空格,长度不超过256字符,不能使用自动采集事件ID。 例如:。 |
params | 事件携带的信息。Bundle内键值对不超过2048个,同时大小不超过204800个字符。 说明:
|
Method |
|---|
public void clearCachedData() 清除本地缓存的所有采集数据,包括发送失败的缓存数据。 通过以下接口设置的数据将被清理: 说明: 调用此接口将重置AAID,从6.0.0版本开始userId也会被重置。 |
Method |
|---|
public Task<String> getAAID() 获取应用的匿名设备标识。 |
Returns
Type | Description |
|---|---|
获取AAID(Anonymous Application ID)的Task。Task类的定义请参见Task<TResult>。 |
该接口已废弃。
Method |
|---|
public void regHmsSvcEvent() SDK已实现自动绑定Analytics Kit App服务,您无需额外调用该接口。 |
该接口已废弃。
Method |
|---|
public void unRegHmsSvcEvent() Analytics SDK已实现自动解绑Analytics Kit App服务,您无需额外调用该接口。 |
Method |
|---|
public Map<String, String> getUserProfiles(boolean preDefined) 获取自采集或者自定义的用户属性。 说明: 此接口获取不到自动采集用户属性中的AAID、广告标识符、Push Token。 |
Parameters
Name | Description |
|---|---|
preDefined | 获取自采集用户属性或者自定义用户属性。
|
Returns
Type | Description |
|---|---|
Map<String, String> | 自采集或者自定义的用户属性。 |
Method |
|---|
public void pageStart(String pageName, String pageClassOverride) 自定义进入页面事件,只在非Activity的页面调用,需要在调用本接口后调用pageEnd接口配对使用。 Activity页面无需调用,Activity页面会自动采集。如果在Activity页面调用,会导致页面进出事件统计不准确。 |
Parameters
Name | Description |
|---|---|
pageName | 当前页面名称,长度不超过256字符,不可为空。 |
pageClassOverride | 当前页面类名,长度不超过256字符,不可为空。 |
Method |
|---|
public void pageEnd(String pageName) 自定义退出页面事件,只在非Activity的页面调用,需要在调用本接口前先调用pageStart接口配对使用。 Activity页面无需调用,Activity页面会自动采集。如果在Activity页面调用,会导致页面进出事件统计不准确。 说明: 请确保在自定义页面(如Fragment)进入Activity页面时,该自定义页面为最后一个调用pageEnd接口的页面。 |
Parameters
Name | Description |
|---|---|
pageName | 当前结束的页面名称,长度不超过256字符,不可为空,需要和对应pageStart内传入的pageName相同。 |
Method |
|---|
public void setReportPolicies(Set<ReportPolicy> policies) 设置自动上报的策略。 |
Parameters
Name | Description |
|---|---|
policies | 支持四种上报策略,可以设置多个策略同时存在。
|
Sample code:
您可以参考以下示例代码,设置应用切后台上报策略和定时上报策略。
“Java”
// 创建应用切后台上报策略
ReportPolicy moveBackgroundPolicy = ReportPolicy.ON_MOVE_BACKGROUND_POLICY;
// 创建定时上报策略
ReportPolicy scheduledTimePolicy = ReportPolicy.ON_SCHEDULED_TIME_POLICY;
// 设置定时上报时间周期为600秒
scheduledTimePolicy.setThreshold(600);
Set<ReportPolicy> reportPolicies = new HashSet<>();
// 添加定时上报策略和应用切后台上报策略
reportPolicies.add(scheduledTimePolicy);
reportPolicies.add(moveBackgroundPolicy);
// 设置应用切后台上报策略和定时上报策略
instance.setReportPolicies(reportPolicies); “Kotlin”
// 创建应用切后台上报策略
val moveBackgroundPolicy = ReportPolicy.ON_MOVE_BACKGROUND_POLICY
// 创建定时上报策略
val scheduledTimePolicy = ReportPolicy.ON_SCHEDULED_TIME_POLICY
// 设置定时上报时间周期为600秒
scheduledTimePolicy.threshold = 600
val reportPolicies = HashSet<ReportPolicy>()
// 添加定时上报策略和应用切后台上报策略
reportPolicies.add(scheduledTimePolicy)
reportPolicies.add(moveBackgroundPolicy)
// 设置应用切后台上报策略和定时上报策略
instance.setReportPolicies(reportPolicies) Method |
|---|
public void setRestrictionEnabled(boolean isEnabled) 设置是否限制数据分析能力。限制分析开关默认值为false,即默认开启数据分析能力。 说明:
|
Parameters
Name | Description |
|---|---|
isEnabled | 打开或关闭数据分析能力。默认值为false,即打开数据分析能力。
|
Sample code:
“Java”
// 限制数据分析,同时也会自动限制数据共享
HiAnalyticsInstance instance = HiAnalytics.getInstance(context);
instance.setRestrictionEnabled(true);
// 开启数据分析
instance.setRestrictionEnabled(false);
// 开启数据共享
instance.setRestrictionShared (false); “Kotlin”
// 限制数据分析,同时也会自动限制数据共享
val instance = HiAnalytics.getInstance(context)
instance.setRestrictionEnabled(true)
// 开启数据分析
instance.setRestrictionEnabled(false)
// 开启数据共享
instance.setRestrictionShared (false) Method |
|---|
public boolean isRestrictionEnabled() 获取当前限制数据分析开关的状态。 |
Returns
Type | Description |
|---|---|
boolean | 获取当前限制数据分析开关的状态。
|
Method |
|---|
public void setCollectAdsIdEnabled(boolean isEnabled) 设置是否允许采集广告标识符。 说明:
|
Parameters
Type | Description |
|---|---|
isEnabled | 是否允许采集广告标识符。默认值为true,即允许采集。
|
Method |
|---|
public void setRestrictionShared(boolean shared) 设置是否限制数据共享能力。限制数据共享开关默认值为false,即默认开启数据共享能力。 说明: 仅中国大陆可用,非中国大陆调用无效。 |
Parameters
Name | Description |
|---|---|
shared | 打开或关闭数据共享能力。默认值为false,即打开数据共享能力。
|
Method |
|---|
public boolean isRestrictionShared() 获取当前限制数据共享开关状态。 说明: 仅中国大陆可用,非中国大陆调用无效。 |
Returns
Type | Description |
|---|---|
boolean | 获取当前限制数据共享开关状态。
|
Method |
|---|
public void addDefaultEventParams(final Bundle params) 添加默认事件参数,默认事件参数将被添加到除自动采集事件之外的所有事件中,默认事件参数与事件参数同名时,使用事件参数。 |
Parameters
Name | Description |
|---|---|
params | 默认事件参数。 参数最多支持100个键值对,每个键值对中key的长度不能超过256个字符,且只能由数字、字母、下划线组成,不能以数字开头;value长度不能超过256个字符,value只支持String、int、long、double、boolean、float、char、byte、short。 说明:
|
Method |
|---|
public void setWXOpenId(String wxOpenId) 设置微信openId。 若您不希望使用setWXOpenId标识用户(如用户退出时),必须将wxOpenId设为null。 |
Parameters
Name | Description |
|---|---|
wxOpenId | 非空,长度不超过256字符。 说明:
|
Method |
|---|
public void setWXUnionId(String wxUnionId) 设置微信unionId。 若您不希望使用setWXUnionId标识用户(如用户退出时),必须将wxUnionId设为null。 |
Parameters
Name | Description |
|---|---|
wxUnionId | 非空,长度不超过256字符。 说明:
|
Method |
|---|
public void setWXAppId(String wxAppId) 设置微信AppId。 |
Parameters
Name | Description |
|---|---|
wxAppId | 非空,长度不超过256字符。 说明:
|
Method |
|---|
public void setChannel(String channel) 设置应用安装来源。仅第一次设置有效,重复设置不生效。 说明:
|
Parameters
Name | Description |
|---|---|
channel | 非空,长度不超过128字符。支持英文字母、阿拉伯数字、下划线、中划线和空格,不能以空格开头和结尾。 |
Method |
|---|
public void setPushTokenCollectionEnabled(boolean enabled) 设置是否允许采集pushToken。 说明:
|
Parameters
Name | Description |
|---|---|
enabled | 是否允许采集pushToken。默认值为true,即允许采集。
|
Method |
|---|
public void setPropertyCollection (String property, boolean enabled) 设置是否允许采集系统属性,支持关闭和开启userAgent属性是否采集。 说明:
|
Parameters
Name | Description |
|---|---|
property | 系统属性,仅支持userAgent。 |
enabled | 是否允许采集系统属性。默认值为true,即允许采集。
|
Method |
|---|
public void setCustomReferrer(String customReferrer) 设置自定义Referrer。 说明: 该接口仅第一次调用生效。 |
Parameters
Name | Description |
|---|---|
customReferrer | 自定义Referrer。 非空,长度不超过256字符。 |
Method |
|---|
public void onNewIntent(Intent intent) 在Activity的onNewIntent中调用此接口,用于采集Push营销点击事件CAMPAIGNPUSHCLICK,提高点击率。 说明: 如果您的应用有使用智能运营服务,请在所有Push消息落地页Activity的onNewIntent方法中回调此接口,详情请参见调用onNewIntent方法。 |
Parameters
Name | Description |
|---|---|
intent | 页面启动的新Intent。 |
Sample code:
“Java” // 在Activity的onNewIntent中调用 public class MainActivity extends Activity { private HiAnalyticsInstance instance; @Override protected void onCreate(Bundle savedInstanceState){ instance = HiAnalytics.getInstance(this); } @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); if (instance != null) { instance.onNewIntent(intent); } } }
“Kotlin” // 在Activity的onNewIntent中调用 class MainActivity : AppCompatActivity() { private lateinit var instance: HiAnalyticsInstance override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) instance = HiAnalytics.getInstance(this); } override fun onNewIntent(intent: Intent?) { super.onNewIntent(intent) instance.onNewIntent(intent) } }