e-Commerce : 이커머스
이커머스 앱에서 측정을 권장하는 인앱 이벤트 API와 적용 예시를 안내합니다.
Last updated
이커머스 앱에서 측정을 권장하는 인앱 이벤트 API와 적용 예시를 안내합니다.
Last updated
속성 중 Key 이름은 가이드에 나와있는 Key 이름을 그대로 사용 해 주세요. (임의로 변경시 대시보드에서 데이터 확인이 어렵습니다. > product_id , product_name 등)
상품 상세 화면에 아래 코드를 추가합니다.
Map<String, Object> pageMap = new HashMap<>();
pageMap.put("event", "w_view_product");
Map<String, Object> productMap = new HashMap<>();
productMap.put("product_id", "2007289429");
productMap.put("product_name", "플랩 더블 버튼 트렌치코트");
productMap.put("category_id_a", "00100");
productMap.put("category_name_a", "여성패션");
productMap.put("category_id_b", "2984");
productMap.put("category_name_b", "트렌치코드");
productMap.put("brand_name", "STUDIO TOMBOY");
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"] = "2007289429"
productMap["product_name"] = "플랩 더블 버튼 트렌치코트"
productMap["category_id_a"] = "00100"
productMap["category_name_a"] = "여성패션"
productMap["category_id_b"] = "2984"
productMap["category_name_b"] = "트렌치코드"
productMap["brand_name"] = "STUDIO TOMBOY"
pageMap["product"] = productMap
DOT.logScreen(pageMap)
let screen = NSMutableDictionary()
screen["event"] = "w_view_product"
var product : [String: Any] = [:]
product["product_id"] = "2007289429"
product["product_name"] = "플랩 더블 버튼 트렌치코트"
product["category_id_a"] = "00100"
product["category_name_a"] = "여성패션"
product["category_id_b"] = "2984"
product["category_name_b"] = "트렌치코드"
product["brand_name"] = "STUDIO TOMBOY"
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:@"2007289429" forKey:@"product_id"];
[product setValue:@"플랩 더블 버튼 트렌치코트" forKey:@"product_name"];
[product setValue:@"00100" forKey:@"category_id_a"];
[product setValue:@"여성패션" forKey:@"category_name_a"];
[product setValue:@"2984" forKey:@"category_id_b"];
[product setValue:@"트렌치코드" forKey:@"category_name_b"];
[product setValue:@"STUDIO TOMBOY" forKey:@"brand_name"];
[screen setValue:product forKey:@"product"];
[DOT logScreen:screen];
var screen = new Object();
screen["event"] = "w_view_product";
var product = new Object();
product["product_id"] = "2007289429";
product["product_name"] = "플랩 더블 버튼 트렌치코트";
product["category_id_a"] = "00100";
product["category_name_a"] = "여성패션";
product["category_id_b"] = "2984";
product["category_name_b"] = "트렌치코드";
product["brand_name"] = "STUDIO TOMBOY";
screen["product"] = product;
DOT.logScreen(screen);
var screen = new Object();
screen["event"] = "w_view_product";
var product = new Object();
product["product_id"] = "2007289429";
product["product_name"] = "플랩 더블 버튼 트렌치코트";
product["category_id_a"] = "00100";
product["category_name_a"] = "여성패션";
product["category_id_b"] = "2984";
product["category_name_b"] = "트렌치코드";
product["brand_name"] = "STUDIO TOMBOY";
screen["product"] = product;
WDOT.onStartPage(screen);
// .dart 에서 호출 할 때
Map screen = {};
screen["event"] = "w_view_product";
Map product = {};
product["product_id"] = "2007289429";
product["product_name"] = "플랩 더블 버튼 트렌치코트";
product["category_id_a"] = "00100";
product["category_name_a"] = "여성패션";
product["category_id_b"] = "2984";
product["category_name_b"] = "트렌치코드";
product["brand_name"] = "STUDIO TOMBOY";
screen["product"] = product;
DOT.logScreen(screen);
// webview 에서 호출 할 때
DotFlutterDataBridge.postMessage(JSON.stringify({
method : "logScreen",
data: {
event : "w_view_product",
product_id : "2007289429",
product_name : "플랩 더블 버튼 트렌치코트",
category_id_a : "00100",
category_name_a : "여성패션",
category_id_b : "2984",
category_name_b : "트렌치코드",
brand_name : "STUDIO TOMBOY"
}
}));
// .js 에서 호출 할 때
NativeModules.DotReactBridge != null &&
(NativeModules.DotReactBridge.onStartPage(),
NativeModules.DotReactBridge.logScreen(
JSON.stringify({
event: 'w_view_product',
product: {
product_id: '2007289429',
product_name: '플랩 더블 버튼 트렌치코트',
category_id_a: '00100',
category_name_a: '여성패션',
category_id_b: '2984',
category_name_b: '트렌치코드',
brand_name: 'STUDIO TOMBOY',
},
}),
));
// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
method:"logScreen",
data : {
event : "w_view_product",
product : {
product_id : "2007289429",
product_name : "플랩 더블 버튼 트렌치코트",
category_id_a : "00100",
category_name_a : "여성패션",
category_id_b : "2984",
category_name_b : "트렌치코드",
brand_name : "STUDIO TOMBOY"
}
}
}));
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", "2007289429");
product.Add("product_name", "플랩 더블 버튼 트렌치코트");
product.Add("category_id_a", "00100");
product.Add("category_name_a", "여성패션");
product.Add("category_id_b", "2984");
product.Add("category_name_b", "트렌치코드");
product.Add("brand_name", "STUDIO TOMBOY");
page.Add("product", product);
DOT.logScreen(page);
상품 리스트 상세 화면에 아래 코드를 추가합니다.
Map<String, Object> eventMap = new HashMap<>();
pageMap.put("event", "w_view_product_list");
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
pageMap["event"] = "w_view_product_list"
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
screen["event"] = "w_view_product_list"
DOT.logEvent(event)
NSMutableDictionary *event= [[NSMutableDictionary alloc] init];
[event setValue:@"w_view_product_list" forKey:@"event"];
[DOT logEvent:event];
var event = new Object();
screen["event"] = "w_view_product_list";
DOT.logEvent(event);
var eventevent = new Object();
screen["event"] = "w_view_product_list";
WDOT.logEvent(event);
// .dart 에서 호출 할 때
Map event = {};
screen["event"] = "w_view_product_list";
DOT.logEvent(event);
// webview 에서 호출 할 때
DotFlutterDataBridge.postMessage(JSON.stringify({
method : "logEvent",
data: {
event : "w_view_product_list"
}
}));
// .js 에서 호출 할 때
NativeModules.DotReactBridge.logEvent(JSON.stringify({
event : "w_view_product_list"
}));
// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
method:"logEvent",
data : {
event : "w_view_product_list"
}
}));
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_view_product_list");
DOT.logEvent(eventDic);
상품 공유 버튼이 클릭되는 시점에 아래 코드를 추가합니다.
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_share");
eventMap.put("share_type", "kakao");
Map<String, Object> productMap = new HashMap<>();
productMap.put("product_id", "2007289429");
productMap.put("product_name", "플랩 더블 버튼 트렌치코트");
productMap.put("category_id_a", "00100");
productMap.put("category_name_a", "여성패션");
productMap.put("category_id_b", "2984");
productMap.put("category_name_b", "트렌치코드");
productMap.put("brand_name", "STUDIO TOMBOY");
eventMap.put("product", productMap);
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_share"
eventMap["share_type"] = "kakao"
val productMap = mutableMapOf<String,Any>()
productMap["product_id"] = "2007289429"
productMap["product_name"] = "플랩 더블 버튼 트렌치코트"
productMap["category_id_a"] = "00100"
productMap["category_name_a"] = "여성패션"
productMap["category_id_b"] = "2984"
productMap["category_name_b"] = "트렌치코드"
productMap["brand_name"] = "STUDIO TOMBOY"
eventMap["product"] = productMap
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_share"
event["share_type"] = "kakao"
var product : [String: Any] = [:]
product["product_id"] = "2007289429"
product["product_name"] = "플랩 더블 버튼 트렌치코트"
product["category_id_a"] = "00100"
product["category_name_a"] = "여성패션"
product["category_id_b"] = "2984"
product["category_name_b"] = "트렌치코드"
product["brand_name"] = "STUDIO TOMBOY"
event["product"] = product
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_share" forKey:@"event"];
NSMutableDictionary *product = [[NSMutableDictionary alloc] init];
[product setValue:@"2007289429" forKey:@"product_id"];
[product setValue:@"플랩 더블 버튼 트렌치코트" forKey:@"product_name"];
[product setValue:@"00100" forKey:@"category_id_a"];
[product setValue:@"여성패션" forKey:@"category_name_a"];
[product setValue:@"2984" forKey:@"category_id_b"];
[product setValue:@"트렌치코드" forKey:@"category_name_b"];
[product setValue:@"STUDIO TOMBOY" forKey:@"brand_name"];
[event setValue:product forKey:@"product"];
[DOT logEvent:event];
var event = new Object();
event["event"] = "w_share";
event["share_type"] = "kakao";
var product = new Object();
product["product_id"] = "2007289429";
product["product_name"] = "플랩 더블 버튼 트렌치코트";
product["category_id_a"] = "00100";
product["category_name_a"] = "여성패션";
product["category_id_b"] = "2984";
product["category_name_b"] = "트렌치코드";
product["brand_name"] = "STUDIO TOMBOY";
event["product"] = product;
DOT.logEvent(event);
var event = new Object();
event["event"] = "w_share";
event["share_type"] = "kakao";
var product = new Object();
product["product_id"] = "2007289429";
product["product_name"] = "플랩 더블 버튼 트렌치코트";
product["category_id_a"] = "00100";
product["category_name_a"] = "여성패션";
product["category_id_b"] = "2984";
product["category_name_b"] = "트렌치코드";
product["brand_name"] = "STUDIO TOMBOY";
event["product"] = product;
WDOT.logEvent(event);
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_share";
event["share_type"] = "kakao";
Map product = {};
product["product_id"] = "2007289429";
product["product_name"] = "플랩 더블 버튼 트렌치코트";
product["category_id_a"] = "00100";
product["category_name_a"] = "여성패션";
product["category_id_b"] = "2984";
product["category_name_b"] = "트렌치코드";
product["brand_name"] = "STUDIO TOMBOY";
event["product"] = product;
DOT.logEvent(event);
// webview 에서 호출 할 때
DotFlutterDataBridge.postMessage(JSON.stringify({
method : "logEvent",
data: {
event : "w_share",
share_type : "kakao",
product_id : "2007289429",
product_name : "플랩 더블 버튼 트렌치코트",
category_id_a : "00100",
category_name_a : "여성패션",
category_id_b : "2984",
category_name_b : "트렌치코드",
brand_name : "STUDIO TOMBOY"
}
}));
// .js 에서 호출 할 때
NativeModules.DotReactBridge.logEvent(JSON.stringify({
event : "w_share",
share_type : "kakao",
product : {
product_id : "2007289429",
product_name : "플랩 더블 버튼 트렌치코트",
category_id_a : "00100",
category_name_a : "여성패션",
category_id_b : "2984",
category_name_b : "트렌치코드",
brand_name : "STUDIO TOMBOY"
}
}));
// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
method:"logScreen",
data : {
event : "w_share",
share_type : "kakao",
product : {
product_id : "2007289429",
product_name : "플랩 더블 버튼 트렌치코트",
category_id_a : "00100",
category_name_a : "여성패션",
category_id_b : "2984",
category_name_b : "트렌치코드",
brand_name : "STUDIO TOMBOY"
}
}
}));
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_share");
eventDic.Add("share_type", "kakao");
Dictionary<string, object> product = new Dictionary<string, object>();
product.Add("product_id", "2007289429");
product.Add("product_name", "플랩 더블 버튼 트렌치코트");
product.Add("category_id_a", "00100");
product.Add("category_name_a", "여성패션");
product.Add("category_id_b", "2984");
product.Add("category_name_b", "트렌치코드");
product.Add("brand_name", "STUDIO TOMBOY");
eventDic.Add("product", product);
DOT.logEvent(eventDic);
쿠폰이 다운로드된 시점에 아래 코드를 추가합니다.
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_download_coupon");
eventMap.put("coupon_name", "신규가입기념 20% 할인");
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_download_coupon"
eventMap["coupon_name"] = "신규가입기념 20% 할인"
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_download_coupon"
event["coupon_name"] = "신규가입기념 20% 할인"
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_download_coupon" forKey:@"event"];
[event setValue:@"신규가입기념 20% 할인" forKey:@"coupon_name"];
[DOT logEvent:event];
var event = new Object();
event["event"] = "w_download_coupon";
event["coupon_name"] = "신규가입기념 20% 할인";
DOT.logEvent(event);
var event = new Object();
event["event"] = "w_download_coupon";
event["coupon_name"] = "신규가입기념 20% 할인";
WDOT.logEvent(event);
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_download_coupon";
event["coupon_name"] = "신규가입기념 20% 할인";
DOT.logEvent(event);
// webview 에서 호출 할 때
DotFlutterDataBridge.postMessage(JSON.stringify({
method : "logEvent",
data: {
event : "w_download_coupon",
coupon_name : "신규가입기념 20% 할인"
}
}));
// .js 에서 호출 할 때
NativeModules.DotReactBridge.logEvent(JSON.stringify({
event : "w_download_coupon",
coupon_name : "신규가입기념 20% 할인"
}));
// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
method:"logEvent",
data : {
event : "w_download_coupon",
coupon_name : "신규가입기념 20% 할인"
}
}));
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_download_coupon");
eventDic.Add("coupon_name", "신규가입기념 20% 할인");
DOT.logEvent(eventDic);
쿠폰을 사용 완료하는 시점에 아래 코드를 추가합니다.
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_use_coupon");
eventMap.put("coupon_name", "신규가입기념 20% 할인");
eventMap.put("g1", 5000);
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_use_coupon"
eventMap["coupon_name"] = "신규가입기념 20% 할인"
eventMap["g1"] = 5000
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_use_coupon"
event["coupon_name"] = "신규가입기념 20% 할인"
event["g1"] = 5000
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_use_coupon" forKey:@"event"];
[event setValue:@"신규가입기념 20% 할인" forKey:@"coupon_name"];
[event setValue:[NSNumber numberWithInt:5000] forKey:@"g1"];
[DOT logEvent:event];
var event = new Object();
event["event"] = "w_use_coupon";
event["coupon_name"] = "신규가입기념 20% 할인";
event["g1"] = 5000;
DOT.logEvent(event);
var event = new Object();
event["event"] = "w_use_coupon";
event["coupon_name"] = "신규가입기념 20% 할인";
event["g1"] = 5000;
WDOT.logEvent(event);
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_use_coupon";
event["coupon_name"] = "신규가입기념 20% 할인";
event["g1"] = 5000;
DOT.logEvent(event);
// webview 에서 호출 할 때
DotFlutterDataBridge.postMessage(JSON.stringify({
method : "logEvent",
data: {
event : "w_use_coupon",
coupon_name : "신규가입기념 20% 할인",
g1 : 5000
}
}));
// .js 에서 호출 할 때
NativeModules.DotReactBridge.logEvent(JSON.stringify({
event : "w_use_coupon",
coupon_name : "신규가입기념 20% 할인",
g1 : 5000
}));
// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
method:"logEvent",
data : {
event : "w_use_coupon",
coupon_name : "신규가입기념 20% 할인",
g1 : 5000
}
}));
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_use_coupon");
eventDic.Add("coupon_name", "신규가입기념 20% 할인");
eventDic.Add("g1", 5000);
DOT.logEvent(eventDic);
크레딧을 사용 완료하는 시점에 아래 코드를 추가합니다.
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_use_credit");
eventMap.put("credit_name", "네이버페이 크레딧");
eventMap.put("g3", 7500);
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_use_credit"
eventMap["credit_name"] = "네이버페이 크레딧"
eventMap["g3"] = 7500
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_use_credit"
event["credit_name"] = "네이버페이 크레딧"
event["g3"] = 7500
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_use_credit" forKey:@"event"];
[event setValue:@"네이버페이 크레딧" forKey:@"credit_name"];
[event setValue:[NSNumber numberWithInt:7500] forKey:@"g3"];
[DOT logEvent:event];
var event = new Object();
event["event"] = "w_use_credit";
event["credit_name"] = "네이버페이 크레딧";
event["g3"] = 7500;
DOT.logEvent(event);
var event = new Object();
event["event"] = "w_use_credit";
event["credit_name"] = "네이버페이 크레딧";
event["g3"] = 7500;
WDOT.logEvent(event);
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_use_credit";
event["credit_name"] = "네이버페이 크레딧";
event["g3"] = 7500;
DOT.logEvent(event);
// webview 에서 호출 할 때
DotFlutterDataBridge.postMessage(JSON.stringify({
method : "logEvent",
data: {
event : "w_use_credit",
credit_name : "네이버페이 크레딧",
g3 : 7500
}
}));
// .js 에서 호출 할 때
NativeModules.DotReactBridge.logEvent(JSON.stringify({
event : "w_use_credit",
credit_name : "네이버페이 크레딧",
g5 : 7500
}));
// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
method:"logEvent",
data : {
event : "w_use_credit",
credit_name : "네이버페이 크레딧",
g5 : 7500
}
}));
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_use_credit");
eventDic.Add("credit_name", "네이버페이 크레딧");
eventDic.Add("g3", 7500);
DOT.logEvent(eventDic);
쿠폰 및 크레딧 이외 기타 할인을 사용 완료하는 시점에 아래 코드를 추가합니다.
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_other_discounts");
eventMap.put("g1", 10000);
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_other_discounts"
eventMap["g1"] = 10000
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_other_discounts"
event["g5"] = 10000
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_other_discounts" forKey:@"event"];
[event setValue:[NSNumber numberWithInt:10000] forKey:@"g5"];
[DOT logEvent:event];
var event = new Object();
event["event"] = "w_other_discounts";
event["g5"] = 10000;
DOT.logEvent(event);
var event = new Object();
event["event"] = "w_other_discounts";
event["g5"] = 10000;
WDOT.logEvent(event);
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_other_discounts";
event["g5"] = 10000;
DOT.logEvent(event);
// webview 에서 호출 할 때
DotFlutterDataBridge.postMessage(JSON.stringify({
method : "logEvent",
data: {
event : "w_other_discounts",
g5 : 10000
}
}));
// .js 에서 호출 할 때
NativeModules.DotReactBridge.logEvent(JSON.stringify({
event : "w_other_discounts",
g5 : 10000
}));
// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
method:"logEvent",
data : {
event : "w_other_discounts",
g5 : 10000
}
}));
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_other_discounts");
eventDic.Add("g5", 10000);
DOT.logEvent(eventDic);
상품의 리뷰를 조회하는 시점 또는 리뷰 상세화면에 아래 코드를 추가합니다.
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_see_review");
Map<String, Object> productMap = new HashMap<>();
productMap.put("product_id", "2007289429");
productMap.put("product_name", "플랩 더블 버튼 트렌치코트");
productMap.put("category_id_a", "00100");
productMap.put("category_name_a", "여성패션");
productMap.put("category_id_b", "2984");
productMap.put("category_name_b", "트렌치코드");
productMap.put("brand_name", "STUDIO TOMBOY");
eventMap.put("product", productMap);
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_see_review"
val productMap = mutableMapOf<String,Any>()
productMap["product_id"] = "2007289429"
productMap["product_name"] = "플랩 더블 버튼 트렌치코트"
productMap["category_id_a"] = "00100"
productMap["category_name_a"] = "여성패션"
productMap["category_id_b"] = "2984"
productMap["category_name_b"] = "트렌치코드"
productMap["brand_name"] = "STUDIO TOMBOY"
eventMap["product"] = productMap
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_see_review"
var product : [String: Any] = [:]
product["product_id"] = "2007289429"
product["product_name"] = "플랩 더블 버튼 트렌치코트"
product["category_id_a"] = "00100"
product["category_name_a"] = "여성패션"
product["category_id_b"] = "2984"
product["category_name_b"] = "트렌치코드"
product["brand_name"] = "STUDIO TOMBOY"
event["product"] = product
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_see_review" forKey:@"event"];
NSMutableDictionary *product = [[NSMutableDictionary alloc] init];
[product setValue:@"2007289429" forKey:@"product_id"];
[product setValue:@"플랩 더블 버튼 트렌치코트" forKey:@"product_name"];
[product setValue:@"00100" forKey:@"category_id_a"];
[product setValue:@"여성패션" forKey:@"category_name_a"];
[product setValue:@"2984" forKey:@"category_id_b"];
[product setValue:@"트렌치코드" forKey:@"category_name_b"];
[product setValue:@"STUDIO TOMBOY" forKey:@"brand_name"];
[event setValue:product forKey:@"product"];
[DOT logEvent:event];
var event = new Object();
event["event"] = "w_see_review";
var product = new Object();
product["product_id"] = "2007289429";
product["product_name"] = "플랩 더블 버튼 트렌치코트";
product["category_id_a"] = "00100";
product["category_name_a"] = "여성패션";
product["category_id_b"] = "2984";
product["category_name_b"] = "트렌치코드";
product["brand_name"] = "STUDIO TOMBOY";
event["product"] = product;
DOT.logEvent(event);
var event = new Object();
event["event"] = "w_see_review";
var product = new Object();
product["product_id"] = "2007289429";
product["product_name"] = "플랩 더블 버튼 트렌치코트";
product["category_id_a"] = "00100";
product["category_name_a"] = "여성패션";
product["category_id_b"] = "2984";
product["category_name_b"] = "트렌치코드";
product["brand_name"] = "STUDIO TOMBOY";
event["product"] = product;
WDOT.logEvent(event);
// .dart 에서 호출 할 때
Map event = {};