调度 - iOS SDK

本文档介绍了如何使用 iOS 版 Google Analytics(分析)SDK v2 管理将数据调度到 Google Analytics(分析)的工作。

概览

在 iOS 版 Google Analytics(分析)SDK 中,收集的数据(如屏幕浏览量或事件数)会先存储在本地队列中,然后再发送到 Google Analytics(分析)服务器。这些数据(此处称为“命中”)从 SDK 发送到 Google Analytics(分析)的过程称为“调度”。

调度是移动集合库所独有的,旨在减轻不可靠网络访问和电池续航时间有限的挑战。

调度有两种类型:

  • 定期调度 - 按照您指定的周期性间隔自动调度命中。
  • 手动调度 - 在您方便时(例如在已有 HTTP 连接时),手动调度命中来发送数据。

本文档的其余部分将更深入地介绍每种调度类型以及如何在您的应用中实现这些调度。

定期调度

当应用收集 GA 数据时,系统会将这些数据添加到队列中并定期发送给 Google Analytics(分析)。当您的应用在前台或后台运行时,可以进行定期调度。

默认调度周期为 2 分钟。 您可以通过调用 setDispatchPeriod:(NSTimeInterval) 提供自己的时间间隔(以秒为单位),如下例所示:

[[GAI sharedInstance] setDispatchPeriod:60];

将此值设为负数会停用定期调度,在这种情况下,如果您希望向 Google Analytics(分析)发送数据,则需要使用手动调度。另一方面,如果将值设置为 0,那么当有网络连接时,系统会立即分派每个命中。

在所有命中都发出后,定期调度将进入节电模式并停用,直到发出另一次发送调用为止。

如果用户的网络连接断开,或是用户在匹配数据尚待调度时就退出了您的应用,那么您的匹配数据会继续存储在本地。这些数据会在您的应用下次运行并发出调度请求时进行调度。

手动调度

除了依靠定期调度之外,您有时可能需要手动调度命中。例如,您可以将调度与应用发出的其他 HTTP 请求捆绑在一起,以减少开销。

您可以通过调用 dispatch 手动调度命中,如下所示:

[[GAI sharedTracker] dispatch];