이벤트

이 문서는 Adbrix SDK를 사용하여 사용자의 동작을 분석하기 위해 수행해야 할 작업에 대해 설명합니다. 이를 사용하기 위해서는 SDK 연동이 선행되어야 합니다.

유의사항

커스텀 이벤트 이름 설정 시 유의 사항

  • 문자 타입(String) 이어야 하며, 최소 2자 이상 최대 32자까지 입력할 수 있습니다.

  • 영문 소문자와 숫자, - 그리고 _만 사용 가능합니다.

이벤트 속성 설정 시 유의 사항

  1. 최대 100개까지만 처리 가능

    • 한 번에 100개 이상의 속성을 설정하면 적용되지 않습니다.

  2. Key 값 제한

    • 문자 타입(String) 이어야 하며, 최소 2자 이상 최대 32자까지 입력할 수 있습니다.

    • 영문 소문자와 숫자 그리고 _만 사용 가능합니다.

  3. Value 값 제한

    • 최대 1024바이트까지 입력할 수 있습니다.

    • 값으로 null을 사용할 수 없습니다.

    • 가능한 타입: int, double, bool, String.

  4. 표준 이벤트 속성 타입 제한

    • 정해진 타입만 사용할 수 있으며, 임의 변경은 불가능합니다.

  5. 검증 실패 시 적용 불가

    • 조건을 충족하지 않은 속성은 이벤트에 자동으로 제외됩니다.

이벤트 기록

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.items

List<Map<String, dynamic>>

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

상품 카테고리

ABEventProperty.items

List<Map<String, dynamic>>

상품 상세 보기

사용자가 특정 상품의 상세 정보를 조회하는 동작을 나타내는 이벤트입니다.

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);

표준 이벤트 속성

이름
타입
설명
필수

ABEventProperty.items

List<Map<String, dynamic>>

장바구니 담기

사용자가 상품을 장바구니에 담는 동작을 나타내는 이벤트입니다.

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);

표준 이벤트 속성

이름
타입
설명
필수

ABEventProperty.items

List<Map<String, dynamic>>

관심 상품 추가

사용자가 상품을 관심 목록에 추가하는 동작을 나타내는 이벤트입니다.

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);

표준 이벤트 속성

이름
타입
설명
필수

ABEventProperty.items

List<Map<String, dynamic>>

주문 확인하기

사용자가 상품을 결제하기 전 최종 확인하는 이벤트입니다.

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.items

List<Map<String, dynamic>>

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.items

List<Map<String, dynamic>>

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.items

List<Map<String, dynamic>>

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.items

List<Map<String, dynamic>>

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);

표준 이벤트 속성

이름
타입
설명
필수

ABEventProperty.items

List<Map<String, dynamic>>

장바구니 조회

사용자가 장바구니를 조회하는 동작을 나타내는 이벤트입니다.

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);

표준 이벤트 속성

이름
타입
설명
필수

ABEventProperty.items

List<Map<String, dynamic>>

결제 정보 입력하기

사용자가 결제 정보를 입력한 이벤트입니다.

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