Wisetracker Docs
웹사이트블로그콘솔 바로가기도입 문의이용 문의
🧑‍💻 개발자 가이드
🧑‍💻 개발자 가이드
  • 와이즈트래커 개발자 가이드
  • quick start
    • 앱 광고 트래킹을 위한 필수 지식
    • SDK 설정 전 기초 진단
    • SDK 설정 후 체크리스트
      • Android
      • iOS
      • ReactNative
      • Flutter
      • Unity
      • Cordova
      • Cocos2d-x
      • Web
    • SDK 데이터 검증
    • 이벤트 발생 현황
  • SDK 연동
    • Android
      • SDK 삽입
      • 필수 이벤트 설정
      • App Link 설정
      • Android 12 ADID 변경사항
    • iOS
      • SDK 삽입
      • 필수 이벤트 설정
      • App Store '개인정보 세부 사항' 가이드
      • Universal Link 설정
    • HybridApp WebView
      • SDK 삽입
      • 필수 이벤트 설정
    • React Native
      • React Native 플러그인 연동
      • 인앱 분석 API
      • AOS 데이터 검증
      • iOS 데이터 검증
    • Flutter
      • Flutter 플러그인 연동
      • AOS 데이터 검증
      • iOS 데이터 검증
    • Unity
      • Unity 플러그인 연동
      • 인앱 이벤트 API
      • AOS 데이터 검증
      • iOS 데이터 검증
    • Website
      • Javascript SDK Integration
      • 웹사이트 이벤트 분석하기
    • CPC 광고 분석 연동
      • Web-To-App SDK 적용
      • App 으로 이동시키기
  • 앱심사 개인정보 처리 가이드
    • SDK 개인정보 처리 가이드
  • SDK 데이터 검증
    • Android 데이터 검증
    • iOS 데이터 검증
    • 웹사이트 데이터 검증
  • In-App Event
    • 인앱 이벤트 설정
      • 페이지 분석
      • 커스텀 차원(Custom Dimension)
    • 인앱 이벤트 리스트
      • Basic : 공통 이벤트
      • Messaging : 푸시/인앱 메시지
      • e-Commerce : 이커머스
      • Education : 교육
      • Travel : 여행 및 레저
      • Entertainment : 엔터테인먼트
      • Game : 게임
      • Fintech : 금융
      • Mobility : 모빌리티
    • 인앱 이벤트 태깅(Tagging)
  • Google Tag Manager 연동
    • 연동 방법
  • Server-to-Server 연동
    • 연동 방법
    • 연동 이벤트
    • 연동 데이터 요약
  • 푸시메세지 가이드
    • 앱 푸시메시지 연동
      • Android
        • FCM 인증서 설정
        • 대시보드 설정
        • SDK 설치 및 API 적용
        • 푸시 알림 데이터 이용
      • iOS
        • APNS 설정
        • 대시보드 설정
        • SDK 설치 및 API 적용
        • 푸시 알림 데이터 이용
      • React Native
        • 준비 사항 안내
        • Android 기초 설정
        • iOS 기초 설정
        • ReactNative 푸시메세지 설정
      • Flutter
        • 준비 사항 안내
        • Android 기초 설정
        • iOS 기초 설정
        • Flutter 푸시메세지 설정
    • 푸시 알림 데이터 이용
Powered by GitBook
On this page
  • 결제 수단 등록
  • 검색 - 호텔
  • 검색 - 항공권
  • 상품 조회 - 호텔
  • 상품 조회 - 투어
  • 위시리스트에 추가 - 호텔
  • 위시리스트에서 제거 - 투어
  • 부킹 시작 - 호텔
  • 부킹 완료 - 항공권
  • 부킹 취소

Was this helpful?

  1. In-App Event
  2. 인앱 이벤트 리스트

Travel : 여행 및 레저

여행 앱에서 측정을 권장하는 인앱 이벤트 API와 적용 예시를 안내합니다.

PreviousEducation : 교육NextEntertainment : 엔터테인먼트

Last updated 16 days ago

Was this helpful?

속성 중 Key 이름은 가이드에 나와있는 Key 이름을 그대로 사용 해 주세요. (임의로 변경시 대시보드에서 데이터 확인이 어렵습니다. > payment_name , payment_type 등)

결제 수단 등록

결제 수단이 등록 완료된 시점에 아래 코드를 추가합니다.

선택 속성

Key

Value 예시

Type

설명

payment_name

카카오페이

string

결제수단 명칭

payment_type

간편결제

string

결제수단 유형

Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_add_payment_info");
eventMap.put("payment_name", "카카오페이");
eventMap.put("payment_type", "간편결제");
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_add_payment_info"
eventMap["payment_name"] = "카카오페이"
eventMap["payment_type"] = "간편결제"
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_add_payment_info"
event["payment_name"] = "카카오페이"
event["payment_type"] = "간편결제"
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_add_payment_info" forKey:@"event"];
[event setValue:@"카카오페이" forKey:@"payment_name"];
[event setValue:@"간편결제" forKey:@"payment_type"];
[DOT logEvent:event];
    var event = new Object();
    event["event"] = "w_add_payment_info";
    event["payment_name"] = "카카오페이";
    event["payment_type"] = "간편결제";
    DOT.logEvent(event);
    var event = new Object();
    event["event"] = "w_add_payment_info";
    event["payment_name"] = "카카오페이";
    event["payment_type"] = "간편결제";
    WDOT.logEvent(event);
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_add_payment_info";
event["payment_name"] = "카카오페이";
event["payment_type"] = "간편결제";
DOT.logEvent(event);

// webview 에서 호출 할 때
window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logEvent",
      data: {
              event : "w_add_payment_info",
              payment_name : "카카오페이",
              payment_type : "간편결제"
      }
}));
// .js 에서 호출 할 때 
NativeModules.DotReactBridge.logEvent(JSON.stringify({
    event : "w_search",
    date_a : "2020-11-01",
    date_b : "2020-11-03",
    city : "Seoul",
    country : "Korea",
    hotel_class : "all",
    g20 : 412
}));

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	method:"logEvent",
	data : {
		event : "w_search",
		date_a : "2020-11-01",
		date_b : "2020-11-03",
		city : "Seoul",
		country : "Korea",
		hotel_class : "all",
		g20 : 412
	}  
})); 
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_add_payment_info");
eventDic.Add("payment_name", "카카오페이");
eventDic.Add("paynment_type", "간편결제");
DOT.logEvent(eventDic);

