AVAnalytics Class Reference

Inherits from NSObject
Declared in AVAnalytics.h

Overview

统计功能

稳定实时的数据统计分析服务,从用户量,用户行为,渠道效果,自定义事件等多个维度,帮助您更清楚的了解用户习惯,提高用户黏性和活跃度

Other Methods

+ setChannel:

设置渠道名称, 如果不设置, 默认是 App Store

+ (void)setChannel:(NSString *)channel

Parameters

channel

渠道名称

Discussion

设置渠道名称, 如果不设置, 默认是 App Store

Declared In

AVAnalytics.h

+ setAnalyticsEnabled:

开启统计功能, 默认是开启状态

+ (void)setAnalyticsEnabled:(BOOL)value

Parameters

value

设置成NO, 就可以关闭统计功能, 防止开发时测试数据污染线上数据.

Discussion

开启统计功能, 默认是开启状态

Declared In

AVAnalytics.h

+ setCrashReportEnabled:

开启CrashReport收集, 默认是关闭状态.

+ (void)setCrashReportEnabled:(BOOL)value

Parameters

value

设置成 YES,就可以开启CrashReport收集.

Discussion

开启CrashReport收集, 默认是关闭状态.

Declared In

AVAnalytics.h

+ setCrashReportEnabled:completion:

开启CrashReport收集, 默认是关闭状态.

+ (void)setCrashReportEnabled:(BOOL)value completion:(nullable void ( ^ ) ( void ))completion

Parameters

value

设置成 YES,就可以开启CrashReport收集.

completion

设置完成后回调.

Discussion

开启CrashReport收集, 默认是关闭状态.

Declared In

AVAnalytics.h

+ setCrashReportEnabled:andIgnore:

开启CrashReport收集, 并且尝试忽略异常. @discuss 当异常被捕获后,如果开启了CrashReport功能,异常会被自动捕获,如果开启ignore,会尝试阻止app崩溃, 如果阻止成功,则会提示(UIAlertView)用户程序可能不稳定,请用户选择继续运行还是退出.

+ (void)setCrashReportEnabled:(BOOL)value andIgnore:(BOOL)ignore

Parameters

value

设置成YES,就可以开启CrashReport收集.

ignore

设置成YES,可以尝试忽略异常.

Discussion

开启CrashReport收集, 并且尝试忽略异常. @discuss 当异常被捕获后,如果开启了CrashReport功能,异常会被自动捕获,如果开启ignore,会尝试阻止app崩溃, 如果阻止成功,则会提示(UIAlertView)用户程序可能不稳定,请用户选择继续运行还是退出.

Warning: 这不是解决问题的办法,因为App仍然存在不可控因素,而且忽略异常后会造成CPU的占用率提高5%左右. 所以,请尽量找出引起Crash的原因(AVOSCloud后台的错误报告中已经记录了相关信息),并且修复这个问题.

Declared In

AVAnalytics.h

+ setCrashReportEnabled:withIgnoreAlertTitle:andMessage:andQuitTitle:andContinueTitle:

开启CrashReport收集, 并且尝试忽略异常. @discuss 效果等同于setCrashReportEnabled:andIgnore: 但是可以自定义弹出提醒的文字内容.

+ (void)setCrashReportEnabled:(BOOL)value withIgnoreAlertTitle:(nullable NSString *)alertTitle andMessage:(nullable NSString *)alertMsg andQuitTitle:(nullable NSString *)alertQuit andContinueTitle:(nullable NSString *)alertContinue

Parameters

value

设置成 YES,就可以开启 CrashReport 收集.

alertTitle

弹出提醒的标题

alertMsg

弹出提醒的内容

alertQuit

退出按钮的文字

alertContinue

继续按钮的文字

Discussion

开启CrashReport收集, 并且尝试忽略异常. @discuss 效果等同于setCrashReportEnabled:andIgnore: 但是可以自定义弹出提醒的文字内容.

Declared In

