Android

circle-info

Hackle Android SDK 는 Android API 16 이상 (4.1 Jelly Bean)을 지원합니다.

의존성 추가

arrow-up-right

repositories {
  mavenCentral()
}

build.gradle 파일에 의존성을 추가합니다.

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

ProGuard

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

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

Third-party 의존성

핵클 Android SDK는 아래 third-party 의존성을 가지고 있습니다

라이브러리
설명

com.squareup.okhttp3:okhttp:3.12.2

HTTP/HTTPS 클라이언트

com.google.code.gson:gson:2.8.6

JSON 직렬화/역직렬화

com.google.android.gms:play-services-base:17.3.0

Google Play Services 공통 모듈

SDK 초기화

SDK를 사용하기 위해서 반드시 HackleApp을 초기화 해야 합니다.

  • HackleApp을 초기화 하기 위해 SDK 키가 필요합니다.

  • HackleApp은 SDK의 기능을 사용하기 위한 메소드들을 제공하는 클래스입니다.

  • SDK 키는 핵클 대시보드 내 SDK 연동 정보arrow-up-right에서 확인하실 수 있습니다.

초기화는 비동기로 실행되며, 핵클 서버로부터 필요한 정보들을 가져와서 SDK에 저장합니다.

circle-exclamation

권장 초기화 전략: 스플레시 화면을 통한 초기화

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

초기화 시 사용자 주입

유저 정보를 포함하여 SDK를 초기화 할 수 있습니다.

  • 유저 정보를 포함하지 않으면 로컬 스토리지에 저장된 유저 정보를 사용합니다.

  • 유저 정보를 포함하는 경우 로컬 스토리지에 저장된 유저 정보는 사용하지 않습니다.

  • 사용자 주입을 하지 않고, 로컬 스토리지에 저장된 유저 정보도 없는 경우 Hackle Device ID를 device id로 가지고 유저를 사용합니다.

circle-info

유저 정보는 SDK 초기화 이후에도 유저 정보 설정 함수를 통해 자유롭게 수정 할 수 있습니다.

circle-exclamation

초기화 설정정보

설정정보를 포함하여 SDK를 초기화 할 수 있습니다.

설정 옵션

설정
기능
기본값
지원 버전

exposureEventDedupIntervalMillis*

동일한 사용자가 연속으로 발생시킨 동일한 A/B 테스트, 기능플래그 분배결과에 대한 노출 이벤트를 제거합니다.

  • 최솟값: 1000 (1초)

  • 최댓값: 86400000(24시간)

60000 (1분)

2.7.0+

eventFlushIntervalMillis

수집된 이벤트를 서버로 전송하는 주기입니다.

  • 최솟값: 1000 (1초)

  • 최댓값: 60000 (1분)

10000 (10초)

2.10.0+

pollingIntervalMillis

대시보드에서 설정한 정보를 주기적으로 업데이트 할 수 있습니다.

  • 최솟값 : 60000 (60초)

-1 (주기적으로 업데이트하지 않음)

2.19.0+

automaticScreenTracking

화면 자동 추적 활성화 여부

true

2.39.0+

automaticAppLifecycleTracking

앱 시작 / 종료 자동 추적 활성화 여부

true

2.64.0+

sessionPolicy

세션 유지 조건과 만료 조건을 설정합니다.

ALWAYS_NEW_SESSION ,

1800000

2.65.0+

optOutTracking

옵트아웃 활성화 여부.

false

2.65.0+

sessionTimeoutMillis (deprecated)

세션만료 시간을 설정합니다. sessionPolicy를 사용해 주세요.

1800000 (30분)

2.13.0+

* 2.47.0 이후부터 앱 종료 후 재시작 시에도 지원합니다. * 2.47.0 미만버전의 경우 최댓값은 : 3600000 (1시간) 입니다.

세션 정책 설정

세션 정책을 설정하여 세션의 유지 조건과 만료 조건을 제어할 수 있습니다.

인스턴스 가져오기

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

대시보드 설정 정보 갱신

초기화 이후 대시 보드 설정 정보 갱신이 필요한 경우 명시적으로 갱신 할 수 있습니다.

circle-exclamation

마지막 업데이트