이벤트
이 문서는 Adbrix SDK를 사용하여 사용자의 동작을 분석하기 위해 수행해야 할 작업에 대해 설명합니다. 이를 사용하기 위해서는 SDK 연동이 선행되어야 합니다.
유의사항
커스텀 이벤트 이름 설정 시 유의 사항
문자 타입(string) 이어야 하며, 최소 2자 이상 최대 32자까지 입력할 수 있습니다.
영문 소문자와 숫자,
-
그리고_
만 사용 가능합니다.
이벤트 속성 설정 시 유의 사항
최대 100개까지만 처리 가능
한 번에 100개 이상의 속성을 설정하면 적용되지 않습니다.
Key 값 제한
문자 타입(string) 이어야 하며, 최소 2자 이상 최대 32자까지 입력할 수 있습니다.
영문 소문자와 숫자 그리고
_
만 사용 가능합니다.
Value 값 제한
최대 1024바이트까지 입력할 수 있습니다.
값으로
null
을 사용할 수 없습니다.가능한 타입: number, boolean, string.
표준 이벤트 속성 타입 제한
정해진 타입만 사용할 수 있으며, 임의 변경은 불가능합니다.
검증 실패 시 적용 불가
조건을 충족하지 않은 속성은 이벤트에 자동으로 제외됩니다.
이벤트 기록
LogEvent
메소드를 사용하여 사용자의 이벤트를 기록합니다. 표준 이벤트는 상수를 제공합니다.
static logEvent(params: {
eventName: string;
properties?: Record<string, any> | null;
}): void;
각각의 매개변수는 다음을 의미합니다.
eventName
: 이벤트 이름properties
: 이벤트 속성
빌더 패턴 사용법
properties
와 상품 정보 생성을 위해 편리한 빌더 패턴을 제공합니다. 자세한 사용법은 빌더 패턴 사용법을 참고하세요.
이벤트 기록 예시
// 속성이 없을 경우
Adbrix.logEvent({ eventName: ABEvent.LOGIN });
// 속성이 있을 경우
const properties = ABProperty
.signChannel(ABSignUpChannel.KAKAO)
.build();
Adbrix.logEvent({
eventName: ABEvent.SIGN_UP,
properties: properties
});
표준 이벤트 및 속성
표준 이벤트와 표준 이벤트 속성, 상품 속성은 아래와 같습니다.
표준 이벤트
표준 이벤트 이름은 다음과 같이 사전 정의된 정적 상수로 제공됩니다.
ABEvent.LOGIN
"abx:login"
로그인
ABEvent.LOGOUT
"abx:logout"
로그아웃
ABEvent.SIGN_UP
"abx:sign_up"
회원가입
ABEvent.USE_CREDIT
"abx:use_credit"
크레딧 사용
ABEvent.APP_UPDATE
"abx:app_update"
앱 업데이트
ABEvent.INVITE
"abx:invite"
사용자 초대
ABEvent.PURCHASE
"abx:purchase"
구매
ABEvent.LEVEL_ACHIEVED
"abx:level_achieved"
레벨 달성
ABEvent.TUTORIAL_COMPLETED
"abx:tutorial_completed"
튜토리얼 완료
ABEvent.CHARACTER_CREATED
"abx:character_created"
캐릭터 생성
ABEvent.STAGE_CLEARED
"abx:stage_cleared"
스테이지 완료
ABEvent.REFUND
"abx:refund"
주문 취소하기(환불하기)
ABEvent.ADD_TO_CART
"abx:add_to_cart"
장바구니 담기
ABEvent.ADD_TO_WISHLIST
"abx:add_to_wishlist"
관심 상품(위시리스트) 추가
ABEvent.PRODUCT_VIEW
"abx:product_view"
상품 상세 보기
ABEvent.CATEGORY_VIEW
"abx:category_view"
카테고리(기획전) 진입
ABEvent.REVIEW_ORDER
"abx:review_order"
주문 확인하기
ABEvent.SEARCH
"abx:search"
상품 검색하기
ABEvent.SHARE
"abx:share"
상품 공유하기
ABEvent.VIEW_HOME
"abx:view_home"
홈(메인) 화면 진입
ABEvent.LIST_VIEW
"abx:list_view"
상품 목록 조회하기
ABEvent.CART_VIEW
"abx:cart_view"
장바구니 조회하기
ABEvent.PAYMENT_INFO_ADDED
"abx:paymentinfo_added"
결제 정보 입력하기
표준 이벤트 속성
표준 이벤트의 속성 명의 경우 다음과 같이 이벤트 속성 명이 사전 정의된 정적 상수로 제공됩니다.
ABEventProperty.IS_SKIP
"abx:is_skip"
boolean
튜토리얼 skip 여부
ABEventProperty.LEVEL
"abx:level"
number
레벨
ABEventProperty.STAGE
"abx:stage"
string
스테이지 명
ABEventProperty.PREV_VER
"abx:prev_ver"
string
이전 앱 버전
ABEventProperty.CURR_VER
"abx:curr_ver"
string
현재 앱 버전
ABEventProperty.KEYWORD
"abx:keyword"
string
검색 키워드
ABEventProperty.SHARING_CHANNEL
"abx:sharing_channel"
ABSharingChannel
상품 공유 채널
ABEventProperty.SIGN_CHANNEL
"abx:sign_channel"
ABSignUpChannel
회원가입 채널
ABEventProperty.INVITE_CHANNEL
"abx:invite_channel"
ABInviteChannel
사용자 초대 채널
ABEventProperty.ORDER_ID
"abx:order_id"
string
주문 ID
ABEventProperty.DELIVERY_CHARGE
"abx:delivery_charge"
number
배송료 설정
ABEventProperty.PENALTY_CHARGE
"abx:penalty_charge"
number
페널티 가격
ABEventProperty.PAYMENT_METHOD
"abx:payment_method"
ABPaymentMethod
결제 방법
ABEventProperty.ORDER_SALES
"abx:order_sales"
number
주문가(총액)
ABEventProperty.DISCOUNT
"abx:discount"
number
할인 가격
ABEventProperty.CATEGORY1
"abx:category1"
string
카테고리1
ABEventProperty.CATEGORY2
"abx:category2"
string
카테고리2
ABEventProperty.CATEGORY3
"abx:category3"
string
카테고리3
ABEventProperty.CATEGORY4
"abx:category4"
string
카테고리4
ABEventProperty.CATEGORY5
"abx:category5"
string
카테고리5
ABEventProperty.ITEMS
"abx:items"
Array
상품
상품 속성
ABEventProperty.ITEMS 내에 배열로 적재되는 상품에 대한 표준 이벤트 속성에 대한 정보입니다.
ABEventProperty.ITEM_PRODUCT_ID
"abx:product_id"
string
상품 번호(ID)
✅
ABEventProperty.ITEM_PRODUCT_NAME
"abx:product_name"
string
상품 명
✅
ABEventProperty.ITEM_PRICE
"abx:price"
number
상품 단가
✅
ABEventProperty.ITEM_QUANTITY
"abx:quantity"
number
상품 수량
✅
ABEventProperty.ITEM_DISCOUNT
"abx:discount"
number
상품 할인가
✅
ABEventProperty.ITEM_CURRENCY
"abx:currency"
ABCurrency
화폐 단위
ABEventProperty.ITEM_CATEGORY1
"abx:category1"
string
상품 카테고리1
ABEventProperty.ITEM_CATEGORY2
"abx:category2"
string
상품 카테고리2
ABEventProperty.ITEM_CATEGORY3
"abx:category3"
string
상품 카테고리3
ABEventProperty.ITEM_CATEGORY4
"abx:category4"
string
상품 카테고리4
ABEventProperty.ITEM_CATEGORY5
"abx:category5"
string
상품 카테고리5
표준 유저 분석 이벤트 사용 예시
로그인
사용자가 서비스에 회원으로 가입하는 동작을 나타내는 이벤트입니다.
Adbrix.logEvent({ eventName: ABEvent.LOGIN });
로그아웃
사용자가 앱에서 로그아웃하는 동작을 나타내는 이벤트입니다.
Adbrix.logEvent({ eventName: ABEvent.LOGOUT });
표준 공통 이벤트 사용 예시
회원가입
사용자가 회원으로 가입하는 동작을 나타내는 이벤트입니다.
const properties = ABProperty
.signChannel(ABSignUpChannel.KAKAO)
.build();
Adbrix.logEvent({
eventName: ABEvent.SIGN_UP,
properties: properties
});
표준 이벤트 속성
ABEventProperty.SIGN_CHANNEL
string
회원가입 채널
✅
앱 업데이트
앱에서 발생한 앱 업데이트 이벤트입니다.
const properties = ABProperty
.prevVer('1.0.0')
.currVer('1.0.1')
.build();
Adbrix.logEvent({
eventName: ABEvent.APP_UPDATE,
properties: properties
});
표준 이벤트 속성
ABEventProperty.PREV_VER
string
이전 앱 버전
✅
ABEventProperty.CURR_VER
string
현재 앱 버전
✅
사용자 초대
앱에서 발생한 앱 초대 이벤트입니다.
const properties = ABProperty
.inviteChannel(ABInviteChannel.KAKAO)
.build();
Adbrix.logEvent({
eventName: ABEvent.INVITE,
properties: properties
});
표준 이벤트 속성
ABEventProperty.INVITE_CHANNEL
string
초대 채널
✅
크레딧 사용
앱에서 발생한 현금성 화폐 사용 이벤트입니다.
Adbrix.logEvent({ eventName: ABEvent.USE_CREDIT });
구매
사용자가 상품이나 서비스를 구매하는 동작을 나타내는 이벤트입니다.
const item = ABItem()
.productId('상품번호')
.productName('상품이름')
.category1('식품')
.category2('과자')
.price(1500.0)
.discount(0.0)
.quantity(1)
.currency(ABCurrency.KRW)
.build();
const properties = ABProperty
.items([item])
.orderId('상품번호')
.paymentMethod(ABPaymentMethod.BANK_TRANSFER)
.orderSales(25500.0)
.deliveryCharge(3000.0)
.build();
Adbrix.logEvent({ eventName: ABEvent.PURCHASE, properties: properties });
표준 이벤트 속성
ABEventProperty.ORDER_ID
string
주문 번호(ID)
✅
ABEventProperty.ORDER_SALES
number
주문가(총액)
✅
ABEventProperty.PAYMENT_METHOD
string
결제 방법
✅
ABEventProperty.DELIVERY_CHARGE
number
배송료
✅
ABEventProperty.DISCOUNT
number
상품할인가
✅
표준 커머스 이벤트 사용 예시
홈 화면 진입
사용자가 앱의 홈 화면을 진입하는 동작을 나타내는 이벤트입니다.
Adbrix.logEvent({ eventName: ABEvent.VIEW_HOME });
카테고리 진입
사용자가 카테고리(기획전) 화면으로 진입한 이벤트입니다.
const item = ABItem()
.productId('상품번호')
.productName('상품이름')
.category1('식품')
.category2('과자')
.price(1500.0)
.discount(0.0)
.quantity(1)
.currency(ABCurrency.KRW)
.build();
const properties = ABProperty
.items([item])
.category1('식품')
.category2('과자')
.build();
Adbrix.logEvent({
eventName: ABEvent.CATEGORY_VIEW,
properties: properties
});
표준 이벤트 속성
ABEventProperty.CATEGORY1
string
상품 카테고리
✅
ABEventProperty.CATEGORY2
string
상품 카테고리
ABEventProperty.CATEGORY3
string
상품 카테고리
ABEventProperty.CATEGORY4
string
상품 카테고리
ABEventProperty.CATEGORY5
string
상품 카테고리
상품 상세 보기
사용자가 특정 상품의 상세 정보를 조회하는 동작을 나타내는 이벤트입니다.
const item = ABItem()
.productId('상품번호')
.productName('상품이름')
.category1('식품')
.category2('과자')
.price(1500.0)
.discount(0.0)
.quantity(1)
.currency(ABCurrency.KRW)
.build();
const properties = ABProperty
.items([item])
.build();
Adbrix.logEvent({
eventName: ABEvent.PRODUCT_VIEW,
properties: properties
});
표준 이벤트 속성
장바구니 담기
사용자가 상품을 장바구니에 담는 동작을 나타내는 이벤트입니다.
const item = ABItem()
.productId('상품번호')
.productName('상품이름')
.category1('식품')
.category2('과자')
.price(1500.0)
.discount(0.0)
.quantity(1)
.currency(ABCurrency.KRW)
.build();
const properties = ABProperty
.items([item])
.build();
Adbrix.logEvent({
eventName: ABEvent.ADD_TO_CART,
properties: properties
});
표준 이벤트 속성
관심 상품 추가
사용자가 상품을 관심 목록에 추가하는 동작을 나타내는 이벤트입니다.
const item = ABItem()
.productId('상품번호')
.productName('상품이름')
.category1('식품')
.category2('과자')
.price(1500.0)
.discount(0.0)
.quantity(1)
.currency(ABCurrency.KRW)
.build();
const properties = ABProperty
.items([item])
.build();
Adbrix.logEvent({
eventName: ABEvent.ADD_TO_WISHLIST,
properties: properties
});
표준 이벤트 속성
주문 확인하기
사용자가 상품을 결제하기 전 최종 확인하는 이벤트입니다.
const item = ABItem()
.productId('상품번호')
.productName('상품이름')
.category1('식품')
.category2('과자')
.price(1500.0)
.discount(0.0)
.quantity(1)
.currency(ABCurrency.KRW)
.build();
const properties = ABProperty
.items([item])
.orderId('주문번호')
.deliveryCharge(3000.0)
.discount(0.0)
.build();
Adbrix.logEvent({
eventName: ABEvent.REVIEW_ORDER,
properties: properties
});
표준 이벤트 속성
ABEventProperty.ORDER_ID
string
주문 번호(ID)
✅
ABEventProperty.DELIVERY_CHARGE
number
배송료
✅
ABEventProperty.DISCOUNT
number
상품할인가
✅
주문 취소하기
사용자가 구매한 주문을 취소하고 환불하는 동작을 나타내는 이벤트입니다.
const item = ABItem()
.productId('상품번호')
.productName('상품이름')
.category1('식품')
.category2('과자')
.price(1500.0)
.discount(0.0)
.quantity(1)
.currency(ABCurrency.KRW)
.build();
const properties = ABProperty
.items([item])
.orderId('주문번호')
.penaltyCharge(0.0)
.build();
Adbrix.logEvent({
eventName: ABEvent.REFUND,
properties: properties
});
표준 이벤트 속성
ABEventProperty.ORDER_ID
string
주문 번호(ID)
✅
ABEventProperty.PENALTY_CHARGE
number
페널티 가격
✅
상품 검색하기
사용자가 상품을 검색하여 결과를 확인하는 동작을 나타내는 이벤트입니다.
const item = ABItem()
.productId('상품번호')
.productName('상품이름')
.category1('식품')
.category2('과자')
.price(1500.0)
.discount(0.0)
.quantity(1)
.currency(ABCurrency.KRW)
.build();
const properties = ABProperty
.items([item])
.keyword('삼겹살')
.build();
Adbrix.logEvent({
eventName: ABEvent.SEARCH,
properties: properties
});
표준 이벤트 속성
ABEventProperty.KEYWORD
string
검색 키워드
✅
상품 공유하기
사용자가 상품을 공유하는 동작을 나타내는 이벤트입니다.
const item = ABItem()
.productId('상품번호')
.productName('상품이름')
.category1('식품')
.category2('과자')
.price(1500.0)
.discount(0.0)
.quantity(1)
.currency(ABCurrency.KRW)
.build();
const properties = ABProperty
.items([item])
.sharingChannel(ABSharingChannel.FACEBOOK)
.build();
Adbrix.logEvent({
eventName: ABEvent.SHARE,
properties: properties
});
표준 이벤트 속성
ABEventProperty.SHARING_CHANNEL
string
상품 공유 채널
✅
상품 목록 조회
사용자가 상품 목록을 조회하는 동작을 나타내는 이벤트입니다.
const item = ABItem()
.productId('상품번호')
.productName('상품이름')
.category1('식품')
.category2('과자')
.price(1500.0)
.discount(0.0)
.quantity(1)
.currency(ABCurrency.KRW)
.build();
const properties = ABProperty
.items([item])
.build();
Adbrix.logEvent({
eventName: ABEvent.LIST_VIEW,
properties: properties
});
표준 이벤트 속성
장바구니 조회
사용자가 장바구니를 조회하는 동작을 나타내는 이벤트입니다.
const item = ABItem()
.productId('상품번호')
.productName('상품이름')
.category1('식품')
.category2('과자')
.price(1500.0)
.discount(0.0)
.quantity(1)
.currency(ABCurrency.KRW)
.build();
const properties = ABProperty
.items([item])
.build();
Adbrix.logEvent({
eventName: ABEvent.CART_VIEW,
properties: properties
});
표준 이벤트 속성
결제 정보 입력하기
사용자가 결제 정보를 입력한 이벤트입니다.
Adbrix.logEvent({ eventName: ABEvent.PAYMENT_INFO_ADDED });
표준 게임 이벤트 사용 예시
튜토리얼 완료
앱에서 발생한 튜토리얼 완료 이벤트입니다.
const properties = ABProperty
.isSkip(true)
.build();
Adbrix.logEvent({
eventName: ABEvent.TUTORIAL_COMPLETED,
properties: properties
});
표준 이벤트 속성
ABEventProperty.IS_SKIP
bool
튜토리얼 skip 여부
✅
캐릭터 생성
앱에서 발생한 캐릭터 생성 이벤트입니다.
Adbrix.logEvent({ eventName: ABEvent.CHARACTER_CREATED });
스테이지 완료
앱에서 발생한 스테이지 완료 이벤트입니다.
const properties = ABProperty
.stage('1-1')
.build();
Adbrix.logEvent({
eventName: ABEvent.STAGE_CLEARED,
properties: properties
});
표준 이벤트 속성
ABEventProperty.STAGE
string
스테이지 이름
✅
레벨 달성
앱에서 발생한 레벨 달성 이벤트입니다.
const properties = ABProperty
.level(100)
.build();
Adbrix.logEvent({
eventName: ABEvent.LEVEL_ACHIEVED,
properties: properties
});
표준 이벤트 속성
ABEventProperty.LEVEL
number
사용자 레벨
✅
커스텀 이벤트
사용자가 직접 임의의 이벤트 명칭과 속성을 입력하여 반영하는 이벤트입니다. 표준 이벤트에도 디파이너리 콘솔에서 커스텀 속성을 추가하여 사용할 수 있습니다.
커스텀 속성을 설정하기 위한 다음과 같은 메소드를 제공합니다.
customString(key, value)
customLong(key, value)
customDouble(key, value)
customBool(key, value)
속성이 없을 경우
Adbrix.logEvent({ eventName: 'CUSTOM_EVENT_NAME' });
속성이 있을 경우
const properties = ABProperty
.customBool('is_logined', true)
.customString('username', 'hello')
.customLong('visit_count', 1000)
.build();
Adbrix.logEvent({
eventName: 'custom_event_1',
properties: properties
});
빌더 패턴 사용법
해당 라이브러리는 이벤트 속성과 상품 정보를 편리하게 설정할 수 있도록 빌더 패턴을 제공합니다.
ABProperty (속성 빌더)
이벤트의 속성 정보를 설정하는 빌더입니다.
const properties = ABProperty
.items([item])
.category1('식품')
.category2('과자')
.orderId('ORDER123')
.paymentMethod(ABPaymentMethod.CARD)
.build();
ABItem (상품 빌더)
상품 정보를 설정하는 빌더입니다.
const item = ABItem()
.productId('상품번호')
.productName('상품이름')
.category1('식품')
.category2('과자')
.price(5000.0)
.discount(0.0)
.quantity(1)
.currency(ABCurrency.KRW)
.build();
사용 예시
// 1. 상품 정보 생성
const item = ABItem()
.productId('상품번호')
.productName('상품이름')
.category1('식품')
.category2('과자')
.price(5000.0)
.discount(0.0)
.quantity(1)
.currency(ABCurrency.KRW)
.build();
// 2. 이벤트 속성 생성
const properties = ABProperty
.items([item])
.category1('식품')
.category2('과자')
.build();
// 3. 이벤트 로깅
Adbrix.logEvent({
eventName: ABEvent.CATEGORY_VIEW,
properties: properties
});
커스텀 속성 추가 예시
// 상품에 커스텀 속성 추가
const item = ABItem()
.productId('PROD001')
.productName('맛있는 과자')
.customString('brand', '좋은브랜드')
.customBool('is_new', true)
.build();
// 이벤트 속성에 커스텀 속성 추가
const properties = ABProperty
.items([item])
.customString('promotion_code', 'SUMMER2024')
.customLong('user_level', 15)
.build();
Last updated