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)
- 第一引数には、AppsFlyer Devキーを指定してください。
- 第二引数は、Nullable
AppsFlyerConversionListener
です。コンバージョンデータが必要ない場合は、第二引数にnull
を渡すことを推奨します。詳細は、コンバージョンデータを参照してください。 - 第三引数には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連携テストガイドに関する記事を参照してください。
更新済 2か月前