For the complete documentation index, see llms.txt. This page is also available as Markdown.
클라이언트 사용자 식별자
클라이언트에서는 두 가지 방법을 통해 사용자 식별자를 사용할 수 있습니다.
SDK 내부적으로 관리하는 디바이스 식별자 사용
사용자 지정 식별자 사용
SDK 내부적으로 관리하는 디바이스 식별자 사용
클라이언트 측 SDK에 한해 사용 가능합니다.
클라이언트 측 SDK는 디바이스의 식별자를 관리하는 기능을 포함하고 있습니다.
따라서 사용자 식별자를 별도로 전달하지 않아도 사용자를 자동으로 식별할 수 있습니다.
JavaScript, Android, iOS의 경우 SDK가 관리하는 디바이스 식별자를 얻을 수 있으니 아래 예제 코드를 참고하시기 바랍니다.
// 테스트 그룹 분배constexperimentKey=42constvariation=hackleClient.variation(experimentKey)// 사용자 이벤트 전송hackleClient.track("purchase")// 내부적으로 관리되는 디바이스 식별자 가져오기constuserId=Hackle.getUserId()
// 테스트 그룹 분배intexperimentKey=42;Variationvariation=hackleApp.variation(experimentKey);// 사용자 이벤트 전송hackleApp.track("purchase");// 내부적으로 관리되는 디바이스 식별자 가져오기StringdeviceId=hackleApp.getDeviceId();
사용자 지정 식별자 사용
SDK는 파라미터를 통해 받은 식별자를 통해 사용자를 식별합니다.
전달하는 식별자는 직접 관리하는 Primary Key, 디바이스 식별자, 회원 아이디, 이메일, 해시값 등이 될 수 있습니다.
사용자 지정 식별자 만들기 예시
로그인 사용자만을 대상으로 데이터가 필요한 경우에는 로그인 시 사용하는 회원 아이디나 이메일 주소 등을 식별자로 사용할 수 있습니다.
그러나 비로그인 사용자를 포함할 경우에는 앱, 기기 혹은 브라우저를 기반으로 구분할 수 있는 값을 활용하는 것을 권장하고 있습니다.
(모바일 앱의 경우에는 UUID 혹은 ADID 값을, PC/Mobile 웹의 경우에는 쿠키 값)
// 테스트 그룹 분배
let variation = hackleApp.variation(experimentKey: 42)
// 사용자 이벤트 전송
hackleApp.track(eventKey: "purchase")
// 내부적으로 관리되는 디바이스 식별자 가져오기
let deviceId = hackleApp.deviceId
// 테스트 그룹 분배
const experimentKey = 42;
const user = { userId: "ae2182e0" };
const variation = hackleClient.variation(experimentKey, user);
// 사용자 이벤트 전송
hackleClient.track("purchase", user);
// 테스트 그룹 분배
long experimentKey = 42L;
String userId = "ae2182e0";
Variation variation = hackleApp.variation(experimentKey, userId);
// 사용자 이벤트 전송
hackleApp.track("purchase", userId);
// 테스트 그룹 분배
let variation = hackleApp.variation(experimentKey: 42, userId: "ae2182e0")
// 사용자 이벤트 전송
hackleApp.track(eventKey: "purchase", userId: "ae2182e0")
import Cookies from "js-cookie"
import uuid4 from "uuid4"
function getUserId() {
const key = "PCID" // 원하는 이름을 입력
const id = Cookies.get(key)
if (id) {
return id
} else {
const id = uuid4()
const [top, second] = window.location.hostname.split(".").reverse()
const domain = `.${second}.${top}`
Cookies.set(key, id, { expires: 99999, domain: domain, path: "/" })
return id
}
}