검색 - 호텔

검색 완료 화면에 아래 코드를 추가합니다.

선택 속성

Key

Value 예시

Type

설명

date_a

2020-11-01

string

체크인 날짜

date_b

2020-11-03

string

체크아웃 날짜

city

Seoul

string

호텔 소재 도시

country

Korea

string

호텔 소재 국가

hotel_class

all

string

호텔 성급

g20

412

float

검색 결과로 출력된 아이템 개수

Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_search");
eventMap.put("date_a", "2020-11-01");
eventMap.put("date_b", "2020-11-03");
eventMap.put("city", "Seoul");
eventMap.put("country", "Korea");
eventMap.put("hotel_class", "all");
eventMap.put("g20", 412);
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_search"
eventMap["date_a"] = "2020-11-01"
eventMap["date_b"] = "2020-11-03"
eventMap["city"] = "Seoul"
eventMap["country"] = "Korea"
eventMap["hotel_class"] = "all"
eventMap["g20"] = "412"
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_search"
event["date_a"] = "2020-11-01"
event["date_b"] = "2020-11-03"
event["city"] = "Seoul"
event["country"] = "Korea"
event["hotel_class"] = "all"
event["g20"] = 412
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_search" forKey:@"event"];
[event setValue:@"2020-11-01" forKey:@"date_a"];
[event setValue:@"2020-11-03" forKey:@"date_b"];
[event setValue:@"Seoul" forKey:@"city"];
[event setValue:@"Korea" forKey:@"country"];
[event setValue:@"all" forKey:@"hotel_class"];
[event setValue:[NSNumber numberWithInt:412] forKey:@"g20"];
[DOT logEvent:event];
    var event = new Object();
    event["event"] = "w_search";
    event["date_a"] = "2020-11-01";
    event["date_b"] = "2020-11-03";
    event["city"] = "Seoul";
    event["country"] = "Korea";
    event["hotel_class"] = "all";
    event["g20"] = 412;
    DOT.logEvent(event);
    var event = new Object();
    event["event"] = "w_search";
    event["date_a"] = "2020-11-01";
    event["date_b"] = "2020-11-03";
    event["city"] = "Seoul";
    event["country"] = "Korea";
    event["hotel_class"] = "all";
    event["g20"] = 412;
    WDOT.logEvent(event);
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_search";
event["date_a"] = "2020-11-01";
event["date_b"] = "2020-11-03";
event["city"] = "Seoul";
event["country"] = "Korea";
event["hotel_class"] = "all";
event["g20"] = 412;
DOT.logEvent(event);

// webview 에서 호출 할 때
window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logEvent",
      data: {
              event : "w_search",
              date_a : "2020-11-01",
              date_b : "2020-11-03",
              city : "Seoul",
              country : "Korea",
              hotel_class : "all",
              g20 : 412
      }
}));
// .js 에서 호출 할 때 
NativeModules.DotReactBridge.logEvent(JSON.stringify({
    event : "w_search",
    date_a : "2020-11-01",
    date_b : "2020-11-03",
    city : "Seoul",
    country : "Korea",
    hotel_class : "all",
    g20 : 412
}));

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	method:"logEvent",
	data : {
	    event : "w_search",
	    date_a : "2020-11-01",
	    date_b : "2020-11-03",
	    city : "Seoul",
	    country : "Korea",
	    hotel_class : "all",
	    g20 : 412
	}  
})); 
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_search");
eventDic.Add("date_a", "2020-11-01");
eventDic.Add("date_b", "2020-11-03");
eventDic.Add("city", "Seoul");
eventDic.Add("country", "Korea");
eventDic.Add("hotel_class", "all");
eventDic.Add("g20", 412);
DOT.logEvent(eventDic);

검색 - 항공권

검색 완료 화면에 아래 코드를 추가합니다.

선택 속성

Key

Value 예시

Type

설명

date_a

2020-11-01

string

출국 날짜

date_b

2020-11-20

string

귀국 날짜

airport_a

인천

string

출발 공항 명칭 또는 코드

airport_b

바르셀로나

string

도착 공항 명칭 또는 코드

g20

72

float

검색 결과로 출력된 아이템 개수

Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_search");
eventMap.put("date_a", "2020-11-01");
eventMap.put("date_b", "2020-11-20");
eventMap.put("airport_a", "인천");
eventMap.put("airport_b", "바르셀로나");
eventMap.put("g20", 72);
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_search"
eventMap["date_a"] = "2020-11-01"
eventMap["date_b"] = "2020-11-03"
eventMap["airport_a"] = "인천"
eventMap["airport_b"] = "바르셀로나"
eventMap["g20"] = "412"
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_search"
event["date_a"] = "2020-11-01"
event["date_b"] = "2020-11-20"
event["airport_a"] = "인천"
event["airport_b"] = "바르셀로나"
event["g20"] = 72
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_search" forKey:@"event"];
[event setValue:@"2020-11-01" forKey:@"date_a"];
[event setValue:@"2020-11-20" forKey:@"date_b"];
[event setValue:@"인천" forKey:@"airport_a"];
[event setValue:@"바르셀로나" forKey:@"airport_b"];
[event setValue:[NSNumber numberWithInt:72] forKey:@"g20"];
[DOT logEvent:event];
    var event = new Object();
    event["event"] = "w_search";
    event["date_a"] = "2020-11-01";
    event["date_b"] = "2020-11-20";
    event["airport_a"] = "인천";
    event["airport_b"] = "바르셀로나";
    event["g20"] = 72;
    DOT.logEvent(event);
    var event = new Object();
    event["event"] = "w_search";
    event["date_a"] = "2020-11-01";
    event["date_b"] = "2020-11-20";
    event["airport_a"] = "인천";
    event["airport_b"] = "바르셀로나";
    event["g20"] = 72;
    WDOT.logEvent(event);
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_search";
event["date_a"] = "2020-11-01";
event["date_b"] = "2020-11-20";
event["airport_a"] = "인천";
event["airport_b"] = "바르셀로나";
event["g20"] = 72;
DOT.logEvent(event);

