Travel : 여행 및 레저
여행 앱에서 측정을 권장하는 인앱 이벤트 API와 적용 예시를 안내합니다.
☑️속성 중 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 에서 호출 할 때
DotFlutterDataBridge.postMessage(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 에서 호출 할 때
DotFlutterDataBridge.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
}
}));
// .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 에서 호출 할 때
DotFlutterDataBridge.postMessage(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 에서 호출 할 때
DotFlutterDataBridge.postMessage(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 에서 호출 할 때
DotFlutterDataBridge.postMessage(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 에서 호출 할 때
DotFlutterDataBridge.postMessage(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 에서 호출 할 때
DotFlutterDataBridge.postMessage(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");