SDK 연동

안드로이드 SDK를 초기화하고 시작하는 방법을 배웁니다.

시작하기 전에

  • 안드로이드 SDK를 인스톨해야 합니다.
  • Ensure that in your app build.gradle file, applicationId's value (in the defaultConfig block) matches the app's app ID in AppsFlyer.
  • 앱스플라이어 dev key를 받습니다. SDK를 성공적으로 초기화하기 위해 필요합니다.
  • The codes in this document are example implementations. Make sure to change the <AF_DEV_KEY> and other placeholders as needed.
  • 달리 언급하지 않는 한, 이 문서의 모든 단계는 필수 단계입니다.

안드로이드 SDK 초기화하기

글로벌 애플리케이션 클래스/하위클래스 내에서 SDK를 초기화하는 것이 권장됩니다. 이는 SDK가 임의의 시나리오(예를 들면, 딥 링크)에서 시작할 수 있도록 보장하기 위한 것입니다.

1단계: AppsFlyerLib 불러오기
In your global Application class, import AppsFlyerLib:

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

2단계: SDK 초기화하기
In the global Application onCreate, call init with the following arguments:

AppsFlyerLib.getInstance().init(<AF_DEV_KEY>, null, this);
AppsFlyerLib.getInstance().init(<AF_DEV_KEY>, null, this)
  1. 첫 인수는 귀하의 앱스플라이어 dev key입니다.
  2. The second argument is a Nullable AppsFlyerConversionListener. If you don't need conversion data, we recommend passing a null as the second argument. For more information, see Conversion data.
  3. 세 번째 인수는 애플리케이션 컨텍스트입니다.

안드로이드 SDK 시작하기

In the Application's onCreate method, after calling init, call start and pass it the Application's Context as the first argument:

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

Deferring SDK start

선택 가능
You can defer the SDK initialization by calling start from an Activity class, instead of calling it in the Application class. init should still be called in the Application class.

Typical usage of deferred SDK start is when an app would like to request consent from the user to collect data in the Main Activity, and call start after getting the user's consent.

Note: If the app calls start from an Activity, it should pass the Activity Context to the SDK.

Starting with a response listener

To receive confirmation that the SDK was started successfully, create an AppsFlyerRequestListener object and pass it as the third argument of start:

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)
    }
})
  • The onSuccess() callback method is invoked for every 200 response to an attribution request made by the SDK.
  • The onError(String error) callback method is invoked for any other response and returns the response as the error string.

전체 예제

다음 예제에서는 애플리케이션 클래스에서 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)
        // ...
    }
    // ...
}

Github 링크

디버그 모드 활성화하기

선택 가능
You can enable debug logs by calling setDebugLog:

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

📘

참고

To see full debug logs, make sure to call setDebugLog before invoking other SDK methods.

를 참조하십시오.

🚧

경고

민감한 정보의 누출을 방지하려면 앱을 배포하기 전에 디버그 로그를 비활성화하십시오.

연동 테스트하기

선택 가능
자세한 연동 테스트 지침은 안드로이드 SDK 연동 테스트 가이드를 참조하십시오.


다음 내용