2012年8月17日金曜日

Google Analytics SDK for Android v2 を訳してみた②「高度な設定」

チームEggの赤峰です。

Google Analytics V2のβ版の翻訳第2段です。
libGoogleAnalyticsV2.jarの使い方が書かれています。
今回の②から⑩までは開発ガイド編を訳していきます。
原文はこちらです。
  Google Analytics V2 - Advanced Configuration(原文)

高度な設定

このSDKは、β版のGoogle Mobile App Analyticsです。
興味ある方はある方は、サインアップしてβ版にアクセスしてください。


このドキュメントでは、Android用Google AnalyticsのSDKの高度な設定機能のいくつかの概要を提供しています。

(項目)
概要
複数トラッカーの利用
 トラッカーの管理
 デフォルトトラッカー
アプリレベルのオプトアウト
テストとデバッグ

[概要]
-------------------------------
Android用Google Analytics SDKにはアプリでは、アプリ内のGoogle Analyticsのグローバル状態を管理し、トラッキングの呼び出しを行うために以下のクラスを使用しています。
  • GoogleAnalytics - 新しいトラッカーオブジェクトの構築やアプリレベルのオプトアウト管理を含め、トラッキング実装のグローバルな状態を扱うシングルトンです。
  • GAServiceManager - ディスパッチを含むAndroid用Google Analytics SDKのサーバーサイドを管理するシングルトンです。
  • Tracker - トラッキング呼び出しするクラスで生成されます。複数のTrackerは、独自のトラッキングIDごとにインスタンス化できます。EasyTrackerは、そのトラッキング呼び出しを行うためにTrackerのインタフェースを使用しています。

[複数のトラッカー]
-------------------------------
SDKのバージョン2では、一回の実装でユニークなトラッキングIDごとの複数のトラッカーを使用することができます。すべてのトラッカーは、定期的なディスパッチ間隔、アプリケーションレベルのオプトアウト、デバッグ・モードなどの設定を含めGoogleAnalyticsとGAServiceManagerのシングルトンで保持されているものと同じグローバル状態を共有しています。

EasyTrackerが提供する自動トラッキング機能は、唯一のそれらトラッキング呼び出しを行うために、デフォルトのトラッカーを使用することを念頭に置いてください。これらのEasyTracker機能を使用して、他のトラッカーに似たデータを送信したい場合は、手動で行う必要があります。

トラッカー管理


実装時に複数のトラッカーを管理しやすくするため、必要に応じてトラッカーの生成や取得を行ういくつかのメソッドを提供します。

GoogleAnalyticsのシングルトン取得方法
Context mCtx = this; // 現在のContext取得
GoogleAnalytics myInstance = GoogleAnalytics.getInstance(mCtx.getApplicationContext());

新しいトラッカーの生成方法
Tracker myNewTracker = myInstance.getTracker("UA-XXXX-2") // 新しいトラッキングID

トラッキングIDによる取得方法
Tracker myExistingTracker = myInstance.getTracker("UA-XXXX-Y") // プレスホルダートラッキングID

EasyTrackerで使用されるトラッカーの取得には、まずEasyTrackerにContextを渡します。
// 現在のコンテキスト取得
Context mCtx = this;

// 呼び出し前にEasyTrackerはcontexが必要です
EasyTracker.getInstance().setContext(mCtx);

EasyTrackerのContextが設定されていたら、トラッカーを取得するためにシングルトンを使用することができます。
// トラッカーを取得します。
Tracker myExistingTracker = EasyTracker.getInstance().getTracker();

デフォルトトラッカー


Android用Google AnalyticsのSDKでは、デフォルトのトラッカーの概念があります。1つの実装にもかかわらず複数のトラッカーを持つことができますが、全体で1つのデフォルトのトラッカーを持っています。これをオーバーライドすることができますが最初にインスタンス化したトラッカーが、デフォルトのトラッカーになります。

デフォルトのトラッカー取得方法
Context mCtx = this; // 現在のコンテキストを取得
GoogleAnalytics myInstance = GoogleAnalytics.getInstance(mCtx.getApplicationContext());
Tracker myDefault = myInstance.getDefaultTracker();

デフォルトのトラッカー設定方法
Traker newTracker = myInstance.getTracker("UA-XXXX-2");  // プレスホルダートラッキングID
myInstance.setDefaultTracker(newTracker); // 全体のデフォルトトラッカーとしてnewTrackerを設定

[アプリレベルのオプトアウト]
-------------------------------
あなたは、アプリケーション全体にわたってGoogle Analyticsトラッキングを無効にするための、アプリレベルのオプトアウトのフラグを有効にすることができます。一度設定すると、そのフラグはリセットされるまで持続されます。

アプリレベルのオプトアウトの設定方法
Context mCtx = this; // 現在のcontext取得
GoogleAnalytics myInstance = GoogleAnalytics.getInstance(mCtx.getApplicationContext());
myInstance.requestAppOptOut(new AptOptOutCallback() { // AppOptOutCallbackオブジェクトを受け取ります。
   @Override
   public void reportAppOptOut(boolean optOut) {
     if (optOut) {
     ... // オプトアウトしたことをユーザーに警告します。
     }
   }
}

アプリレベルのオプトアウト設定方法
myInstance.setAppOptOut(appPreferences.userOptOut);


[テストとデバッグ]
-------------------------------
Android用Google AnalyticsのSDKには、ログにトラックの開始やディスパッチされたデータに関する有用な情報を出力するデバッグモードが用意されています。

EasyTrackerを使用してデバッグモードを有効にするには、analytics.xmlリソースファイルに以下を追加します。
<bool name="ga_debug">true</bool>

プログラムでデバッグモードを有効化する方法
Context mCtx = this; // 現在のコンテキスト取得
GoogleAnalytics myInstance = GoogleAnalytics.getInstance(mCtx.getApplicationContext());
myInstance.setDebug(true);

出力はGAV2タグでlogcatに出力されます。

次回はキャンペーントラッキングを翻訳します。

0 件のコメント:

コメントを投稿