인앱 이벤트 API

in-App 에서 발생하는 다양한 이벤트를 분석하기 위해서는 분석 대상 앱에서 해당 이벤트가 발생되는 시점에 SDK로 해당 정보를 전달해야 합니다. 이어지는 내용에서는 주요 이벤트들의 분석 방법에 대해서 자세하게 설명합니다.

먼저 Dictionary 데이터 타입을 사용하기 위해 아래 라이브러리를 임포트해야 합니다.

using System.Collections;
using System.Collections.Generic;

1 회원 분석

1.1 회원가입 분석

회원가입 처리 완료 시점에 아래와 같이 분석 코드를 적용합니다.

Dictionary<string, object> event = new Dictionary<string, object>();
event.Add("event", "w_signup_complete");
event.Add("signupTp", "email"); //회원가입 방식
DOT.logEvent(event);

1.2 로그인 분석

로그인 처리 완료 시점에 아래와 같이 분석 코드를 적용합니다.

Dictionary<string, object> event = new Dictionary<string, object>();
event.Add("event", "w_login_complete");
event.Add("loginTp", "facebook"); //로그인 방식
DOT.logEvent(event);

1.3 회원 정보 분석

사용자의 다양한 정보를 분석할 수 있습니다. 로그인 완료 혹은 회원가입 처리 완료 후 아래와 같이 분석 코드를 적용합니다.

DOT.setUser(
    new User.Builder()
    .setGender("M")
    .setAge("A")
    .setAttr1("attr1")
    .build()
);

회원 분석과 관련되어 제공되는 분석 항목은 다음과 같습니다.

Class 이름

Method 이름

파라미터

User

setMember(isMember)

회원여부를 나타내는 Y,N값 전달

User

setMemberGrade(grade)

회원등급을 나타내는 코드값 전달

User

setMemberId(userId)

회원의 로그인 아이디를 전달

User

setGender(gender)

회원 성별을 나타내는 M,F,U 중 한가지 값 전달

User

setAge(age)

회원 연령을 나타내는 코드값 전달

User

setAttr1(attr)

회원 속성#1 의미하는 코드값 전달

User

setAttr2(attr)

회원 속성#2 의미하는 코드값 전달

User

setAttr3(attr)

회원 속성#3 의미하는 코드값 전달

User

setAttr4(attr)

회원 속성#4 의미하는 코드값 전달

User

setAttr5(attr)

회원 속성#5 의미하는 코드값 전달

2. Page 분석

2.1 Page 기본 분석

페이지뷰, 페이지 체류시간 분석이 가능합니다. 페이지 분석을 위해서는 각 화면의 이동시에 호출되는 Callback 함수에 다음과 같은 코드의 적용이 필요합니다.

페이지 진입시

DOT.onStartPage();

2.2 Page Identity 분석

앱에 존재하는 각 페이지를 의미하는 Identity를 사용자가 정의하고, 각 화면들에 정의된 Identity를 적용하면 앱에서 가장 사용 빈도가 높은 화면별 랭킹을 알 수 있습니다

Dictionary<string, object> page = new Dictionary<string, object>();
page.Add("pi", "pageId");
DOT.logScreen(page);

2.3 체류 시간 분석

체류시간 분석 페이지 진입이탈시 각각 아래와 같이 코드를 삽입해 주세요.

void Start()
{
    // 체류 시간 분석을 위한 시간(분 단위)을 넣어주세요
    // 예) 15분 단위로 체류 페이지 자동 전송
    DOT.onPlayStart(15);
}
void OnDestroy()
{
    DOT.onPlayStop();
}
void OnApplicationPause(bool pauseStatus)
{
    if (pauseStatus)
    {
        // 백그라운드 진입시
        DOT.onPlayStop();
    }
}

2.4 상품 페이지 분석

상품 상세 페이지에 아래와 같이 분석코드를 적용하여 상품별 조회 수를 분석합니다.

Dictionary<string, object> page = new Dictionary<string, object>();
page.Add("pi", "PDV");
Dictionary<string, object> product = new Dictionary<string, object>();
product.Add("orderNo", "주문번호");
product.Add("currency", "화폐단위");
product.Add("pg1", "상품카테고리(대)");
product.Add("pg2", "상품카테고리(중)");
product.Add("pg3", "상품카테고리(소)");
product.Add("pg3", "상품카테고리(세)");
product.Add("pnc", "상품코드");
product.Add("pnAtr1", "상품속성#1");
page.Add("product", product);
DOT.logScreen(page);