// webview 에서 호출 할 때
window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logEvent",
      data: {
              event : "w_search",
              date_a : "2020-11-01",
              date_b : "2020-11-20",
              city : "인천",
              country : "바르셀로나",
              g20 : 72
      }
}));
// .js 에서 호출 할 때 
NativeModules.DotReactBridge.logEvent(JSON.stringify({
    event : "w_search",
    date_a : "2020-11-01",
    date_b : "2020-11-20",
    airport_a : "인천",
    airport_b : "바르셀로나",
    g20 : 72
}));

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	method:"logEvent",
	data : {
		event : "w_search",
		date_a : "2020-11-01",
		date_b : "2020-11-20",
		airport_a : "인천",
		airport_b : "바르셀로나",
		g20 : 72
	}  
})); 
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_search");
eventDic.Add("date_a", "2020-11-01");
eventDic.Add("date_b", "2020-11-20");
eventDic.Add("airport_a", "인천");
eventDic.Add("airport_b", "바르셀로나");
eventDic.Add("g20", 72);
DOT.logEvent(eventDic);

상품 조회 - 호텔

상품 상세 화면에 아래 코드를 추가합니다.

선택 속성

Key

Value 예시

Type

설명

hotel_id

P388299

string

호텔 고유번호

hotel_name

프레이저 플레이스 센트럴 서울

string

호텔 명칭

hotel_class

4

string

호텔 성급

city

Seoul

string

호텔 소재 도시

country

Korea

string

호텔 소재 국가

Map<String, Object> pageMap = new HashMap<>();
pageMap.put("event", "w_view_product");
Map<String, Object> productMap = new HashMap<>();
productMap.put("hotel_id", "P388299");
productMap.put("hotel_name", "프레이저 플레이스 센트럴 서울");
productMap.put("hotel_class", "4");
productMap.put("city", "Seoul");
productMap.put("country", "Korea");
pageMap.put("product", productMap);
DOT.logScreen(pageMap);
val pageMap = mutableMapOf<String,Any>()
pageMap["event"] = "w_view_product"
val productMap = mutableMapOf<String,Any>()
productMap["hotel_id"] = "P388299"
productMap["hotel_name"] = "프레이저 플레이스 센트럴 서울"
productMap["hotel_class"] = "4"
productMap["city"] = "Seoul"
productMap["country"] = "Korea"
pageMap["product"] = productMap
DOT.logScreen(pageMap)
let screen = NSMutableDictionary()
screen["event"] = "w_view_product"
var product : [String: Any] = [:]
product["hotel_id"] = "P388299"
product["hotel_name"] = "프레이저 플레이스 센트럴 서울"
product["hotel_class"] = "4"
product["city"] = "Seoul"
product["country"] = "Korea"
screen["product"] = product
DOT.logScreen(screen)
NSMutableDictionary *screen = [[NSMutableDictionary alloc] init];
[screen setValue:@"w_view_product" forKey:@"event"];
NSMutableDictionary *product = [[NSMutableDictionary alloc] init];
[product setValue:@"P388299" forKey:@"hotel_id"];
[product setValue:@"프레이저 플레이스 센트럴 서울" forKey:@"hotel_name"];
[product setValue:@"4" forKey:@"hotel_class"];
[product setValue:@"Seoul" forKey:@"city"];
[product setValue:@"Korea" forKey:@"country"];
[screen setValue:product forKey:@"product"];
[DOT logScreen:screen];
    var screen = new Object();
    screen["event"] = "w_view_product";
    var product = new Object();
    product["hotel_id"] = "P388299";
    product["hotel_name"] = "프레이저 플레이스 센트럴 서울";
    product["hotel_class"] = "4";
    product["city"] = "Seoul";
    product["country"] = "Korea";
    screen["product"] = product;
    DOT.logScreen(screen);
    var screen = new Object();
    screen["event"] = "w_view_product";
    var product = new Object();
    product["hotel_id"] = "P388299";
    product["hotel_name"] = "프레이저 플레이스 센트럴 서울";
    product["hotel_class"] = "4";
    product["city"] = "Seoul";
    product["country"] = "Korea";
    screen["product"] = product;
    WDOT.onStartPage(screen);
// .dart 에서 호출 할 때 
Map screen = {};
screen["event"] = "w_view_product";
Map product = {};
product["hotel_id"] = "P388299";
product["hotel_name"] = "프레이저 플레이스 센트럴 서울";
product["hotel_class"] = "4";
product["city"] = "Seoul";
product["country"] = "Korea";
screen["product"] = product;
DOT.logScreen(screen);

// webview 에서 호출 할 때
window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logScreen",
      data: {
              event : "w_view_product",
              hotel_id : "P388299",
              hotel_name : "프레이저 플레이스 센트럴 서울",
              hotel_class : "4",
              city : "Seoul",
              country : "Korea"
      }
}));
// .js 에서 호출 할 때 
NativeModules.DotReactBridge != null &&
  (NativeModules.DotReactBridge.onStartPage(),
  NativeModules.DotReactBridge.logScreen(JSON.stringify({
        event : "w_view_product",
        product : {
        hotel_id : "P388299",
        hotel_name : "프레이저 플레이스 센트럴 서울",
        hotel_class : "4",
        city : "Seoul",
        country : "Korea"
        }
    }),
  ));	

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	method:"logScreen",
	data : {
	    event : "w_view_product",
	    product : {
	    hotel_id : "P388299",
	    hotel_name : "프레이저 플레이스 센트럴 서울",
	    hotel_class : "4",
	    city : "Seoul",
	    country : "Korea"
	    }
	}  
})); 
Dictionary<string, object> page = new Dictionary<string, object>();
page.Add("event", "w_view_product");
Dictionary<string, object> product = new Dictionary<string, object>();
product.Add("hotel_id", "P388299");
product.Add("hotel_name", "프레이저 플레이스 센트럴 서울");
product.Add("hotel_class", "4");
product.Add("city", "Seoul");
product.Add("country", "Korea");
page.Add("product", product);
DOT.logScreen(page);

상품 조회 - 투어

상품 상세 화면에 아래 코드를 추가합니다.

선택 속성

Key

Value 예시

Type

설명

product_id

11931

string

상품 고유코드

product_name

뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)

string

상품명

city

Christchurch

string

도시 정보

country

New Zealand

string

국가 정보

