このドキュメントでは、iOS v2 向け Google アナリティクス SDK の高度な設定機能の一部について説明します。
概要
iOS 向け Google アナリティクス SDK では、実装のグローバルな状態を管理するために 2 つのクラスを使用し、Google アナリティクス サーバーにデータを送信します。
GAI
– 新しいGAITracker
オブジェクトの取得、アプリレベルのオプトアウト設定やディスパッチ設定など、実装のグローバルな状態を処理するシングルトン。GAITracker
- Google アナリティクスにデータを送信するクラス。トラッカーは、固有のプロパティ ID ごとに 1 つずつ、複数のインスタンス化できます。
複数のトラッカーの使用
SDK バージョン 2 では、複数のトラッキング ID を 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
自動画面測定や捕捉されない例外の測定など、自動測定機能では、Google アナリティクスへのデータ送信にトラッカーは 1 つだけ使用されます。自動測定機能を使って複数のトラッカーでデータを送りたい場合は、そうした機能を手動で行う必要があります。
ご参考までに、自動画面測定では特定の 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;