高度な設定 - iOS SDK

このドキュメントでは、iOS 向け Google アナリティクス SDK v2 の高度な設定機能の概要を説明します。

概要

iOS 向け Google アナリティクス SDK では、2 つのクラスを使って実装のグローバルな状態を管理し、Google アナリティクス サーバーへデータを送信します。

  • GAI - 新しい GAITracker オブジェクトの取得、アプリレベルのオプトアウト設定、ディスパッチ設定など、実装のグローバルな状態を処理するシングルトン。
  • GAITracker - Google アナリティクスにデータを送信するクラス。複数のトラッカー(一意のプロパティ ID ごとに 1 つ)をインスタンス化できます。

複数のトラッカーの使用

SDK のバージョン 2 では、1 つの実装で複数のトラッカー(一意のトラッキング ID ごとに 1 つ)を使用できます。すべてのトラッカーは、GAI シングルトンが保持する同じグローバル状態を共有します。

次の例では、それぞれ固有のプロパティ ID を持つ 2 つのトラッカーを使用して、スクリーンビューが 2 つの別々のプロパティに送信されます。

#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

なお、自動スクリーン測定や捕捉されなかった例外の測定などの自動測定機能では、1 つのトラッカーのみを使って Google アナリティクスにデータが送信されます。自動測定機能を使って複数のトラッカーでデータを送りたい場合は、そうした機能を手動で行う必要があります。

参考までに、自動スクリーン測定では特定の GAITrackedViewControllertracker プロパティで指定されたトラッカーが使用されます。キャッチされなかった例外の測定では、GAI インスタンスで指定されたデフォルトのトラッカーが使用されます。

デフォルト トラッカー

実装は複数のトラッカーを使用できますが、全体的にはデフォルトのトラッカーが 1 つあります。最初に取得した 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 アナリティクスに送るヒット数を制限することができます。アプリのユーザー数が極めて多い場合や、Google アナリティクスに送るデータが膨大な場合は、サンプリングを行うことで間断なくレポート作成を継続できるようになります。

たとえば、クライアント サイドで抽出率 50% でサンプリングを行う場合は、次のようなコードを使用します。

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

アプリ単位のオプトアウト

アプリレベルのオプトアウト フラグを有効にすると、アプリ全体で Google アナリティクスを無効にできます。このフラグは、一度設定すると、アプリの存続期間またはリセットされるまで保持されます。

アプリ単位のオプトアウト設定を取得するには、次のコードを使用します。

// 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 アナリティクス SDK にはデバッグモードが用意されており、Google アナリティクスに送信されているデータに関する有用な情報をログで出力できます。

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