Map<String, Object> pageMap = new HashMap<>();
pageMap.put("event", "w_view_product");
Map<String, Object> productMap = new HashMap<>();
productMap.put("product_id", "11931");
productMap.put("product_name", "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)");
productMap.put("city", "Christchurch");
productMap.put("country", "New Zealand");
pageMap.put("product", productMap);
DOT.logScreen(pageMap);
val pageMap = mutableMapOf<String,Any>()
pageMap["event"] = "w_view_product"
val productMap = mutableMapOf<String,Any>()
productMap["product_id"] = "11931"
productMap["product_name"] = "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)"
productMap["city"] = "Christchurch"
productMap["country"] = "New Zealand"
pageMap["product"] = productMap
DOT.logScreen(pageMap)
let screen = NSMutableDictionary()
screen["event"] = "w_view_product"
var product : [String: Any] = [:]
product["product_id"] = "11931"
product["product_name"] = "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)"
product["city"] = "Christchurch"
product["country"] = "New Zealand"
screen["product"] = product
DOT.logScreen(screen)
NSMutableDictionary *screen = [[NSMutableDictionary alloc] init];
[screen setValue:@"w_view_product" forKey:@"event"];
NSMutableDictionary *product = [[NSMutableDictionary alloc] init];
[product setValue:@"11931" forKey:@"product_id"];
[product setValue:@"뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)" forKey:@"product_name"];
[product setValue:@"Christchurch" forKey:@"hotel_class"];
[product setValue:@"Seoul" forKey:@"city"];
[product setValue:@"New Zealand" forKey:@"country"];
[screen setValue:product forKey:@"product"];
[DOT logScreen:screen];
    var screen = new Object();
    screen["event"] = "w_view_product";
    var product = new Object();
    product["product_id"] = "11931";
    product["product_name"] = "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)";
    product["city"] = "Christchurch";
    product["country"] = "New Zealand";
    screen["product"] = product;
    DOT.logScreen(screen);
    var screen = new Object();
    screen["event"] = "w_view_product";
    var product = new Object();
    product["product_id"] = "11931";
    product["product_name"] = "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)";
    product["city"] = "Christchurch";
    product["country"] = "New Zealand";
    screen["product"] = product;
    WDOT.onStartPage(screen);
// .dart 에서 호출 할 때 
Map screen = {};
screen["event"] = "w_view_product";
Map product = {};
product["product_id"] = "11931";
product["product_name"] = "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)";
product["city"] = "Christchurch";
product["country"] = "New Zealand";
screen["product"] = product;
DOT.logScreen(screen);

// webview 에서 호출 할 때
window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logScreen",
      data: {
              event : "w_view_product",
              product_id : "11931",
              product_name : "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)",
              city : "Christchurch",
              country : "New Zealand"
              }
}));
// .js 에서 호출 할 때 
NativeModules.DotReactBridge != null &&
  (NativeModules.DotReactBridge.onStartPage(),
  NativeModules.DotReactBridge.logScreen(JSON.stringify({
        event : "w_view_product",
        product : {
        product_id : "11931",
            product_name : "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)",
            city : "Christchurch",
            country : "New Zealand"
        }
    }),
  ));

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	 method:"logScreen",
	 data : {
         event : "w_view_product",
		    product : {
	    		product_id : "11931",
	    		product_name : "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)",
			city : "Christchurch",
			country : "New Zealand"
    	  	    }
	}  
})); 
Dictionary<string, object> page = new Dictionary<string, object>();
page.Add("event", "w_view_product");
Dictionary<string, object> product = new Dictionary<string, object>();
product.Add("product_id", "11931");
product.Add("product_name", "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)");
product.Add("city", "Christchurch");
product.Add("country", "New Zealand");
page.Add("product", product);
DOT.logScreen(page);

위시리스트에 추가 - 호텔

상품이 위시리스트에 추가된 시점에 아래 코드를 추가합니다.

선택 속성

Key

Value 예시

Type

설명

hotel_id

P388299

string

호텔 고유번호

hotel_name

프레이저 플레이스 센트럴 서울

string

호텔 명칭

hotel_class

4

string

호텔 성급

city

Seoul

string

호텔 소재 도시

country

Korea

string

호텔 소재 국가

Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_add_to_wishlist");
Map<String, Object> productMap = new HashMap<>();
productMap.put("hotel_id", "P388299");
productMap.put("hotel_name", "프레이저 플레이스 센트럴 서울");
productMap.put("hotel_class", "4");
productMap.put("city", "Seoul");
productMap.put("country", "Korea");
eventMap.put("product", productMap);
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_add_to_wishlist"
val productMap = mutableMapOf<String,Any>()
productMap["hotel_id"] = "P388299"
productMap["hotel_name"] = "프레이저 플레이스 센트럴 서울"
productMap["hotel_class"] = "4"
productMap["city"] = "Seoul"
productMap["country"] = "Korea"
eventMap["product"] = productMap
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_add_to_wishlist"
var product : [String: Any] = [:]
product["hotel_id"] = "P388299"
product["hotel_name"] = "프레이저 플레이스 센트럴 서울"
product["hotel_class"] = "4"
product["city"] = "Seoul"
product["country"] = "Korea"
event["product"] = product
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_add_to_wishlist" forKey:@"event"];
NSMutableDictionary *product = [[NSMutableDictionary alloc] init];
[product setValue:@"P388299" forKey:@"hotel_id"];
[product setValue:@"프레이저 플레이스 센트럴 서울" forKey:@"hotel_name"];
[product setValue:@"4" forKey:@"hotel_class"];
[product setValue:@"Seoul" forKey:@"city"];
[product setValue:@"Korea" forKey:@"country"];
[event setValue:product forKey:@"product"];
[DOT logEvent:event];
    var event = new Object();
    event["event"] = "w_add_to_wishlist";
    var product = new Object();
    product["hotel_id"] = "P388299";
    product["hotel_name"] = "프레이저 플레이스 센트럴 서울";
    product["hotel_class"] = "4";
    product["city"] = "Seoul";
    product["country"] = "Korea";
    event["product"] = product;
    DOT.logEvent(event);
    var event = new Object();
    event["event"] = "w_add_to_wishlist";
    var product = new Object();
    product["hotel_id"] = "P388299";
    product["hotel_name"] = "프레이저 플레이스 센트럴 서울";
    product["hotel_class"] = "4";
    product["city"] = "Seoul";
    product["country"] = "Korea";
    event["product"] = product;
    WDOT.logEvent(event);
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_add_to_wishlist";
Map product = {};
product["hotel_id"] = "P388299";
product["hotel_name"] = "프레이저 플레이스 센트럴 서울";
product["hotel_class"] = "4";
product["city"] = "Seoul";
product["country"] = "Korea";
event["product"] = product;
DOT.logEvent(event);

