アプリイベントのスタートガイド(Android)

このガイドでは、Facebook SDKを統合して、それからこれらのイベントを記録することによって、新規または既存のアプリのアプリイベントを追加する方法について説明します。

開始する前に

以下が必要です。

アプリイベントを追加する

Facebook SDKを統合すると、特定のアプリイベントは、アプリイベントの自動記録を無効にしない限り、イベントマネージャのために自動的に記録、収集されます。これは、アプリコードで変更できます。また、アプリダッシュボードかイベントマネージャの[アプリイベント]の下のトグルで切り替えることもできます。AutoLogAppEventsEnabledのフラグとトグルとの間で値が競合している場合、「Facebook SDKの自動イベント記録」のトグル値が優先されることに注意してください。収集される情報やアプリイベントの自動記録を無効にする方法については、アプリイベントの自動記録をご覧ください。

アプリでイベントをトラッキングする方法は3とおりあります。

自動でログに記録されるイベント

Facebook SDKを使用すると、イベントの自動記録を無効にしない限り、アプリの特定のイベントは自動的に記録、収集されます。これらのイベントは、ターゲット設定、効果測定、最適化などあらゆるユースケースに関係するものです。具体的には、アプリのインストール、アプリの起動、購入という3つの主要イベントが自動で記録されます。自動記録が有効である場合、広告主はこれらのイベントや、ログインインプレッションイベントなどほかのFacebook内部イベントを無効化できます。一方、自動記録を無効にした場合に、インストールや購入などの特定のイベントを記録するには、アプリのそれらのイベントの記録を手動で実装します。

イベント詳細

アプリのインストール

新しい利用者がアプリを初めてアクティベートしたとき、または特定のデバイスでアプリが初めて起動されたとき。

アプリの起動

利用者がアプリを起動し、Facebook SDKが初期化されてイベントがログに記録されたとき。ただし、最初のアプリの起動イベントから60秒以内に2回目のアプリの起動イベントが発生した場合、2回目のイベントは記録されません。

Android用Facebook SDKバージョン4.18以前では、SDKを手動で初期化する必要があり、本ドキュメントの手動によるイベント記録プロセスとは異なる処理になります。SDKを最新バージョンにアップグレードするか、従来のSDKの初期化のセクションまでスクロールして手動でイベントを追加してください。

アプリ内購入

Google Playにより処理される購入が完了したとき。ほかの支払いプラットフォームを使用している場合、購入イベントコードを手動で追加してください。

v4.39をインストールした、またはv4.39にアップグレードしたアプリでは、アプリ内購入の記録が自動的に有効になります。以前のバージョンで実行するアプリについては、アプリダッシュボード[基本] > [Androidカードの設定]でアプリ内購入イベントを有効にするか、購入イベントコードを手動で追加します。

Android用SDKは現在、Google Play Billing Library v2とv3に対応しています。Google Play Billing Library v4の場合は、アプリ内購入イベントを手動でログする必要があります。

Facebook SDKクラッシュレポート

(Facebookでの使用限定。)

Facebook SDKが原因でアプリがクラッシュした場合、クラッシュレポートが生成されて、アプリの再起動時にFacebookに送られます。このレポートは、ユーザーデータを含んでおらず、FacebookがSDKの品質と安定性を確認する上で役立ちます。このイベントの記録をオプトアウトするには、自動で記録されるイベントを無効にしてください。

Facebook SDK ANRレポート

(Facebookでの使用限定。)

Facebook SDKが原因でアプリにANR (Application Not Responding)が発生した場合、ANRレポートが生成されて、アプリの再起動時にFacebookに送られます。このレポートは、ユーザーデータを含んでおらず、FacebookがSDKの品質と安定性を確認する上で役立ちます。このイベントの記録をオプトアウトするには、自動で記録されるイベントを無効にしてください。

イベントの自動ログ記録を無効にする

自動で記録されるイベントを無効にするには、AndroidManifest.xmlファイルに以下を追加します。

<application>
  ...
  <meta-data android:name="com.facebook.sdk.AutoLogAppEventsEnabled"
           android:value="false"/>
  ...
</application>

ユーザーの同意を得たり法的な義務を履行したりする場合など、状況によっては、自動的に記録されるイベントの収集を無効にするのではなく、単に遅らせたいことがあります。その場合、エンドユーザーの同意を得た後で、FacebookSDKクラスのsetAutoLogAppEventsEnabled()メソッドを呼び出してtrueに設定し、イベントの記録を再度有効化します。

setAutoLogAppEventsEnabled(true);

何らかの理由で記録を再度中断するには、setAutoLogAppEventsEnabled()メソッドをfalseに設定します。

setAutoLogAppEventsEnabled(false);

アプリ内購入イベントの自動イベント記録は、アプリダッシュボードを使って無効にすることもできます。[基本] >[設定]の下の[Androidカード]に移動してスイッチを[No]に切り替えます。

SDKの自動初期化を無効にする

SDKの自動初期化を無効にするには、AndroidManifest.xmlファイルに以下を追加します。

<application>
  ...
  <meta-data android:name="com.facebook.sdk.AutoInitEnabled"
           android:value="false"/>
  ...
</application>