분석 가능 Page Key 해당 목록에 들어있는 key 값에 한해 분석이 가능합니다. 분석을 희망하는 key 값을 확인후 적용해 주세요.

3. Event 분석

3.1 내부 검색어 분석

앱에 검색기능이 있는 경우, 사용자가 입력한 검색어검색 결과수등을 분석하면 검색 기능의 활용성을 측정할 수 있습니다. 검색 결과가 보여지는 화면에 다음과 같이 분석 코드를 적용합니다.

DOT.onStartPage();
// 사용자가 '통합 검색' 카테고리에서 '청바지' 검색어로 '1200개의 검색 결과를 보았을떄 적용 예시
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "search");
eventDic.Add("skwd", "청바지");
eventDic.Add("g25", 1200);
DOT.logEvent(eventDic);

3.2 검색 결과 클릭 분석

검색 결과 항목별 클릭수를 분석합니다. 이 분석 결과를 통해서 검색 결과의 상단에 노출되는 항목들이 적절한지 가늠할 수 있습니다. 검색 결과에서 특정 항목이 클릭되면 해당 화면으로 이동하기 이전에 아래와 같이 분석 코드를 적용하세요.

Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "click_item");
eventDic.Add("click_method", "클릭한 상품");
DOT.logEvent(eventDic)

3.3 장바구니 분석

장바구니에 담긴 상품을 분석할 수 있습니다. 장바구니 담기 이벤트 발생 시 아래와 같은 코드를 적용하세요.

Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_add_to_cart");
Dictionary<string, object> product = new Dictionary<string, object>();
product.Add("pg1", "상품카테고리(대)");
product.Add("pnc", "상품코드");
product.Add("pnAtr1", "상품속성#1");
eventDic.Add("product", product);
DOT.logEvent(event)

3.4 클릭 이벤트 분석

앱에 존재하는 다양한 클릭 요소(버튼, 배너, 메뉴) 에 대해서 클릭수를 분석합니다. 각 요소가 클릭되는 시점에 아래와 같은 분석 코드를 적용하세요.

3.4.1 버튼 클릭

Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "click_button");
eventDic.Add("click_method", "버튼 설명");
DOT.logEvent(event)

3.4.2 배너 클릭

Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "click_banner");
eventDic.Add("click_method", "배너 설명");
DOT.logEvent(event)

3.4.3 메뉴 클릭

Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "click_menu");
eventDic.Add("click_method", "메뉴 설명");
DOT.logEvent(event)

3.5 카테고리별 이벤트 분석

Ecommerce

Fintech

Mobility

분석 가능 Event Key 해당 목록에 들어있는 key 값에 한해 분석이 가능합니다. 분석을 희망하는 key 값을 확인후 적용해 주세요.

4. Purchase 분석

앱내에서 발생하는 구매 이벤트를 분석합니다. 구매 완료 페이지에서 아래와 같이 구매와 관련된 정보를 SDK에 전달해 주세요.

4.1 단일 상품 구매 분석

Dictionary<string, object> purchase = new Dictionary<string, object>();
Dictionary<string, object> product = new Dictionary<string, object>();
product.Add("pg1", "상품카테고리(대)");
product.Add("pnc", "상품코드");
product.Add("pnAtr1", "상품속성#1");
product.Add("ea", 1);
product.Add("amount", 10000);
List<Dictionary<string, object>> productList = new List<Dictionary<string, object>>();
productList.Add(product);
purchase.Add("product", productList);
DOT.logPurchase(purchase);

4.2 복수 상품 구매 분석

Dictionary<string, object> purchase = new Dictionary<string, object>();
Dictionary<string, object> product1 = new Dictionary<string, object>();
product1.Add("pg1", "상품카테고리(대)");
product1.Add("pnc", "상품코드");
product1.Add("pnAtr1", "상품속성#1");
product1.Add("ea", 1);
product1.Add("amount", 10000);
Dictionary<string, object> product2 = new Dictionary<string, object>();
product2.Add("pg1", "상품카테고리(대)");
product2.Add("pnc", "상품코드");
product2.Add("pnAtr1", "상품속성#1");
product2.Add("ea", 1);
product2.Add("amount", 10000);
List<Dictionary<string, object>> productList = new List<Dictionary<string, object>>();
productList.Add(product1);
productList.Add(product2);
purchase.Add("product", productList);
DOT.logPurchase(purchase);

분석 가능 Purchase Key 해당 목록에 들어있는 key 값에 한해 분석이 가능합니다. 분석을 희망하는 key 값을 확인후 적용해 주세요.

Last updated