// webview 에서 호출 할 때
window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logEvent",
      data: {
              event : "w_add_to_wishlist",
              hotel_id : "P388299",
              hotel_name : "프레이저 플레이스 센트럴 서울",
              hotel_class : "4",
              city : "Seoul",
              country : "Korea"
      }
}));
// .js 에서 호출 할 때 
NativeModules.DotReactBridge.logEvent(JSON.stringify({
    event : "w_add_to_wishlist",
    product : {
    hotel_id : "P388299",
    hotel_name : "프레이저 플레이스 센트럴 서울",
    hotel_class : "4",
    city : "Seoul",
    country : "Korea"
    }
})); 	

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	method:"logEvent",
	data : {
	event : "w_add_to_wishlist",
        product : {
	    hotel_id : "P388299",
	    hotel_name : "프레이저 플레이스 센트럴 서울",
	    hotel_class : "4",
	    city : "Seoul",
	    country : "Korea"
	    }
	}  
})); 
Dictionary<string, object> page = new Dictionary<string, object>();
page.Add("event", "w_add_to_wishlist");
Dictionary<string, object> product = new Dictionary<string, object>();
product.Add("hotel_id", "P388299");
product.Add("hotel_name", "프레이저 플레이스 센트럴 서울");
product.Add("hotel_class", "4");
product.Add("city", "Seoul");
product.Add("country", "Korea");
page.Add("product", product);
DOT.logScreen(page);

위시리스트에서 제거 - 투어

상품이 위시리스트에서 제거된 시점에 아래 코드를 추가합니다.

선택 속성

Key

Value 예시

Type

설명

product_id

11931

string

상품 고유코드

product_name

뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)

string

상품명

city

Christchurch

string

도시 정보

country

New Zealand

string

국가 정보

Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_remove_from_wishlist");
Map<String, Object> productMap = new HashMap<>();
productMap.put("product_id", "11931");
productMap.put("product_name", "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)");
productMap.put("city", "Christchurch");
productMap.put("country", "New Zealand");
eventMap.put("product", productMap);
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_remove_from_wishlist"
val productMap = mutableMapOf<String,Any>()
productMap["product_id"] = "11931"
productMap["product_name"] = "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)"
productMap["city"] = "Christchurch"
productMap["country"] = "New Zealand"
eventMap["product"] = productMap
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_remove_from_wishlist"
var product : [String: Any] = [:]
product["product_id"] = "11931"
product["product_name"] = "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)"
product["city"] = "Christchurch"
product["country"] = "New Zealand"
event["product"] = product
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_remove_from_wishlist" forKey:@"event"];
NSMutableDictionary *product = [[NSMutableDictionary alloc] init];
[product setValue:@"11931" forKey:@"product_id"];
[product setValue:@"뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)" forKey:@"product_name"];
[product setValue:@"Christchurch" forKey:@"hotel_class"];
[product setValue:@"Seoul" forKey:@"city"];
[product setValue:@"New Zealand" forKey:@"country"];
[event setValue:product forKey:@"product"];
[DOT logEvent:event];
    var event = new Object();
    event["event"] = "w_remove_from_wishlist";
    var product = new Object();
    product["product_id"] = "11931";
    product["product_name"] = "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)";
    product["city"] = "Christchurch";
    product["country"] = "New Zealand";
    event["product"] = product;
    DOT.logEvent(event);
    var event = new Object();
    event["event"] = "w_remove_from_wishlist";
    var product = new Object();
    product["product_id"] = "11931";
    product["product_name"] = "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)";
    product["city"] = "Christchurch";
    product["country"] = "New Zealand";
    event["product"] = product;
    WDOT.logEvent(event);
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_remove_from_wishlist";
Map product = {};
product["product_id"] = "11931";
product["product_name"] = "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)";
product["city"] = "Christchurch";
product["country"] = "New Zealand";
event["product"] = product;
DOT.logEvent(event);

// webview 에서 호출 할 때
window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logEvent",
      data: {
              event : "w_remove_from_wishlist",
              product_id : "11931",
              product_name : "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)",
              city : "Christchurch",
              country : "New Zealand"
      }
}));
// .js 에서 호출 할 때 
NativeModules.DotReactBridge.logEvent(JSON.stringify({
    event : "w_remove_from_wishlist",
    product : {
    product_id : "11931",
    product_name : "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)",
    city : "Christchurch",
    country : "New Zealand"
    }
})); 

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	method:"logEvent",
	data : {
	    event : "w_remove_from_wishlist",
	    product : {
	    product_id : "11931",
	    product_name : "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)",
	    city : "Christchurch",
	    country : "New Zealand"
            }
	}  
})); 
Dictionary<string, object> page = new Dictionary<string, object>();
page.Add("event", "w_remove_from_wishlist");
Dictionary<string, object> product = new Dictionary<string, object>();
product.Add("product_id", "11931");
product.Add("product_name", "뉴질랜드 남섬 4박5일 조인 팩 (4월 - 9월 Only)");
product.Add("city", "Christchurch");
product.Add("country", "New Zealand");
page.Add("product", product);
DOT.logScreen(page);

부킹 시작 - 호텔

상품의 부킹을 시작하는 시점 또는 주문서 화면에 아래 코드를 추가합니다.

선택 속성

Key

Value 예시

Type

설명

hotel_id

P388299

string

호텔 고유번호

hotel_name

프레이저 플레이스 센트럴 서울

string

호텔 명칭

hotel_class

4

string

호텔 성급

hotel_subtype_a

디럭스 투베드

string

룸 세부속성

city

Seoul

string

소텔 소재 도시

country

Korea

string

호텔 소재 국가

date_a

2020-11-01

string

체크인 날짜

date_b

2020-11-03

string

