iOS

circle-info

Hackle iOS SDK 는 iOS 13 이상을 지원합니다.

  • Hackle iOS SDK 3.0.0 버전부터 최소 지원 버전을 iOS 13으로 변경하였습니다.

  • Hackle iOS SDK 2.x 버전의 최소 지원 버전은 iOS 10 입니다.

의존성 추가

Hackle iOS SDK는 Swift Package Manager와 CocoaPods를 지원합니다.

arrow-up-right arrow-up-right

// ...
dependencies: [
    .package(url: "https://github.com/hackle-io/hackle-ios-sdk.git", from: "3.2.1")
],
targets: [
    .target(
        name: "YOUR_TARGET",
        dependencies: ["Hackle"]
    )
],
// ...

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를 초기화 할 수 있습니다

설정 옵션

설정
기능
기본값
지원 버전

exposureEventDedupIntervalSeconds

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

  • 최솟값: 1

  • 최댓값: 86400(24시간)

60 (1분)

2.7.0+

eventFlushInterval

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

  • 최솟값: 1

  • 최댓값: 60 (1분)

10

2.10.0+

pollingIntervalSeconds

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

  • 최솟값 : 60 (1분)

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

2.18.0+

automaticScreenTracking

화면 자동 추적 활성화 여부

true

2.34.0+

automaticAppLifecycleTracking

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

true

2.59.0+

sessionPolicy

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

ALWAYS_NEW_SESSION ,

1800000

3.1.0+

optOutTracking

옵트아웃 활성화 여부.

false

3.1.0+

sessionTimeoutIntervalSeconds (deprecated)

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

1800 (30분)

2.13.0+

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

세션 정책 설정

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

인스턴스 가져오기

초기화 이후 아래 코드를 통해 HackleApp 인스턴스를 가져올 수 있습니다. 초기화 이전에 호출하면 nil을 리턴합니다. 초기화 이후 호출해야 합니다.

대시보드 설정 정보 갱신

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

circle-exclamation

마지막 업데이트