詳細設定 - iOS SDK

このドキュメントでは、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 つだけ使用されます。自動測定機能を使って複数のトラッカーでデータを送りたい場合は、そうした機能を手動で行う必要があります。

ご参考までに、自動画面測定では特定の 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;