이벤트
이 문서는 Adbrix SDK를 사용하여 사용자의 동작을 분석하기 위해 수행해야 할 작업에 대해 설명합니다. 이를 사용하기 위해서는 SDK 연동이 선행되어야 합니다.
유의사항
커스텀 이벤트 이름 설정 시 유의 사항
문자 타입(String) 이어야 하며, 최소 2자 이상 최대 32자까지 입력할 수 있습니다.
영문 소문자와 숫자,
-
그리고_
만 사용 가능합니다.
이벤트 속성 설정 시 유의 사항
최대 100개까지만 처리 가능
한 번에 100개 이상의 속성을 설정하면 적용되지 않습니다.
Key 값 제한
문자 타입(String) 이어야 하며, 최소 2자 이상 최대 32자까지 입력할 수 있습니다.
영문 소문자와 숫자 그리고
_
만 사용 가능합니다.
Value 값 제한
최대 1024바이트까지 입력할 수 있습니다.
값으로
null
을 사용할 수 없습니다.가능한 타입: int, double, bool, String.
표준 이벤트 속성 타입 제한
정해진 타입만 사용할 수 있으며, 임의 변경은 불가능합니다.
검증 실패 시 적용 불가
조건을 충족하지 않은 속성은 이벤트에 자동으로 제외됩니다.
이벤트 기록
LogEvent
메소드를 사용하여 사용자의 이벤트를 기록합니다. 표준 이벤트는 상수를 제공합니다.
void logEvent({required String eventName, Map<String, dynamic>? properties})
각각의 매개변수는 다음을 의미합니다.
eventName
: 이벤트 이름properties
: 이벤트 속성
이벤트 기록 예시
// 속성이 없을 경우
Adbrix.logEvent(eventName: ABEvent.signUp);
// 속성이 있을 경우
Map<String, dynamic> param = {
{ABEventProperty.signChannel, ABSignUpChannel.kakao}
};
Adbrix.logEvent(eventName: ABEvent.signUp, properties: param);
표준 이벤트 및 속성
표준 이벤트와 표준 이벤트 속성, 상품 속성은 아래와 같습니다.
표준 이벤트
표준 이벤트 이름은 다음과 같이 사전 정의된 정적 상수로 제공됩니다.
ABEvent.login
"abx:login"
로그인
ABEvent.logout
"abx:logout"
로그아웃
ABEvent.signUp
"abx:sign_up"
회원가입
ABEvent.useCredit
"abx:use_credit"
크레딧 사용
ABEvent.appUpdate
"abx:app_update"
앱 업데이트
ABEvent.invite
"abx:invite"
사용자 초대
ABEvent.purchase
"abx:purchase"
구매
ABEvent.levelAchieved
"abx:level_achieved"
레벨 달성
ABEvent.tutorialCompleted
"abx:tutorial_completed"
튜토리얼 완료
ABEvent.characterCreated
"abx:character_created"
캐릭터 생성
ABEvent.stageCleared
"abx:stage_cleared"
스테이지 완료
ABEvent.refund
"abx:refund"
주문 취소하기(환불하기)
ABEvent.addToCart
"abx:add_to_cart"
장바구니 담기
ABEvent.addToWishlist
"abx:add_to_wishlist"
관심 상품(위시리스트) 추가
ABEvent.productView
"abx:product_view"
상품 상세 보기
ABEvent.categoryView
"abx:category_view"
카테고리(기획전) 진입
ABEvent.reviewOrder
"abx:review_order"
주문 확인하기
ABEvent.search
"abx:search"
상품 검색하기
ABEvent.share
"abx:share"
상품 공유하기
ABEvent.viewHome
"abx:view_home"
홈(메인) 화면 진입
ABEvent.listView
"abx:list_view"
상품 목록 조회하기
ABEvent.cartView
"abx:cart_view"
장바구니 조회하기
ABEvent.paymentInfoAdded
"abx:paymentinfo_added"
결제 정보 입력하기
표준 이벤트 속성
표준 이벤트의 속성 명의 경우 다음과 같이 이벤트 속성 명이 사전 정의된 정적 상수로 제공됩니다.
ABEventProperty.isSkip
"abx:is_skip"
bool
튜토리얼 skip 여부
ABEventProperty.level
"abx:level"
int
레벨
ABEventProperty.stage
"abx:stage"
String
스테이지 명
ABEventProperty.prevVer
"abx:prev_ver"
String
이전 앱 버전
ABEventProperty.currVer
"abx:curr_ver"
String
현재 앱 버전
ABEventProperty.keyword
"abx:keyword"
String
검색 키워드
ABEventProperty.sharingChannel
"abx:sharing_channel"
ABSharingChannel
상품 공유 채널
ABEventProperty.signChannel
"abx:sign_channel"
ABSignUpChannel
회원가입 채널
ABEventProperty.inviteChannel
"abx:invite_channel"
ABInviteChannel
사용자 초대 채널
ABEventProperty.orderId
"abx:order_id"
String
주문 ID
ABEventProperty.deliveryCharge
"abx:delivery_charge"
double
배송료 설정
ABEventProperty.penaltyCharge
"abx:penalty_charge"
double
페널티 가격
ABEventProperty.paymentMethod
"abx:payment_method"
ABPaymentMethod
결제 방법
ABEventProperty.orderSales
"abx:order_sales"
double
주문가(총액)
ABEventProperty.discount
"abx:discount"
double
할인 가격
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"
List<Map<String, dynamic>>
상품
상품 속성
ABEventProperty.items 내에 배열로 적재되는 상품에 대한 표준 이벤트 속성에 대한 정보입니다.
ABEventProperty.itemProductId
"abx:product_id"
String
상품 번호(ID)
✅
ABEventProperty.itemProductName
"abx:product_name"
String
상품 명
✅
ABEventProperty.itemPrice
"abx:price"
double
상품 단가
✅
ABEventProperty.itemQuantity
"abx:quantity"
int
상품 수량
✅
ABEventProperty.itemDiscount
"abx:discount"
double
상품 할인가
✅
ABEventProperty.itemCurrency
"abx:currency"
ABCurrency
화폐 단위
ABEventProperty.itemCategory1
"abx:category1"
String
상품 카테고리1
ABEventProperty.itemCategory2
"abx:category2"
String
상품 카테고리2
ABEventProperty.itemCategory3
"abx:category3"
String
상품 카테고리3
ABEventProperty.itemCategory4
"abx:category4"
String
상품 카테고리4
ABEventProperty.itemCategory5
"abx:category5"
String
상품 카테고리5
표준 유저 분석 이벤트 사용 예시
로그인
사용자가 서비스에 회원으로 가입하는 동작을 나타내는 이벤트입니다.
Adbrix.logEvent(eventName: ABEvent.login);
로그아웃
사용자가 앱에서 로그아웃하는 동작을 나타내는 이벤트입니다.
Adbrix.logEvent(eventName: ABEvent.logout);
표준 공통 이벤트 사용 예시
회원가입
사용자가 회원으로 가입하는 동작을 나타내는 이벤트입니다.
Map<String, dynamic> properties = {
{ABEventProperty.signChannel, ABSignUpChannel.kakao}
};
Adbrix.logEvent(eventName: ABEvent.signUp, properties: properties);
표준 이벤트 속성
ABEventProperty.signChannel
ABSignUpChannel
회원가입 채널
✅
앱 업데이트
앱에서 발생한 앱 업데이트 이벤트입니다.
Map<String, dynamic> properties = {
{ABEventProperty.prevVer, "1.0.0"},
{ABEventProperty.currVer, "1.0.1"}
};
Adbrix.logEvent(eventName: ABEvent.appUpdate, properties: properties);
표준 이벤트 속성
ABEventProperty.prevVer
String
이전 앱 버전
✅
ABEventProperty.currVer
String
현재 앱 버전
✅
사용자 초대
앱에서 발생한 앱 초대 이벤트입니다.
Map<String, dynamic> properties = {
{ABEventProperty.inviteChannel, ABInviteChannel.kakao}
};
Adbrix.logEvent(eventName: ABEvent.invite, properties: properties);
표준 이벤트 속성
ABEventProperty.inviteChannel
ABInviteChannel
초대 채널
✅
크레딧 사용
앱에서 발생한 현금성 화폐 사용 이벤트입니다.
Adbrix.logEvent(eventName: ABEvent.useCredit);
구매
사용자가 상품이나 서비스를 구매하는 동작을 나타내는 이벤트입니다.
Map<String, dynamic> item = {
{ABEventProperty.itemProductId, "상품번호"},
{ABEventProperty.itemProductName, "상품이름"},
{ABEventProperty.itemCategory1, "식품"},
{ABEventProperty.itemCategory2, "과자"},
{ABEventProperty.itemPrice, 1500.0},
{ABEventProperty.itemDiscount, 500.0},
{ABEventProperty.itemQuantity, 5}
};
List<Map<String, dynamic>> items = [item];
Map<String, dynamic> properties = {
{ABEventProperty.items, items},
{ABEventProperty.orderId, "상품번호"},
{ABEventProperty.paymentMethod, ABPaymentMethod.creditCard},
{ABEventProperty.orderSales, 5000.0},
{ABEventProperty.deliveryCharge, 3000.0},
{ABEventProperty.discount, 0.0},
};
Adbrix.logEvent(eventName: ABEvent.purchase, properties: properties);
표준 이벤트 속성
ABEventProperty.orderId
String
주문 번호(ID)
✅
ABEventProperty.orderSales
double
주문가(총액)
✅
ABEventProperty.paymentMethod
String
결제 방법
✅
ABEventProperty.deliveryCharge
double
배송료
✅
ABEventProperty.discount
double
상품할인가
✅
표준 커머스 이벤트 사용 예시
홈 화면 진입
사용자가 앱의 홈 화면을 진입하는 동작을 나타내는 이벤트입니다.
Adbrix.logEvent(eventName: ABEvent.viewHome);
카테고리 진입
사용자가 카테고리(기획전) 화면으로 진입한 이벤트입니다.
Map<String, dynamic> item = {
{ABEventProperty.itemProductId, "상품번호"},
{ABEventProperty.itemProductName, "상품이름"},
{ABEventProperty.itemCategory1, "식품"},
{ABEventProperty.itemCategory2, "과자"},
{ABEventProperty.itemPrice, 1500.0},
{ABEventProperty.itemDiscount, 500.0},
{ABEventProperty.itemQuantity, 5}
};
List<Map<String, dynamic>> items = [item];
Map<String, dynamic> properties = {
{ABEventProperty.items, items},
{ABEventProperty.category1, "식품"}
};
Adbrix.logEvent(eventName: ABEvent.categoryView, properties: properties);
표준 이벤트 속성
ABEventProperty.category1
String
상품 카테고리
✅
ABEventProperty.category2
String
상품 카테고리
ABEventProperty.category3
String
상품 카테고리
ABEventProperty.category4
String
상품 카테고리
ABEventProperty.category5
String
상품 카테고리
상품 상세 보기
사용자가 특정 상품의 상세 정보를 조회하는 동작을 나타내는 이벤트입니다.
Map<String, dynamic> item = {
{ABEventProperty.itemProductId, "상품번호"},
{ABEventProperty.itemProductName, "상품이름"},
{ABEventProperty.itemCategory1, "식품"},
{ABEventProperty.itemCategory2, "과자"},
{ABEventProperty.itemPrice, 1500.0},
{ABEventProperty.itemDiscount, 500.0},
{ABEventProperty.itemQuantity, 5}
};
List<Map<String, dynamic>> items = [item];
Map<String, dynamic> properties = {
{ABEventProperty.items, items}
};
Adbrix.logEvent(eventName: ABEvent.productView, properties: properties);
표준 이벤트 속성
장바구니 담기
사용자가 상품을 장바구니에 담는 동작을 나타내는 이벤트입니다.
Map<String, dynamic> item = {
{ABEventProperty.itemProductId, "상품번호"},
{ABEventProperty.itemProductName, "상품이름"},
{ABEventProperty.itemCategory1, "식품"},
{ABEventProperty.itemCategory2, "과자"},
{ABEventProperty.itemPrice, 1500.0},
{ABEventProperty.itemDiscount, 500.0},
{ABEventProperty.itemQuantity, 5}
};
List<Map<String, dynamic>> items = [item];
Map<String, dynamic> properties = {
{ABEventProperty.items, items}
};
Adbrix.logEvent(eventName: ABEvent.addToCart, properties: properties);
표준 이벤트 속성
관심 상품 추가
사용자가 상품을 관심 목록에 추가하는 동작을 나타내는 이벤트입니다.
Map<String, dynamic> item = {
{ABEventProperty.itemProductId, "상품번호"},
{ABEventProperty.itemProductName, "상품이름"},
{ABEventProperty.itemCategory1, "식품"},
{ABEventProperty.itemCategory2, "과자"},
{ABEventProperty.itemPrice, 1500.0},
{ABEventProperty.itemDiscount, 500.0},
{ABEventProperty.itemQuantity, 5}
};
List<Map<String, dynamic>> items = [item];
Map<String, dynamic> properties = {
{ABEventProperty.items, items}
};
Adbrix.logEvent(eventName: ABEvent.addToWishlist, properties: properties);
표준 이벤트 속성
주문 확인하기
사용자가 상품을 결제하기 전 최종 확인하는 이벤트입니다.
Map<String, dynamic> item = {
{ABEventProperty.itemProductId, "상품번호"},
{ABEventProperty.itemProductName, "상품이름"},
{ABEventProperty.itemCategory1, "식품"},
{ABEventProperty.itemCategory2, "과자"},
{ABEventProperty.itemPrice, 1500.0},
{ABEventProperty.itemDiscount, 500.0},
{ABEventProperty.itemQuantity, 5}
};
List<Map<String, dynamic>> items = [item];
Map<String, dynamic> properties = {
{ABEventProperty.items, items},
{ABEventProperty.orderId, "주문번호"},
{ABEventProperty.discount, 0.0}
};
Adbrix.logEvent(eventName: ABEvent.reviewOrder, properties: properties);
표준 이벤트 속성
ABEventProperty.orderId
String
주문 번호(ID)
✅
ABEventProperty.discount
double
상품할인가
✅
주문 취소하기
사용자가 구매한 주문을 취소하고 환불하는 동작을 나타내는 이벤트입니다.
Map<String, dynamic> item = {
{ABEventProperty.itemProductId, "상품번호"},
{ABEventProperty.itemProductName, "상품이름"},
{ABEventProperty.itemCategory1, "식품"},
{ABEventProperty.itemCategory2, "과자"},
{ABEventProperty.itemPrice, 1500.0},
{ABEventProperty.itemDiscount, 500.0},
{ABEventProperty.itemQuantity, 5}
};
List<Map<String, dynamic>> items = [item];
Map<String, dynamic> properties = {
{ABEventProperty.items, items},
{ABEventProperty.orderId, "주문번호"},
{ABEventProperty.penaltyCharge, 0.0}
};
Adbrix.logEvent(eventName: ABEvent.refund, properties: properties);
표준 이벤트 속성
ABEventProperty.orderId
String
주문 번호(ID)
✅
ABEventProperty.penaltyCharge
double
페널티 가격
✅
상품 검색하기
사용자가 상품을 검색하여 결과를 확인하는 동작을 나타내는 이벤트입니다.
Map<String, dynamic> item = {
{ABEventProperty.itemProductId, "상품번호"},
{ABEventProperty.itemProductName, "상품이름"},
{ABEventProperty.itemCategory1, "식품"},
{ABEventProperty.itemCategory2, "과자"},
{ABEventProperty.itemPrice, 1500.0},
{ABEventProperty.itemDiscount, 500.0},
{ABEventProperty.itemQuantity, 5}
};
List<Map<String, dynamic>> items = [item];
Map<String, dynamic> properties = {
{ABEventProperty.items, items},
{ABEventProperty.keyword, "삼겹살"}
};
Adbrix.logEvent(eventName: ABEvent.search, properties: properties);
표준 이벤트 속성
ABEventProperty.keyword
String
검색 키워드
✅
상품 공유하기
사용자가 상품을 공유하는 동작을 나타내는 이벤트입니다.
Map<String, dynamic> item = {
{ABEventProperty.itemProductId, "상품번호"},
{ABEventProperty.itemProductName, "상품이름"},
{ABEventProperty.itemCategory1, "식품"},
{ABEventProperty.itemCategory2, "과자"},
{ABEventProperty.itemPrice, 1500.0},
{ABEventProperty.itemDiscount, 500.0},
{ABEventProperty.itemQuantity, 5}
};
List<Map<String, dynamic>> items = [item];
Map<String, dynamic> properties = {
{ABEventProperty.items, items},
{ABEventProperty.sharingChannel, ABSharingChannel.facebook}
};
Adbrix.logEvent(eventName: ABEvent.share, properties: properties);
표준 이벤트 속성
ABEventProperty.sharingChannel
String
상품 공유 채널
✅
상품 목록 조회
사용자가 상품 목록을 조회하는 동작을 나타내는 이벤트입니다.
Map<String, dynamic> item = {
{ABEventProperty.itemProductId, "상품번호"},
{ABEventProperty.itemProductName, "상품이름"},
{ABEventProperty.itemCategory1, "식품"},
{ABEventProperty.itemCategory2, "과자"},
{ABEventProperty.itemPrice, 1500.0},
{ABEventProperty.itemDiscount, 500.0},
{ABEventProperty.itemQuantity, 5}
};
List<Map<String, dynamic>> items = [item];
Map<String, dynamic> properties = {
{ABEventProperty.items, items}
};
Adbrix.logEvent(eventName: ABEvent.listView, properties: properties);
표준 이벤트 속성
장바구니 조회
사용자가 장바구니를 조회하는 동작을 나타내는 이벤트입니다.
Map<String, dynamic> item = {
{ABEventProperty.itemProductId, "상품번호"},
{ABEventProperty.itemProductName, "상품이름"},
{ABEventProperty.itemCategory1, "식품"},
{ABEventProperty.itemCategory2, "과자"},
{ABEventProperty.itemPrice, 1500.0},
{ABEventProperty.itemDiscount, 500.0},
{ABEventProperty.itemQuantity, 5}
};
List<Map<String, dynamic>> items = [item];
Map<String, dynamic> properties = {
{ABEventProperty.items, items}
};
Adbrix.logEvent(eventName: ABEvent.cartView, properties: properties);
표준 이벤트 속성
결제 정보 입력하기
사용자가 결제 정보를 입력한 이벤트입니다.
Adbrix.logEvent(eventName: ABEvent.paymentInfoAdded);
표준 게임 이벤트 사용 예시
튜토리얼 완료
앱에서 발생한 튜토리얼 완료 이벤트입니다.
Map<String, dynamic> properties = {
{ABEventProperty.isSkip, true}
};
Adbrix.logEvent(eventName: ABEvent.tutorialCompleted, properties: properties);
표준 이벤트 속성
ABEventProperty.isSkip
bool
튜토리얼 skip 여부
✅
캐릭터 생성
앱에서 발생한 캐릭터 생성 이벤트입니다.
Adbrix.logEvent(eventName: ABEvent.characterCreated)
스테이지 완료
앱에서 발생한 스테이지 완료 이벤트입니다.
Map<String, dynamic> properties = {
{ABEventProperty.stage, "STAGE_NAME"}
};
Adbrix.logEvent(eventName: ABEvent.stageCleared, properties: properties);
표준 이벤트 속성
ABEventProperty.stage
String
스테이지 이름
✅
레벨 달성
앱에서 발생한 레벨 달성 이벤트입니다.
Map<String, dynamic> properties = {
{ABEventProperty.level, 50}
};
Adbrix.logEvent(eventName: ABEvent.levelAchived, properties: properties);
표준 이벤트 속성
ABEventProperty.level
int
사용자 레벨
✅
커스텀 이벤트
사용자가 직접 임의의 이벤트 명칭과 속성을 입력하여 반영하는 이벤트입니다. 표준 이벤트에도 디파이너리 콘솔에서 커스텀 속성을 추가하여 사용할 수 있습니다.
속성이 없을 경우
Adbrix.logEvent(eventName: "CUSTOM_EVENT_NAME", null);
속성이 있을 경우
Map<String, dynamic> properties = {
{"CUSTOM_PROPERTY_KEY", "CUSTOM_PROPERTY_VALUE"}//사용자 정의 속성 값(Optional)
};
Adbrix.logEvent(eventName: "CUSTOM_EVENT_NAME", properties: properties);
Last updated