開発者クイックスタート

このガイドでは、Android ライブラリを実装し、測定データの送信を開始するための手順について説明します。

ライブラリの取得

Developer Connection の「モバイルアプリケーションの測定と最適化」にアクセスして、Android ライブラリをダウンロードしてください。

ダウンロードファイルを解凍すると、次のソフトウェアコンポーネントが展開されます。

  • admsAppLibrary.jar:Android デバイスとシミュレーターで使用するように設計されたライブラリ。Android 2.0 以降が必要です。
  • Examples\TrackingHelper.java:トラッキングコードをアプリケーションロジックから分離するように設計されたオプションのクラス。

プロジェクトへのライブラリの追加

  1. Eclipse IDE で、プロジェクト名を右クリックします。
  2. Build Path(ビルドパス)Add External Archives(外部アーカイブの追加)を選択します。
  3. admsAppLibrary.jar を選択します。
  4. 開く」をクリックします。
  5. プロジェクトを再度右クリックし、Build Path(ビルドパス)Configure Build Path(ビルドパスを設定)を選択します。
  6. Order and Export(順序とエクスポート)」タブをクリックします。
  7. admsAppLibrary.jar が選択済みであることを確認します。

アプリケーションでは admsAppLibrary.jar ライブラリから import com.adobe.ADMS.*; を使ってクラスやインターフェイスをインポートすることができます。

アプリの権限の追加

AppMeasurement ライブラリでは、データの送信とオフラインのトラッキングコールの記録のために、次の権限が必要です。

  • INTERNET
  • ACCESS_NETWORK_STATE

これらの権限を追加するには、AndroidManifest.xml ファイル(アプリケーションのプロジェクトディレクトリ内)に次の行を追加します。

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

TrackingHelper の概要

SDK には、TrackingHelper という追加のオプションクラスが含まれています。TrackingHelper を使用すると、測定コードをアプリケーションロジックから分離することができます。

例:アプリケーションで、各ログインを追跡するイベントを送信するとします。その場合、ログインコードの直後に次のコードを追加して、このイベントを送信することができます(コードについて詳しくは後述)。

Hashtable<String, Object> contextData = new Hashtable<String, Object>();
		contextData.put("username", "username_value");
		measure.trackEvents("event1", contextData);

このような直接的な方法でも問題ありませんが、アプリケーションの開発中、開発者に負荷をかけないようにこのコードを 1 か所に集約した方がよいでしょう。TrackingHelper がその配置先となります。

TrackingHelper 内で、このコードを trackLogonEvent というメソッドの内部に配置できます。

public static void trackLogonEvent (String username_value) {
Hashtable<String, Object> contextData = new Hashtable<String, Object>();
		contextData.put("username", username_value);
		measure.trackEvents("event1", contextData);
}

これで、アプリケーションコード内で、trackLogonEvent を呼び出すだけでログオンイベントを追跡することができます。

TrackingHelper.trackLogonEvent("username");

アプリケーションコード内では、測定コールが 1 行だけになります。さらに、基本となる測定ロジックを変更する場合は、TrackingHelper を更新するだけで済みます。他の開発者がコードに変更を加える場合に、AppMeasurement ライブラリについて調査しなくても、定義済みの簡素化されたメソッドを使用できます。

1 ~ 2 分程度の設定が必要になりますが、新しい実装に対しては TrackingHelper を使用することをお勧めします。このガイドの以降の手順では、TrackingHelper を設定し、測定データの送信を開始するための手順について説明します。

アプリケーションのクラスファイルを含むディレクトリに TrackingHelper.java をコピーし、このファイルの上部にあるパッケージ名を、パッケージ構造(com.company.application)に合うように置き換えてください。TrackingHelper を使用せずに実装する場合は、TrackingHelper に含まれるサンプルをアプリケーションにコピーできます。