ユーザーの同意を得たり法的な義務を履行したりする場合など、状況によっては、SDKの初期化を無効にするのではなく、単に遅らせたいことがあります。その場合、エンドユーザーの同意を得た後で、setAutoInitEnabledクラスメソッドを呼び出してtrueに設定し、手動でSDKを初期化します。

FacebookSdk.setAutoInitEnabled(true)
FacebookSdk.fullyInitialize()

広告主IDの収集を無効にする

advertiser-idの収集を無効にするには、AndroidManifest.xmlファイルに以下を追加します。

<application>
  ...
  <meta-data android:name="com.facebook.sdk.AdvertiserIDCollectionEnabled"
           android:value="false"/>
  ...
</application>

ユーザーの同意を得たり法的な義務を履行したりする場合など、状況によっては、advertiser_idの収集を無効にするのではなく、単に遅らせたいことがあります。その場合、エンドユーザーの同意を得た後で、FacebookSDKクラスのsetAdvertiserIDCollectionEnabled()メソッドを呼び出してtrueに設定し、advertiser_idの収集を再度有効化します。

setAdvertiserIDCollectionEnabled(true);

何らかの理由で収集を中断するには、setAdvertiserIDCollectionEnabled()メソッドをfalseに設定します。

setAdvertiserIDCollectionEnabled(false);

手動でイベントを記録する

ヘルパーメソッドを使ってAppEventsLoggerオブジェクトを作成し、イベントを記録します。ここで、thisはメソッドが指定されているActivityです。

AppEventsLogger logger = AppEventsLogger.newLogger(this);

そうすると、イベントをloggerに記録できます。ここで、AppEventConstants.EVENT_NAME_X標準イベントの表に示されている定数のいずれか、またはコードジェネレーターで生成されたコードになります。

logger.logEvent(AppEventsConstants.EVENT_NAME_X);

また、一連のパラメーターをBundlevalueToSumプロパティに指定することもできます。後者は、何らかの値を表す任意の数になります(価格や数量など)。レポート作成時には、すべてのvalueToSumプロパティが合計されます。例えば、10人の利用者がそれぞれ$10のアイテムを購入する(valueToSumに渡す)と、価格が合計され$100が報告されます。

注:valueToSumparametersのいずれも、使用は任意です。

Bundle params = new Bundle();
params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "USD");
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product");
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT, "[{\"id\": \"1234\", \"quantity\": 2}, {\"id\": \"5678\", \"quantity\": 1}]");

logger.logEvent(AppEventsConstants.EVENT_NAME_PURCHASE,
                54.23,
                params);
Bundle params = new Bundle();
params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "USD");
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product");
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, "HDFU-8452");

logger.logEvent(AppEventsConstants.EVENT_NAME_ADDED_TO_CART,
                54.23,
                params);

カスタムイベントを記録するには、イベントの名前を文字列として渡すだけです。この機能は、ロガーがAppEventsLoggerのインスタンスであり、AppEventsLogger.newLogger()呼び出しを使って作成されていることを想定しています。

public void logBattleTheMonsterEvent () {
    logger.logEvent("BattleTheMonster");
}

イベントパラメーター

各イベントはvalueToSumと一連のパラメーター(最大25個)とともに記録できます。これらのパラメーターはBundle経由で渡されます。ここで、キーにはパラメーター名、値にはStringintのいずれかが入ります。これら以外の、booleanのような互換性のない値を指定すると、SDKによってLogginBehavior.APP_EVENTに警告が記録されます。

標準イベントパラメーターのリファレンスガイドで、標準イベントで一般的に使われるパラメーターを参照してください。これらのパラメーターはガイド目的で提供されていますが、独自のパラメーターを指定することもできます。アプリでは、インサイトの内訳を確認したいパラメーターを記録してください。

パラメーターの名前を「event」にしないでください。「event」という名前のカスタムパラメーターは、記録されません。別の名前を使うか、my_custom_eventのように接頭部または接尾部を名前に追加してください。

イベントの記録をテストする

アプリ広告ヘルパーを使用すると、アプリのアプリイベントをテストして、アプリがFacebookにイベントを送信していることを確認できます。

  1. [アプリ広告ヘルパー]を開きます。
  2. [アプリを選択]でアプリを選択し、[送信]を選択します。
  3. 一番下に移動し、[アプリイベントのテスト]を選択します。
  4. アプリを起動し、イベントを送信します。イベントはウェブページに表示されます。

デバッグの記録を有効にする

デバッグの記録を有効にして、クライアント側のアプリイベント使用状況を確認します。デバッグのログには、詳細なリクエストとJSON応答が記録されます。Android用Facebook SDKを初期化した後で、次のコードを追加してデバッグのログを有効にします。

FacebookSdk.setIsDebugEnabled(true);
FacebookSdk.addLoggingBehavior(LoggingBehavior.APP_EVENTS);

これはデバッグ目的でのみ使用します。デバッグのログは、アプリを公開する前に無効にしてください。

詳しくはこちら

アプリイベントの詳細と役立つヒントについては、以下を参照してください。

アプリの例

さまざまな種類のアプリを例示して、アプリイベントの使い方を紹介しています。アプリの各例では、さまざまなイベントをコードサンプル付きで画面ごとに詳しく説明しています。これらの例はアプリ開発の起点として参考にするものであり、カスタマイズして使ってください。