SDKの実装

Android SDKを初期化し開始する方法を説明します。

始める前に

  • Android SDKをインストールする必要があります
  • アプリの build.gradle ファイルの applicationId の値(defaultConfig ブロック)がAppsFlyer内のアプリのアプリIDと一致することを確認してください。
  • AppsFlyer Devキーを取得してください。SDKを正常に初期化するために必要です
  • このドキュメントに含まれているコードは実装の例です。必要に応じて、<AF_DEV_KEY> とその他のプレースホルダーを置き換えてください。
  • このドキュメントに含まれているステップは、特に明記されていない限り全て必須です。

Android SDKの初期化

グローバルApplicationクラス/サブクラス内でSDKを初期化することをお勧めします。これにより、全てのシナリオ(例:ディープリンク)でSDKが開始できます。

ステップ1:AppsFlyerLibのインポート
グローバルアプリケーションクラスにて、AppsFlyerLib をインポートしてください:

import com.appsflyer.AppsFlyerLib;
import com.appsflyer.AppsFlyerLib

ステップ2:SDKの初期化
グローバルアプリケーション onCreate で、以下の引数を指定して init を呼び出します。

AppsFlyerLib.getInstance().init(<AF_DEV_KEY>, null, this);
AppsFlyerLib.getInstance().init(<AF_DEV_KEY>, null, this)
  1. 第一引数には、AppsFlyer Devキーを指定してください。
  2. 第二引数は、Nullable AppsFlyerConversionListenerです。コンバージョンデータが必要ない場合は、第二引数に null を渡すことを推奨します。詳細は、コンバージョンデータを参照してください。
  3. 第三引数にはApplication Contextを指定します。

Android SDKの開始

Applicationの onCreate メソッドで、init を呼び出した後、start を呼び出し、第一引数としてApplicationのContextを渡してください。

AppsFlyerLib.getInstance().start(this);
AppsFlyerLib.getInstance().start(this)

Deferring SDK start

オプション
SDK初期化を遅延するには、Applicationクラスではなく、Activityクラスから start を呼び出すことで、遅延できます。initは、引き続きApplication クラスで呼び出してください。

SDK開始を遅延させる典型的な用途は、アプリがMain Activityでデータ収集についてユーザーの同意を求め、ユーザーの同意を得た後に、startを呼び出すような場合です。

Starting with a response listener

SDKが正常に起動したことを確認するためには、AppsFlyerRequestListener オブジェクトを作成し、startの第3引数として渡してください:

AppsFlyerLib.getInstance().start(getApplicationContext(), <YOUR_DEV_KEY>, new AppsFlyerRequestListener() {
  @Override
  public void onSuccess() {
    Log.d(LOG_TAG, "Launch sent successfully, got 200 response code from server");
  }
  
  @Override
  public void onError(int i, @NonNull String s) {
    Log.d(LOG_TAG, "Launch failed to be sent:\n" +
          "Error code: " + i + "\n"
          + "Error description: " + s);
  }
});
AppsFlyerLib.getInstance().start(this, <YOUR_DEV_KEY>, object : AppsFlyerRequestListener {
  override fun onSuccess() {
    Log.d(LOG_TAG, "Launch sent successfully")
    }
  
  override fun onError(errorCode: Int, errorDesc: String) {
    Log.d(LOG_TAG, "Launch failed to be sent:\n" +
          "Error code: " + errorCode + "\n"
          + "Error description: " + errorDesc)
    }
})
  • onSuccess() のコールバックメソッドは、SDKによるアトリビューションリクエストの全ての 200 レスポンスに対して実行されます。
  • それ以外のレスポンスについては onError(String error) のコールバックメソッドが実行され、レスポンスをエラーストリングとして返します。

次の例は、ApplicationクラスからSDK初期化を起動する方法を示しています。

import android.app.Application;
import com.appsflyer.AppsFlyerLib;
// ...
public class AFApplication extends Application {
    // ...
    @Override
    public void onCreate() {
        super.onCreate();
        // ...
        AppsFlyerLib.getInstance().init(<AF_DEV_KEY>, null, this);
        AppsFlyerLib.getInstance().start(this);
        // ...
    }
    // ...
}
import android.app.Application
import com.appsflyer.AppsFlyerLib
// ...
class AFApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        // ...
        AppsFlyerLib.getInstance().init(<AF_DEV_KEY>, null, this)
        AppsFlyerLib.getInstance().start(this)
        // ...
    }
    // ...
}

デバッグモードの有効化

オプション
デバッグログを有効化するには、setDebugLog を呼び出してください。

AppsFlyerLib.getInstance().setDebugLog(true);
AppsFlyerLib.getInstance().setDebugLog(true)

📘

注意

完全なデバッグログを見るためには、他のSDKメソッドを呼び出す前に必ず setDebugLog を呼び出してください。

を参照してください。

🚧

警告

機密情報の漏洩を防ぐため、アプリを配布する前にデバッグログが無効になっていることを確認してください。

連携のテスト

オプション
連携テストの詳細な手順は、Android SDK連携テストガイドに関する記事を参照してください。


このページは役に立ちましたか?