高级配置 - iOS SDK

本文档将大略介绍 iOS 版 Google Analytics(分析)SDK v2 的高级配置功能。

概览

iOS 版 Google Analytics(分析)SDK 使用两个类来管理实现的全局状态并将数据发送到 Google Analytics(分析)服务器。

  • GAI - 一个单例,用于处理您的实现的全局状态,包括获取新的 GAITracker 对象,以及应用级选择停用设置和调度设置。
  • GAITracker - 您从中向 Google Analytics(分析)发送数据的类。可实例化多个跟踪器,每个跟踪器对应一个唯一的媒体资源 ID。

使用多个跟踪器

从 SDK 版本 2 开始,您可以在一个实现中使用多个跟踪器,每个跟踪器 ID 一个。所有跟踪器都会共享由您的 GAI 单例持有的同一全局状态。

在下例中,系统会使用两个跟踪器将一次屏幕浏览数据发送到两个单独的媒体资源,每个跟踪器都有自己唯一的媒体资源 ID:

#import "RootViewController.h"
#import "GAI.h"

@interface RootViewController ()

@end

@implementation RootViewController
{
- (void)viewDidLoad {
  [super viewDidLoad];

  // Send a screen view to the first property.
  id tracker1 = [[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXX-Y"];
  [tracker1 sendView:@"/HomeScreen"];

  // Send another screen view to the second property.
  id tracker2 = [[GAI sharedInstance] trackerWithTrackingId:@"UA-XXXX-Z"];
  [tracker2 sendView:@"Home"];
}

@end

请注意,自动衡量功能(如自动屏幕衡量和未捕获异常衡量)仅使用一个跟踪器来向 Google Analytics(分析)发送数据。如果您在使用这些功能,但又想使用其他跟踪器来发送数据,则需要采取手动方式。

作为参考,自动屏幕衡量会使用给定 GAITrackedViewControllertracker 属性中指定的跟踪器。未捕获异常衡量会使用 GAI 实例中指定的默认跟踪器。

默认跟踪器

虽然一个实现可能会使用多个跟踪器,但在全局范围内它只有一个默认跟踪器。检索到的第一个 Tracker 会成为默认跟踪器。

要获取默认跟踪器,请使用:

// Get default tracker.
id myDefault = [GAI sharedInstance].defaultTracker;

要设置默认跟踪器,请使用:

// Get a new tracker.
id newTracker = [[GAI sharedInstance]trackerWithTrackingId:@"UA-NEW-TRACKING-ID");

// Set the new tracker as the default tracker, globally.
[GAI sharedInstance].defaultTracker = newTracker;

采样

您可以启用客户端抽样,以限制向 Google Analytics(分析)发送的匹配数量。如果您的应用有大量用户,或因其他原因而向 Google Analytics(分析)发送大量数据,则启用抽样有助于确保报告不发生中断。

例如,要将客户端抽样率设为 50%,请使用以下代码:

// Set a sample rate of 50%.
[tracker setSampleRate:50.0];  // Sample rate is a double.

应用级选择停用

您可以启用应用级选择停用标志,该标志将在整个应用中停用 Google Analytics(分析)。设置后,该标志将在应用的整个生命周期内持续有效或直到被重置为止。

要获取应用级选择停用设置,请使用:

// Get the app-level opt out preference.
if ([GAI sharedInstance].optOut) {
  ... // Alert the user they have opted out.
}

如需设置应用级选择停用标志,请使用以下命令:


// Set the app-level opt out preference.
[[GAI sharedInstance].setOptOut = YES];

测试和调试

iOS 版 Google Analytics(分析)SDK 提供了调试模式,可在日志中输出有关发送到 Google Analytics(分析)的实用信息。

// Enable debug mode.
[GAI sharedInstance].debug = YES;