SDK 연동

핵클 SDK 기능을 사용하기 위해서는 반드시 SDK 연동 작업이 필요합니다.

1 단계 : 의존성 추가

repositories {
  mavenCentral()
}

dependencies {
  implementation 'io.hackle:hackle-android-sdk:2.5.0'
}

ProGuard / R8

ProGuard, R8을 사용하는 경우, aar 아티팩트에 난독화 규칙이 자동으로 포함됩니다. 이 경우가 아니라면 아래 규칙을 포함시켜야 합니다.

-keep class io.hackle.android.** { *; }
-keep class io.hackle.sdk.** { *; }

2 단계 : SDK 초기화

핵클 서버로부터 SDK 연동에 필요한 정보들을 가져와서 SDK에 저장합니다. 이 작업은 비동기로 실행되며 콜백을 통해 초기화가 완료된 것을 알 수 있습니다.
HackleApp.initializeApp() 메소드에 SDK 키콜백을 전달하여 초기화합니다.

// YOUR_APP_SDK_KEY 자리에 SDK 키를 넣습니다.
HackleApp.initializeApp(getApplicationContext(), YOUR_APP_SDK_KEY, () -> {
  // SDK ready to use.
});
// YOUR_APP_SDK_KEY 자리에 SDK 키를 넣습니다.
Hackle.initialize(applicationContext, YOUR_APP_SDK_KEY) {
  // SDK ready to use.
}

🚧

SDK 초기화는 반드시 한 번만 수행합니다

HackleApp.initializeApp() 메소드는 반드시 한 번 호출되어야 합니다.
Application 인스턴스의 onCreate() 메소드에서 초기화하는 것을 권장합니다.

권장 초기화 전략: 로딩 화면을 통한 초기화

앱을 즉시 시작하지 않고 로딩 화면을 표시하고 SDK를 초기화합니다.
이후 콜백을 통해 로딩 화면을 닫고 사용자가 앱과 상호작용을 시작할 수 있도록 합니다.

이 전략을 사용하는 경우 로딩 화면에 제한 시간을 두는 것이 좋습니다.

초기화 이후 아래 코드를 통해 HackleApp 인스턴스를 가져올 수 있습니다.

HackleApp hackleApp = HackleApp.getInstance();
val hackleApp = Hackle.app

Did this page help you?