체크아웃 날짜

Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_start_booking");
Map<String, Object> productMap = new HashMap<>();
productMap.put("hotel_id", "P388299");
productMap.put("hotel_name", "프레이저 플레이스 센트럴 서울");
productMap.put("hotel_class", "4");
productMap.put("hotel_subtype_a", "디럭스 투베드");
productMap.put("city", "Seoul");
productMap.put("country", "Korea");
productMap.put("date_a", "2020-11-01");
productMap.put("date_b", "2020-11-03");
eventMap.put("product", productMap);
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_start_booking"
val productMap = mutableMapOf<String,Any>()
productMap["hotel_id"] = "P388299"
productMap["hotel_name"] = "프레이저 플레이스 센트럴 서울"
productMap["hotel_class"] = "4"
productMap["hotel_subtype_a"] = "디럭스 투베드"
productMap["city"] = "Seoul"
productMap["country"] = "Korea"
productMap["date_a"] = "2020-11-01"
productMap["date_b"] = "2020-11-03"
eventMap["product"] = productMap
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_start_booking"
var product : [String: Any] = [:]
product["hotel_id"] = "P388299"
product["hotel_name"] = "프레이저 플레이스 센트럴 서울"
product["hotel_class"] = "4"
product["hotel_subtype_a"] = "디럭스 투베드"
product["city"] = "Seoul"
product["country"] = "Korea"
product["date_a"] = "2020-11-01"
product["date_b"] = "2020-11-03"
event["product"] = product
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_start_booking" forKey:@"event"];
NSMutableDictionary *product = [[NSMutableDictionary alloc] init];
[product setValue:@"P388299" forKey:@"hotel_id"];
[product setValue:@"프레이저 플레이스 센트럴 서울" forKey:@"hotel_name"];
[product setValue:@"4" forKey:@"hotel_class"];
[product setValue:@"Seoul" forKey:@"city"];
[product setValue:@"Korea" forKey:@"country"];
[product setValue:@"2020-11-01" forKey:@"date_a"];
[product setValue:@"2020-11-03" forKey:@"date_b"];
[event setValue:product forKey:@"product"];
[DOT logEvent:event];
    var event = new Object();
    event["event"] = "w_start_booking";
    var product = new Object();
    product["hotel_id"] = "P388299";
    product["hotel_name"] = "프레이저 플레이스 센트럴 서울";
    product["hotel_class"] = "4";
    product["hotel_subtype_a"] = "디럭스 투베드";
    product["city"] = "Seoul";
    product["country"] = "Korea";
    product["date_a"] = "2020-11-01";
    product["date_b"] = "2020-11-03";
    event["product"] = product;
    DOT.logEvent(event);
    var event = new Object();
    event["event"] = "w_start_booking";
    var product = new Object();
    product["hotel_id"] = "P388299";
    product["hotel_name"] = "프레이저 플레이스 센트럴 서울";
    product["hotel_class"] = "4";
    product["hotel_subtype_a"] = "디럭스 투베드";
    product["city"] = "Seoul";
    product["country"] = "Korea";
    product["date_a"] = "2020-11-01";
    product["date_b"] = "2020-11-03";
    event["product"] = product;
    WDOT.logEvent(event);
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_start_booking";
Map product = {};
product["hotel_id"] = "P388299";
product["hotel_name"] = "프레이저 플레이스 센트럴 서울";
product["hotel_class"] = "4";
product["hotel_subtype_a"] = "디럭스 투베드";
product["city"] = "Seoul";
product["country"] = "Korea";
product["date_a"] = "2020-11-01";
product["date_b"] = "2020-11-03";
event["product"] = product;
DOT.logEvent(event);

// webview 에서 호출 할 때
window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logEvent",
      data: {
              event : "w_start_booking",
              hotel_id : "P388299",
              hotel_name : "프레이저 플레이스 센트럴 서울",
              hotel_class : "4",
              hotel_subtype_a : "디럭스 투베드",
              city : "Seoul",
              country : "New Zealand",
              date_a : "2020-11-01",
              date_b : "2020-11-03",
      }
}));
// .js 에서 호출 할 때 
NativeModules.DotReactBridge.logEvent(JSON.stringify({
    event : "w_start_booking",
    product : {
    hotel_id : "P388299",
    hotel_name : "프레이저 플레이스 센트럴 서울",
    hotel_class : "4",
    hotel_subtype_a : "디럭스 투베드",
    city : "Seoul",
    country : "Korea",
    date_a : "2020-11-01",
    date_b : "2020-11-03"
    }
})); 

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	method:"logEvent",
	data : {
        event : "w_start_booking",
            product : {
            hotel_id : "P388299",
            hotel_name : "프레이저 플레이스 센트럴 서울",
            hotel_class : "4",
            hotel_subtype_a : "디럭스 투베드",
            city : "Seoul",
            country : "Korea",
            date_a : "2020-11-01",
            date_b : "2020-11-03"
                }
	}  
})); 
Dictionary<string, object> page = new Dictionary<string, object>();
page.Add("event", "w_start_booking");
Dictionary<string, object> product = new Dictionary<string, object>();
product.Add("hotel_id", "P388299");
product.Add("hotel_name", "프레이저 플레이스 센트럴 서울");
product.Add("hotel_class", "4");
product.Add("hotel_subtype_a", "디럭스 투베드");
product.Add("city", "Seoul");
product.Add("country", "Korea");
product.Add("date_a", "2020-11-01");
product.Add("date_b", "2020-11-03");
page.Add("product", product);
DOT.logScreen(page);

부킹 완료 - 항공권

부킹 완료 화면에 아래 코드를 추가합니다.

선택 속성

Key

Value 예시

Type

설명

transaction_id

AIRINTSCH0100100210

string

주문번호

currency

KRW

string

결제 통화코드

date_a

2020-11-01

string

출국 날짜

airport_a

ICN

string

출국 공항 명칭 또는 코드

airline_a

DLH

string

출국 항공기 명칭 또는 코드

airline_class_a

economy

string

출국 항공기 등급

date_b

2020-11-20

string

귀국 날짜

airport_b

BCN

string

도착 공항 명칭 또는 코드

airline_b

DLH

string

귀국 항공기 명칭 또는 코드

airline_class_b

economy

string

귀국 항공기 등급

quantity

1

integer

티켓 수량

revenue

733500

double

유저가 실 결제한 금액

