SDK 연동

의존성 추가

SDK 의존성을 추가합니다.

go get github.com/hackle-io/hackle-go-sdk


SDK 초기화

❗️

hackle.Client는 반드시 싱글톤이어야 합니다.

HackleClient는 네트워크 호출 없이 바로 테스트 그룹을 분배하기 위해 내부적으로 상태를 관리합니다.
이를 위해 추가적인 리소스를 사용합니다.

모든 요청에 대해 새로운 클라이언트를 인스턴스화 하지 않고 어플리케이션 생명주기 동안 싱글 인스턴스로 관리되어야 합니다.

hackle.Client는 SDK 기능을 사용하기 위한 메소드들을 제공하는 클래스입니다.

SDK 를 사용하기 위해서는 hackle.Clinet 초기화가 필요합니다.

인스턴스화

SDK 키를 전달하여 hackle.Client를 인스턴스화 합니다.
hackle.Client는 필요한 정보들을 얻기 위해 백그라운드 작업으로 핵클 서버와 주기적으로 동기화합니다.

  • SDK 키는 핵클 서비스의 대시보드 안에 위치한 SDK 연동 정보에서 확인하실 수 있습니다.
import "github.com/hackle-io/hackle-go-sdk/hackle"

// YOUR_SERVER_SDK_KEY 자리에 SDK 키를 넣습니다.
hackleClient := hackle.NewClient(YOUR_SERVER_SDK_KEY, nil)


종료

어플리케이션이 종료될 때 close() 메소드를 호출해야 합니다.
이 과정을 통해 사용 중인 리소스를 반납하고 남아있는 이벤트를 전송합니다.

❗️

close() 호출 없이 어플리케이션이 종료되면 이벤트가 누락될 수 있습니다.

import "github.com/hackle-io/hackle-go-sdk/hackle"

hackleClient.Close()