このドキュメントでは、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 アナリティクスにデータが送信されます。自動測定機能を使って複数のトラッカーでデータを送りたい場合は、そうした機能を手動で行う必要があります。
参考までに、自動スクリーン測定では特定の GAITrackedViewController
の tracker
プロパティで指定されたトラッカーが使用されます。キャッチされなかった例外の測定では、GAI
インスタンスで指定されたデフォルトのトラッカーが使用されます。
デフォルト トラッカー
実装は複数のトラッカーを使用できますが、全体的にはデフォルトのトラッカーが 1 つあります。最初に取得した Tracker
がデフォルトのトラッカーになります。
デフォルトのトラッカーを取得するには、次のコマンドを使用します。
// Get default tracker. idmyDefault = [GAI sharedInstance].defaultTracker;
デフォルトのトラッカーを設定するには、以下を使用します。
// Get a new tracker. idnewTracker = [[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;