Map<String, Object> purchaseMap = new HashMap<>();
purchaseMap.put("transaction_id", "AIRINTSCH0100100210");
purchaseMap.put("currency", "KRW");
Map<String, Object> productMap1 = new HashMap<>();
productMap1.put("date_a", "2020-11-01");
productMap1.put("airport_a", "ICN");
productMap1.put("airline_a", "DLH");
productMap1.put("airline_class_a", "economy");
productMap1.put("quantity", 1);
productMap1.put("revenue", 733500);
Map<String, Object> productMap2 = new HashMap<>();
productMap2.put("date_b", "2020-11-20");
productMap2.put("airport_b", "BCN");
productMap2.put("airline_b", "DLH");
productMap2.put("airline_class_b", "economy");
productMap2.put("quantity", 1);
productMap2.put("revenue", 733500);
List<Map<String, Object>> productList = new ArrayList<>();
productList.add(productMap1);
productList.add(productMap2);
purchaseMap.put("product", productList);
DOT.logPurchase(purchaseMap);
val purchaseMap = mutableMapOf<String,Any>()
purchaseMap["transaction_id"] = "AIRINTSCH0100100210"
purchaseMap["currency"] = "KRW"
val productMap1 = mutableMapOf<String,Any>()
productMap1["date_a"] = "2020-11-01"
productMap1["airport_a"] = "ICN"
productMap1["airline_a"] = "DLH"
productMap1["airline_class_a"] = "economy"
productMap1["quantity"] = 1
productMap1["revenue"] = 733500
val productMap2 = mutableMapOf<String,Any>()
productMap2["date_b"] = "2020-11-01"
productMap2["airport_b"] = "ICN"
productMap2["airline_b"] = "DLH"
productMap2["airline_class_b"] = "economy"
productMap2["quantity"] = 1
productMap2["revenue"] = 733500
val productList = ArrayList<Map<String,Any>>()
productList.add(productMap1)
productList.add(productMap2)
purchaseMap["product"] = productList
DOT.logPurchase(purchaseMap)
let purchase = NSMutableDictionary()
purchase["transaction_id"] = "AIRINTSCH0100100210"
purchase["currency"] = "KRW"
var product1 : [String: Any] = [:]
product1["date_a"] = "2020-11-01"
product1["airport_a"] = "ICN"
product1["airline_a"] = "DLH"
product1["airline_class_a"] = "economy"
product1["quantity"] = 1
product1["revenue"] = 733500
var product2 : [String: Any] = [:]
product2["date_b"] = "2020-11-20"
product2["airport_b"] = "BCN"
product2["airline_b"] = "DLH"
product2["airline_class_b"] = "economy"
product2["quantity"] = 1
product2["revenue"] = 733500
var productArray : [Any] = []
productArray.append(product1)
productArray.append(product2)
purchase["product"] = productArray
DOT.logPurchase(purchase)
NSMutableDictionary *purchase = [[NSMutableDictionary alloc] init];
[purchase setValue:@"AIRINTSCH0100100210" forKey:@"transaction_id"];
[purchase setValue:@"KRW" forKey:@"currency"];
NSMutableDictionary *product2 = [[NSMutableDictionary alloc] init];
[product1 setValue:@"2020-11-01" forKey:@"date_a"];
[product1 setValue:@"ICN" forKey:@"airport_a"];
[product1 setValue:@"DLH" forKey:@"airline_a"];
[product1 setValue:@"economy" forKey:@"airline_class_a"];
[product1 setValue:[NSNumber numberWithInt:1] forKey:@"quantity"]
[product1 setValue:[NSNumber numberWithInt:733500] forKey:@"revenue"]
NSMutableDictionary *product2 = [[NSMutableDictionary alloc] init];
[product2 setValue:@"2020-11-20" forKey:@"date_b"];
[product2 setValue:@"BCN" forKey:@"airport_b"];
[product2 setValue:@"BCN" forKey:@"airline_b"];
[product2 setValue:@"economy" forKey:@"airline_class_b"];
[product2 setValue:[NSNumber numberWithInt:1] forKey:@"quantity"];
[product2 setValue:[NSNumber numberWithInt:733500] forKey:@"revenue"]
NSMutableArray *productArray = [[NSMutableArray alloc] init];
[productArray addObject:product1];
[productArray addObject:product2];
[purchase setValue:productArray forKey:@"product"];
[DOT logPurchase:purchase];
    var purchase = new Object();
    purchase["transaction_id"] = "AIRINTSCH0100100210";
    purchase["currency"] = "KRW";
    var product1 = new Object();
    product1["date_a"] = "2020-11-01";
    product1["airport_a"] = "ICN";
    product1["airline_a"] = "DLH";
    product1["airline_class_a"] = "economy";
    product1["quantity"] = 1;
    product1["revenue"] = 733500;
    var product2 = new Object();
    product2["date_b"] = "2020-11-20";
    product2["airport_b"] = "BCN";
    product2["airline_b"] = "DLH";
    product2["airline_class_b"] = "economy";
    product2["quantity"] = 1;
    product2["revenue"] = 733500;
    var productArray = new Array();
    productArray.push(product1);
    productArray.push(product2);
    purchase["product"] = productArray;
    DOT.logPurchase(purchase);
    var purchase = new Object();
    purchase["transaction_id"] = "AIRINTSCH0100100210";
    purchase["currency"] = "KRW";
    var product1 = new Object();
    product1["date_a"] = "2020-11-01";
    product1["airport_a"] = "ICN";
    product1["airline_a"] = "DLH";
    product1["airline_class_a"] = "economy";
    product1["quantity"] = 1;
    product1["revenue"] = 733500;
    var product2 = new Object();
    product2["date_b"] = "2020-11-20";
    product2["airport_b"] = "BCN";
    product2["airline_b"] = "DLH";
    product2["airline_class_b"] = "economy";
    product2["quantity"] = 1;
    product2["revenue"] = 733500;
    var productArray = new Array();
    productArray.push(product1);
    productArray.push(product2);
    purchase["product"] = productArray;
    WDOT.logPurchase(purchase);
// .dart 에서 호출 할 때 
Map purchase = {};
purchase["transaction_id"] = "AIRINTSCH0100100210";
purchase["currency"] = "KRW";
Map product1 = {};
product1["date_a"] = "2020-11-01";
product1["airport_a"] = "ICN";
product1["airline_a"] = "DLH";
product1["airline_class_a"] = "economy";
product1["quantity"] = 1;
product1["revenue"] = 733500;
Map product2 = {};
product2["date_b"] = "2020-11-20";
product2["airport_b"] = "BCN";
product2["airline_b"] = "DLH";
product2["airline_class_b"] = "economy";
product2["quantity"] = 1;
product2["revenue"] = 733500;
var productArray = [];
productArray.add(product1);
productArray.add(product2);
purchase["product"] = productArray;
DOT.logPurchase(purchase);


