GAI 类参考

概览

iOS 版 Google Analytics(分析)的顶层类。

提供了一些用于创建跟踪器和设置状态标志的工具函数。

此类继承 NSObject。

实例方法

(id< GAITracker >) - trackerWithName:trackingId:
 创建或检索具有指定名称和跟踪 ID 的 GAITracker 实现。更多...
 
(id< GAITracker >) - trackerWithTrackingId:
 创建或检索名称等于指定跟踪 ID 的 GAITracker 实现。更多...
 
(void) - removeTrackerByName:
 从跟踪器字典中移除某个跟踪器。更多...
 
(void) - dispatch
 发送所有待发送的跟踪信息。更多...
 
(void) - dispatchWithCompletionHandler:
 发送队列中的下一个跟踪信标,在该跟踪信标发送成功(返回 kGAIDispatchGood)或出现错误(返回 kGAIDispatchError)时,均调用 completionHandler。更多...
 

类方法

(GAI *) + sharedInstance
 获取 iOS 版 Google Analytics(分析)类的共享实例。更多...
 

属性

id< GAITrackerdefaultTracker
 为方便使用,此类提供了一个默认跟踪实例。更多...
 
id< GAILoggerlogger
 供使用的 GAILogger更多...
 
BOOL optOut
 如果为 true,则不会收集任何跟踪信息,跟踪调用实际上将成为空操作。更多...
 
NSTimeInterval dispatchInterval
 如果此值为正,就会每隔 dispatchInterval 秒自动发送跟踪信息。更多...
 
BOOL trackUncaughtExceptions
 如果为 true,SDK 会记录当前已注册的未捕获异常处理程序,然后注册一个对使用 defaultTracker 时发生的异常进行跟踪的未捕获异常处理程序。更多...
 
BOOL dryRun
 如果为 YES,则不会发送任何跟踪信息。更多...
 

方法说明

+ (GAI *) sharedInstance

获取 iOS 版 Google Analytics(分析)类的共享实例。

- (id<GAITracker>) trackerWithName: (NSString *)  name
trackingId: (NSString *)  trackingId 

创建或检索具有指定名称和跟踪 ID 的 GAITracker 实现。

如果指定名称的跟踪器尚不存在,则创建并返回该跟踪器,否则返回现有跟踪器。如果使用相应名称的现有跟踪器具有不同的跟踪 ID,此方法不会更改该跟踪器 ID。如果尚未设置 defaultTracker,则将其设置为此处返回的跟踪器实例。

参数
name此跟踪器的名称。不得为 nil 或空。
trackingID用于此跟踪器的跟踪 ID。其格式应为 UA-xxxxx-y
返回值
一个与指定名称关联的 GAITracker。可以使用该跟踪器向 Google Analytics(分析)发送跟踪数据。首次使用特定名称调用此方法时,会返回具有该名称的跟踪器对象,之后使用相同名称的调用会返回同一个实例。您无需保留此跟踪器,因为库会将其保留在系统内部。

如果发生错误或名称无效,此方法将返回 nil

- (id<GAITracker>) trackerWithTrackingId: (NSString *)  trackingId

创建或检索名称等于指定跟踪 ID 的 GAITracker 实现。

如果指定名称的跟踪器尚不存在,则创建该跟踪器并将其跟踪 ID 设置为 |trackingId|,然后返回该跟踪器,否则返回现有跟踪器。如果使用相应名称的现有跟踪器具有不同的跟踪 ID,此方法不会更改该跟踪 ID。如果尚未设置 defaultTracker,则将其设置为此处返回的跟踪器实例。

参数
trackingID用于此跟踪器的跟踪 ID。其格式应为 UA-xxxxx-y。此跟踪器的名称将与 trackingID 相同。
返回值
一个与指定名称关联的 GAITracker。可以使用该跟踪器向 Google Analytics(分析)发送跟踪数据。首次使用特定 trackingID 调用此方法时,会返回具有相应名称的跟踪器对象,之后使用相同 trackingID 的调用会返回同一个实例。您无需保留此跟踪器,因为库会将其保留在系统内部。

如果发成错误或 trackingId 无效,此方法将返回 nil

- (void) removeTrackerByName: (NSString *)  name

从跟踪器字典中移除某个跟踪器。

如果该跟踪器是默认跟踪器,还会清除默认跟踪器。

参数
name跟踪器的名称。
- (void) dispatch

调度所有待发送的跟踪信息。

请注意,此方法不会影响 dispatchInterval,可以和定期调度结合使用。

- (void) dispatchWithCompletionHandler: (void(^)(GAIDispatchResult result))  completionHandler

发送队列中的下一个跟踪信标,在该跟踪信标发送成功(返回 kGAIDispatchGood)或出现错误(返回 kGAIDispatchError)时,均调用 completionHandler。

如果没有网络连接或没有要发送的数据,则返回 kGAIDispatchNoData。

请注意,使用不为 nil 的 completionHandler 调用此方法会停用定期调度。您可以重新启用定期调度,当应用从后台恢复运行时将 dispatchInterval 设置为一个正值即可。

使用值为 nil 的 completionHandler 调用此方法等同于调用上一种 dispatch 方法。

在 iOS 7.0 或更高版本中,此方法可用于后台数据检索。在应用退出时调用此方法是明智的做法,这样可以针对尚未提交的跟踪数据启动提交流程。

参数
completionHandler要在一次调度请求之后执行的代码块。GAIDispatchResult 参数指示发送结果:成功、出错或没有要调度的匹配。

属性说明

- (id<GAITracker>) defaultTracker
(readwrite, nonatomic, assign)

为方便使用,此类提供了一个默认跟踪实例。

此实例初始为 nil,并将被设为通过 trackerWithTrackingId: 实例化的第一个跟踪器。您可以根据需要覆盖其值。

在默认情况下,GAITrackedViewController 类使用此跟踪器实例。

- (id<GAILogger>) logger
(readwrite, nonatomic, retain)

供使用的 GAILogger

- (BOOL) optOut
(readwrite, nonatomic, assign)

如果为 true,则不会收集任何跟踪信息,跟踪调用实际上将成为空操作。

如果设为 true,将删除所有待上传的信息。SDK 会自动持久化此标志的值。开发者可以选择使用此标志在应用中实现停用设置,让用户可以选择停用 Google Analytics(分析)跟踪。

当 Google Analytics(分析)SDK 首次在设备上使用时,将此值设为 NO,并从此对其进行持久化处理。

- (NSTimeInterval) dispatchInterval
(readwrite, nonatomic, assign)

如果此值为正,就会每隔 dispatchInterval 秒自动调度跟踪信息。

否则,您必须通过调用 dispatch,手动发送跟踪信息。

默认情况下,此值设为 120,表示应该每隔 120 秒自动发送跟踪信息。

- (BOOL) trackUncaughtExceptions
(readwrite, nonatomic, assign)

如果为 true,SDK 会记录当前已注册的未捕获异常处理程序,然后注册一个对使用 defaultTracker 时发生的异常进行跟踪的未捕获异常处理程序。

如果 defaultTracker 不为 nil,此函数将跟踪跟踪器上的异常并花 5 秒钟来尝试发送任何有待发送的跟踪信息。然后会调用以前注册的异常处理程序(如果有)。如果重设为 false,将恢复以前注册的未捕获异常处理程序。

- (BOOL) dryRun
(readwrite, nonatomic, assign)

如果为 YES,则不会发送任何跟踪信息。

默认为 NO。