SDK 연동

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

시작하기 전에

  • 안드로이드 SDK를 인스톨해야 합니다.
  • 확인할 것은 앱 build.gradle 파일에서 applicationId의 값( defaultConfig 블록에서)은 앱스플라이어의 앱 ID와 일차하는 가 하는 것입니다.
  • 앱스플라이어 dev key를 받습니다. SDK를 성공적으로 초기화하기 위해 필요합니다.
  • 이 문서의 코드는 예제로 구현한 것입니다. 필요에 따라 <AF_DEV_KEY> 및 기타 자리 표시자를 변경해야 합니다.
  • 달리 언급하지 않는 한, 이 문서의 모든 단계는 필수 단계입니다.

안드로이드 SDK 초기화하기

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

1단계: AppsFlyerLib 불러오기
글로벌 애플리케이션 클래스에서 다음을 가져옵니다: AppsFlyerLib:

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

2단계: SDK 초기화하기
글로벌 애플리케이션에서 onCreate, call init 다음 인수 사용:

AppsFlyerLib.getInstance().init(<AF_DEV_KEY>, null, this);
AppsFlyerLib.getInstance().init(<AF_DEV_KEY>, null, this)
  1. 첫 인수는 귀하의 앱스플라이어 dev key입니다.
  2. 두 번째 인수는 null 입력이 가능한 AppsFlyerConversionListener입니다. 변환 데이터가 필요하지 않다면 두 번째 인수로 null 를 전달하는 것이 좋습니다. 더 자세한 정보는 전환 데이터를 참조하십시오.
  3. 세 번째 인수는 애플리케이션 컨텍스트입니다.

안드로이드 SDK 시작하기

애플리케이션의 onCreate 메서드에서 init, call start 을 호출한 후에 애플리케이션의 컨텍스트를 첫 번째 인수로 전달합니다:

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

Deferring SDK start

선택 가능
애플리케이션 클래스에서 호출하는 대신 액티비티 클래스에서 start 를 호출하여 SDK 초기화를 연기할 수 있습니다.

디퍼드 SDK 는 앱시작은 일반적으로 기본 의 데이액티비티에서 수집을 위해 사용자에게 동의를 요청하고 사용자의 동의를 얻은 후 start 에 전화를 걸 때 사용됩니다.

⚠️

중요 공지

앱이 액티비티에서 start 를 호출하는 경우, 액티비티 컨텍스트를 SDK로 전달해야 합니다.
액티비티 컨텍스트를 전달하지 못하면 SDK가 트리거되지 않으므로 어트리뷰션 데이터 및 인앱이벤트가 손실됩니다.

Starting with a response listener

SDK가 성공적으로 시작되었음을 확인하려면 AppsFlyerRequestListener 객체를 생성하여 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() 콜백 메서드의 세 번째 인수가 SDK에 의해 생성된 속성 요청에 대한 모든 200 응답에 대해 호출될 때 전달하십시오.
  • The onError(String error) 콜백 메서드가 다른 응답에 대해 호출되고 오류 메시지를 반환합니다.

전체 예제

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

디버그 모드 활성화하기

선택 가능
다음을 호출하여 디버그 로그를 사용할 수 있습니다: setDebugLog:

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

📘

참고

전체 디버그 로그를 보려면 다음 메서드를호출하십시오: setDebugLog 를 설정해야 합니다.

를 참조하십시오.

🚧

경고

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

연동 테스트하기

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