// webview 에서 호출 할 때
var purchase = new Object();
purchase["transaction_id"] =  "AIRINTSCH0100100210";
purchase["currency"] =  "KRW";

var productArray = new Array();
for( var inx = 0; inx < purchaselist[구매한 항공권 목록].length; inx++){

var purchaseProduct = purchaselist[inx]; 

var product1 = new Object();
product1["date_a"] = "2020-11-01";
product1["airport_a"] = "ICN";
product1["airline_a"] = "DLH";
product1["airline_class_a"] = "economy";
product1["quantity"] = 1;
product1["revenue"] = 733500;
productArray.push(product1); 

var product2 = new Object();
product2["date_b"] = "020-11-20";
product2["airport_b"] = "BCN";
product2["airline_b"] = "DLH";
product2["airline_class_b"] = "economy";
product2["quantity"] = 1;
product2["revenue"] = 733500;
productArray.push(product2); 
}

purchase["product"] = productArray;

window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logPurchase",
      data: purchase
}));
// .js 에서 호출 할 때 
NativeModules.DotReactBridge.logPurchase(JSON.stringify({
    transaction_id : "AIRINTSCH0100100210",
    currency : "KRW",
    product1 : {
    date_a : "2020-11-01",
    airport_a : "ICN",
    airline_a : "DLH",
    airline_class_a : "economy",
    quantity : 1,
    revenue : 733500
    },
    product2 : {
    date_b : "2020-11-20",
    airport_b : "BCN",
    airline_b : "DLH",
    airline_class_b : "economy",
    quantity : 1,
    revenue : 733500
    }
})); 	

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	method:"logPurchase",
	data : {
        transaction_id : "AIRINTSCH0100100210",
        currency : "KRW",
        product1 : {
        date_a : "2020-11-01",
        airport_a : "ICN",
        airline_a : "DLH",
        airline_class_a : "economy",
        quantity : 1,
        revenue : 733500
        },
        product2 : {
        date_b : "2020-11-20",
        airport_b : "BCN",
        airline_b : "DLH",
        airline_class_b : "economy",
        quantity : 1,
        revenue : 733500
    	} 
    } 
})); 
Dictionary<string, object> purchase = new Dictionary<string, object>();
purchase.Add("transaction_id", "AIRINTSCH0100100210");
purchase.Add("currency", "KRW");
Dictionary<string, object> product1 = new Dictionary<string, object>();
product1.Add("date_a", "2020-11-01");
product1.Add("airport_a", "ICN");
product1.Add("airline_a", "DLH");
product1.Add("airline_class_a", "economy");
product1.Add("quantity", 1);
product1.Add("revenue", 733500);
Dictionary<string, object> product2 = new Dictionary<string, object>();
product2.Add("date_b", "2020-11-20");
product2.Add("airport_b", "BCN");
product2.Add("airline_b", "DLH");
product2.Add("airline_class_b", "economy");
product2.Add("quantity", 1);
product2.Add("revenue", 733500);
List<Dictionary<string, object>> productList = new List<Dictionary<string, object>>();
productList.Add(product1);
productList.Add(product2);
purchase.Add("product", productList);
DOT.logPurchase(purchase);

부킹 취소

부킹이 취소된 시점에 아래 코드를 추가합니다.

선택 속성

Key

Value 예시

Type

설명

refund_id

cf883

string

환불 고유번호

currency

KRW

string

통화코드

g8

329900

float

취소 수수료

g9

1137100

float

유저가 환불받은 금액

Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_cancel_booking");
eventMap.put("refund_id", "cf883");
eventMap.put("currency", "KRW");
eventMap.put("g8", 329900);
eventMap.put("g9", 1137100);
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_cancel_booking"
eventMap["refund_id"] = "cf883"
eventMap["currency"] = "KRW"
eventMap["g8"] = 329900
eventMap["g9"] = 1137100
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_cancel_booking"
event["refund_id"] = "cf883"
event["currency"] = "KRW"
event["g8"] = 329900
event["g9"] = 1137100
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_cancel_booking" forKey:@"event"];
[event setValue:@"cf883" forKey:@"refund_id"];
[event setValue:@"KRW" forKey:@"currency"];
[event setValue:[NSNumber numberWithInt:329900] forKey:@"g8"];
[event setValue:[NSNumber numberWithInt:1137100] forKey:@"g9"];
[DOT logEvent:event];
    var event = new Object();
    event["event"] = "w_cancel_booking";
    event["refund_id"] = "cf883";
    event["currency"] = "KRW";
    event["g8"] = 329900;
    event["g9"] = 1137100;
    DOT.logEvent(event);
    var event = new Object();
    event["event"] = "w_cancel_booking";
    event["refund_id"] = "cf883";
    event["currency"] = "KRW";
    event["g8"] = 329900;
    event["g9"] = 1137100;
    WDOT.logEvent(event);
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_cancel_booking";
event["refund_id"] = "cf883";
event["currency"] = "KRW";
event["g8"] = 329900;
event["g9"] = 1137100;
DOT.logEvent(event);

// webview 에서 호출 할 때
window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logEvent",
      data: {
              event : "w_cancel_booking",
              refund_id : "cf883",
              currency : "KRW",
              g8 : 329900,
              g9 : 1137100
      }
}));
// .js 에서 호출 할 때 
NativeModules.DotReactBridge.logEvent(JSON.stringify({
    event : "refund_id",
    refund_id : "cf883",
    currency : "cf883",
    g8 : 329900,
    g9 : 1137100
})); 

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	method:"logEvent",
	data : {
        event : "refund_id",
        refund_id : "cf883",
        currency : "cf883",
        g8 : 329900,
        g9 : 1137100
	}  
})); 
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_refund");
eventDic.Add("refund_id", "cf883");
eventDic.Add("currency", "KRW");
eventDic.Add("g8", 329900);
eventDic.Add("g9", 1137100);
DOT.logEvent(eventDic);
☑️