実装

  1. TrackingHelper.java を開き、レポートスイート ID とトラッキングサーバーの情報を使用して TRACKING_RSIDTRACKING_SERVER を更新します。以下に例を示します。
    private static final String TRACKING_RSID = "rsid";
    private static final String TRACKING_SERVER = "server";

    これらの値は必須であり、正しい値を指定しなければ測定が動作しません。これらの値がわからない場合は、SiteCatalyst のエキスパートにお問い合わせください。

  2. configureAppMeasurement メソッドを探します。このメソッドを使って、SSL の有効化やオフライン追跡の有効化をはじめ、その他の設定の一括変更を行うことができます。ここでは、期待どおりの動作となるまで、debugLogging を有効にする行のコメントを解除します。
  3. アプリケーションのルートアクティビティからの configureAppMeasurement のコールを追加します。
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      TrackingHelper.configureAppMeasurement(this);
    }

カスタム指標の追跡を開始するのに必要となるコードはこれだけです。ただし、さらにコードを数行追加することで、起動、アップグレード、クラッシュ、日別ユーザー、月別ユーザーなどのライフサイクル指標を自動的に送信できるようになります。難しい処理の実行はすべて AppMeasurement ライブラリが担当します。開発者が行う必要があるのは、アプリケーションの各 Activity クラスに 2 つのメソッドコールを追加することだけです。

(推奨)ライフサイクルイベントの追跡

ライフサイクルの追跡を有効にすると、アプリケーションが起動されるたびに、インストール、アップグレード、関与日数およびその他の ライフサイクル指標を追跡するために 1 つのヒットが送信されます。

ライフサイクルイベントの追跡を開始するには、次の例のように、アプリケーション内部の各 Activity に、onResume() メソッドと onPause() メソッドのコールを追加します。また、グローバルの Application コンテキストではなく、Activity または Service をコンテキストオブジェクトとして渡すことをお勧めします。

@Override
protected void onResume() {
   super.onResume();
   TrackingHelper.startActivity(this);
}
@Override
protected void onPause() {
   super.onPause();
   TrackingHelper.stopActivity();
}

これで作業は完了です。Android アプリケーションに基本的なライフサイクル追跡機能を実装できました。Web アナリストが、レポートの対象となる AppMeasurement 指標を処理するように SiteCatalyst を設定すると、SiteCatalyst レポートスイートにデフォルトのライフサイクル指標が反映されるようになります。

これをベースにして、以下の機能を追加できます。

  • (オプション)カスタムイベントの追跡。TrackingHelper にカスタムメソッドを追加して、アプリケーションで測定するすべてのイベントを追跡します。ログオン、アプリケーション内での購入などを追跡するためのメソッドを追加できます。
  • (オプション)アプリケーション状態の追跡。アプリケーション状態は、ページビューに似ています。この節では、TrackingHelper にカスタムメソッドを追加してアプリケーション状態を追跡する方法について説明しています。
  • ビデオ測定クイックスタート。ビデオビュー、再生時間合計、最も人気のあるビデオなどのビデオ指標を追跡するためのコードを追加します。

(オプション)カスタムイベントの追跡

カスタムイベントは、それぞれのアプリケーションに固有の成功指標です。ユーザーのログイン時、アプリケーション内部での購入の開始時、Facebook ページへのリンクのクリック時などにカスタムイベントを送信できます。追跡ヘルパークラスには、カスタムイベントの追跡方法を示す例が含まれています。このメソッドをテンプレートとして使用し、他のイベント追跡メソッドを追加することができます。

TrackingHelper.java に、カスタムのイベント追跡メソッドを次のように定義します。

public static void trackCustomEvents () {
		Hashtable<String, Object> contextData = new Hashtable<String, Object>();
		contextData.put("contextKey", "value");
		measure.trackEvents("event1, event2", contextData);
	}

コードのどこからでも、このメソッドを呼び出すことでカスタムイベントを追跡できます。

TrackingHelper.trackCustomEvents();

以上のプロセスを使用して、必要な数のイベント追跡メソッドを追加します。「TrackingHelper の概要」には、ログインイベントを追跡するためのサンプルのメソッドが記載されています。

(オプション)アプリケーション状態の追跡

追跡ヘルパークラスには、アプリケーション状態の追跡方法を示す例も含まれています。カスタム状態の追跡は、イベントの追跡と非常に似ています。異なるのは、trackEvents の代わりに trackAppState メソッドを使用することだけです。

measure.trackAppState("name", contextData);

レポートの観点から見ると、trackAppState はページビュー数を増分しますが、trackEvents は増分しません。