Flutter

circle-info

Hackle Flutter SDK는 Flutter SDK 2.0.0 이상을 지원합니다.

Flutter SDK는 Android SDK, iOS SDK 를 기반으로 작동합니다. 아래 OS를 지원합니다.

  • Android API 16 (4.1 Jelly Bean) 이상

  • iOS 13 이상

circle-info

Hackle Flutter SDK 2.29.0 버전부터 iOS 최소 지원 버전이 iOS 13으로 상향되였습니다.

Hackle Flutter SDK 2.29.0 미만 버전의 최소 지원 버전은 iOS 10 입니다.

SDK 의존성 추가

arrow-up-right

SDK 의존성을 추가합니다.

flutter pub add hackle
circle-exclamation

SDK 초기화

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

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

  • SDK 키는 핵클 서비스의 대시보드 안에 위치한 SDK 연동 정보arrow-up-right에서 확인하실 수 있습니다.

초기화 시 핵클 서버로부터 필요한 정보들을 가져와서 SDK에 저장합니다.

초기화는 비동기로 실행되며, await으로 초기화 완료 전까지 대기할 수 있습니다.

circle-exclamation

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

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

초기화 시 사용자 주입

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

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

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

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

circle-info

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

circle-exclamation

초기화 설정정보

SDK 초기화 시 몇 가지 설정을 추가할 수 있습니다.

설정
기능
기본값
지원 버전

exposureEventDedupIntervalMillis

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

  • 최솟값: 1000 (1초)

  • 최댓값: 3600000 (1시간)

-1 (중복제거 하지 않음)

모든 버전

debug

모든 기능에 대한 로그를 콘솔에 출력하고, 이벤트를 즉시 전송합니다.

false

2.1.0+

pollingIntervalMillis

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

  • 최솟값 : 60000 (60초)

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

2.3.0+

automaticScreenTracking

Android / iOS 단에서 발생하는 Activity / ViewController의 변경을 감지해서 화면 변화를 추적합니다.

true

2.21.0+

sessionPolicy

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

ALWAYS_NEW_SESSION ,

1800000

2.30.0+

optOutTracking

옵트아웃 활성화 여부.

false

2.30.0+

sessionTimeoutMillis (deprecated)

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

1800000 (30분)

2.9.0+

세션 정책 설정

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

대시보드 설정 정보 갱신

대시보드 설정 정보를 명시적으로 갱신 할 수 있습니다.

circle-exclamation

마지막 업데이트