AVAnalytics.h

+ setLogEnabled:

设置是否打印sdk的log信息,默认不开启

+ (void)setLogEnabled:(BOOL)value

Parameters

value

设置为YES, SDK 会输出log信息,记得release产品时要设置回NO.

Discussion

设置是否打印sdk的log信息,默认不开启

Declared In

AVAnalytics.h

+ setLogSendInterval:

当reportPolicy == AV_SEND_INTERVAL 时设定log发送间隔

+ (void)setLogSendInterval:(double)second

Parameters

second

单位为秒,最小为10,最大为86400(一天).

Discussion

当reportPolicy == AV_SEND_INTERVAL 时设定log发送间隔

Declared In

AVAnalytics.h

+ trackAppOpenedWithLaunchOptions:

跟踪 app 打开情况

+ (void)trackAppOpenedWithLaunchOptions:(nullable NSDictionary *)launchOptions

Parameters

launchOptions

对应上述方法的参数launchOptions

Discussion

跟踪 app 打开情况

该方法应在 “- (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions” 中调用

Declared In

AVAnalytics.h

+ trackAppOpenedWithRemoteNotificationPayload:

跟踪 app 被 Push 通知打开的情况

+ (void)trackAppOpenedWithRemoteNotificationPayload:(nullable NSDictionary *)userInfo

Parameters

userInfo

对应上述方法的参数userInfo

Discussion

跟踪 app 被 Push 通知打开的情况

该方法应在 “- (void)application:(UIApplication )application didReceiveRemoteNotification:(NSDictionary )userInfo” 中调用

Declared In

AVAnalytics.h

页面计时

+ logPageView:seconds:

页面时长统计,记录某个view被打开多长时间,可以自己计时也可以调用beginLogPageView,endLogPageView自动计时

+ (void)logPageView:(NSString *)pageName seconds:(int)seconds

Parameters

pageName

需要记录时长的view名称.

seconds

秒数,int型.

Discussion

页面时长统计,记录某个view被打开多长时间,可以自己计时也可以调用beginLogPageView,endLogPageView自动计时

Declared In

AVAnalytics.h

+ beginLogPageView:

页面时长统计,记录页面开始事件。

+ (void)beginLogPageView:(NSString *)pageName

Parameters

pageName

需要记录时长的view名称.

Discussion

页面时长统计,记录页面开始事件。

Declared In

AVAnalytics.h

+ endLogPageView:

页面时长统计,记录页面结束事件。

+ (void)endLogPageView:(NSString *)pageName

Parameters

pageName

需要记录时长的view名称.

Discussion

页面时长统计,记录页面结束事件。

Declared In

AVAnalytics.h

事件统计

+ event:

自定义事件,数量统计.

+ (void)event:(NSString *)eventId

Parameters

eventId

自定义的事件Id.

Discussion

自定义事件,数量统计.

Declared In

AVAnalytics.h

+ event:label:

自定义事件,数量统计.

+ (void)event:(NSString *)eventId label:(nullable NSString *)label

Parameters

eventId

自定义的事件Id.

label

分类标签。不同的标签会分别进行统计,方便同一事件的不同标签的对比,为nil或空字符串时后台会生成和eventId同名的标签.

Discussion

自定义事件,数量统计.

Declared In

AVAnalytics.h

+ event:acc:

自定义事件,数量统计.

+ (void)event:(NSString *)eventId acc:(NSInteger)accumulation

Parameters

eventId

自定义的事件Id.

accumulation

事件的累计发生次数,可以将相同事件合并在一起发送节省网络流量.

Discussion

自定义事件,数量统计.

Declared In

AVAnalytics.h

+ event:label:acc:

自定义事件,数量统计.

+ (void)event:(NSString *)eventId label:(nullable NSString *)label acc:(NSInteger)accumulation

Parameters

eventId

自定义的事件Id.

label

分类标签。不同的标签会分别进行统计,方便同一事件的不同标签的对比,为nil或空字符串时后台会生成和eventId同名的标签.

accumulation

事件的累计发生次数,可以将相同事件合并在一起发送节省网络流量.

Discussion

自定义事件,数量统计.

Declared In

AVAnalytics.h

+ event:attributes:

自定义事件,数量统计.

+ (void)event:(NSString *)eventId attributes:(nullable NSDictionary *)attributes

Parameters

eventId

自定义的事件Id.

attributes

支持字符串和数字的key-value

Discussion

自定义事件,数量统计.

Declared In

AVAnalytics.h

+ beginEvent:

自定义事件,时长统计, 记录事件开始。

+ (void)beginEvent:(NSString *)eventId

Parameters

eventId

自定义事件的Id.

Discussion

自定义事件,时长统计, 记录事件开始。

Declared In

AVAnalytics.h

+ endEvent:

自定义事件,时长统计,记录事件结束。

+ (void)endEvent:(NSString *)eventId

Parameters

eventId

自定义事件的Id.

Discussion

自定义事件,时长统计,记录事件结束。

Declared In

AVAnalytics.h

+ beginEvent:label:

自定义事件,时长统计, 记录事件开始。

+ (void)beginEvent:(NSString *)eventId label:(nullable NSString *)label

Parameters

eventId

自定义事件的Id.

label

分类标签。不同的标签会分别进行统计,方便同一事件的不同标签的对比,为nil或空字符串时后台会生成和eventId同名的标签.

Discussion

自定义事件,时长统计, 记录事件开始。

Declared In

AVAnalytics.h

+ endEvent:label:

自定义事件,时长统计, 记录事件结束。

+ (void)endEvent:(NSString *)eventId label:(nullable NSString *)label

Parameters

eventId

自定义事件的Id.

label

分类标签。不同的标签会分别进行统计,方便同一事件的不同标签的对比,为nil或空字符串时后台会生成和eventId同名的标签.

Discussion

自定义事件,时长统计, 记录事件结束。

Declared In

AVAnalytics.h

+ beginEvent:primarykey:attributes:

自定义事件,时长统计, 记录事件开始。

+ (void)beginEvent:(NSString *)eventId primarykey:(nullable NSString *)keyName attributes:(nullable NSDictionary *)attributes

Parameters

eventId

自定义事件的Id.

keyName

自定义关键事件的标签. 关键事件标签用于区分同名事件,但不参与统计运算结果.

attributes

自定义事件的属性列表.

Discussion

自定义事件,时长统计, 记录事件开始。

Declared In

AVAnalytics.h

+ endEvent:primarykey:

自定义事件,时长统计, 记录事件结束。

+ (void)endEvent:(NSString *)eventId primarykey:(nullable NSString *)keyName

Parameters

eventId

自定义事件的Id.

keyName

自定义关键事件的标签. 关键事件标签用于区分同名事件,但不参与统计运算结果.

Discussion

自定义事件,时长统计, 记录事件结束。

Declared In

AVAnalytics.h

+ event:durations:

自定义事件,时长统计.

+ (void)event:(NSString *)eventId durations:(int)millisecond

Parameters

eventId

自定义事件的Id.

millisecond

自定义事件的持续时间.

Discussion

自定义事件,时长统计.

Declared In

AVAnalytics.h

+ event:label:durations:

自定义事件,时长统计.

+ (void)event:(NSString *)eventId label:(nullable NSString *)label durations:(int)millisecond

Parameters

eventId

自定义事件的Id.

label

分类标签。不同的标签会分别进行统计,方便同一事件的不同标签的对比,为nil或空字符串时后台会生成和eventId同名的标签.

millisecond

自定义事件的持续时间.

Discussion

自定义事件,时长统计.

Declared In

AVAnalytics.h

+ event:attributes:durations:

自定义事件,时长统计.

+ (void)event:(NSString *)eventId attributes:(nullable NSDictionary *)attributes durations:(int)millisecond

Parameters

eventId

自定义事件的Id.

attributes

自定义事件的属性列表.

millisecond

自定义事件的持续时间.

Discussion

自定义事件,时长统计.

Declared In

AVAnalytics.h

在线参数

+ updateOnlineConfig

使用在线参数功能,可以让你动态修改应用中的参数值, 检查并更新服务器端配置的在线参数,缓存在NSUserDefaults里, 调用此方法您将自动拥有在线更改SDK端发送策略的功能,您需要先在服务器端设置好在线参数. 请在[AVAnalytics start]方法之后调用;

+ (void)updateOnlineConfig

Discussion

使用在线参数功能,可以让你动态修改应用中的参数值, 检查并更新服务器端配置的在线参数,缓存在NSUserDefaults里, 调用此方法您将自动拥有在线更改SDK端发送策略的功能,您需要先在服务器端设置好在线参数. 请在[AVAnalytics start]方法之后调用;

Declared In

AVAnalytics.h

+ updateOnlineConfigWithBlock:

使用在线参数功能,可以让你动态修改应用中的参数值, 检查并更新服务器端配置的在线参数,缓存在NSUserDefaults里, 调用此方法您将自动拥有在线更改SDK端发送策略的功能,您需要先在服务器端设置好在线参数. 请在[AVAnalytics start]方法之后调用;

+ (void)updateOnlineConfigWithBlock:(nullable AVDictionaryResultBlock)block

Parameters

block

自定义的接收block,您的配置参数会通过block传给您的应用.

Discussion

使用在线参数功能,可以让你动态修改应用中的参数值, 检查并更新服务器端配置的在线参数,缓存在NSUserDefaults里, 调用此方法您将自动拥有在线更改SDK端发送策略的功能,您需要先在服务器端设置好在线参数. 请在[AVAnalytics start]方法之后调用;

Declared In

AVAnalytics.h

+ getConfigParams:

从[NSUserDefaults standardUserDefaults]获取缓存的在线参数的数值 带参数的方法获取某个key的值,不带参数的获取所有的在线参数. 需要先调用updateOnlineConfig才能使用

+ (id)getConfigParams:(NSString *)key

Parameters

key

键名

Return Value

返回键值

Discussion

从[NSUserDefaults standardUserDefaults]获取缓存的在线参数的数值 带参数的方法获取某个key的值,不带参数的获取所有的在线参数. 需要先调用updateOnlineConfig才能使用

Declared In

AVAnalytics.h

+ getConfigParams

从[NSUserDefaults standardUserDefaults]获取缓存的在线参数

+ (nullable NSDictionary *)getConfigParams

Return Value

(NSDictionary *).

Discussion

从[NSUserDefaults standardUserDefaults]获取缓存的在线参数

Declared In

AVAnalytics.h

地理位置设置

+ setLatitude:longitude:

为了更精确的统计用户地理位置,可以调用此方法传入经纬度信息 需要链接 CoreLocation.framework 并且 #import <CoreLocation/CoreLocation.h>

+ (void)setLatitude:(double)latitude longitude:(double)longitude

Parameters

latitude

纬度.

longitude

经度.

Discussion

为了更精确的统计用户地理位置,可以调用此方法传入经纬度信息 需要链接 CoreLocation.framework 并且 #import <CoreLocation/CoreLocation.h>

Declared In

AVAnalytics.h

+ setLocation:

为了更精确的统计用户地理位置,可以调用此方法传入经纬度信息

+ (void)setLocation:(CLLocation *)location

Parameters

location

CLLocation *型的地理信息

Discussion

为了更精确的统计用户地理位置,可以调用此方法传入经纬度信息

Declared In

AVAnalytics.h

+ setCustomInfo:

设置自定义信息

+ (void)setCustomInfo:(nullable NSDictionary *)info

Parameters

info

自定义信息

Discussion

设置自定义信息

Warning: info的内容只支持数字和字符串

Declared In

AVAnalytics.h