Mobility : 모빌리티

모빌리티 앱에서 측정을 권장하는 인앱 이벤트 API와 적용 예시를 안내합니다.
속성 중 Key 이름은 가이드에 나와있는 Key 이름을 그대로 사용 해 주세요. (임의로 변경시 대시보드에서 데이터 확인이 어렵습니다. > car_name, car_type 등)

차량 등록

차량이 등록된 시점에 아래 코드를 추가합니다.

선택 속성

Key
Value 예시
Type
설명
car_name
레이
string
차량 명칭
car_type
소형
string
차량 유형
car_subtype_a
하이패스
string
차량 기타 속성
Java
Kotlin
Swift
Objective-C
Mobile Webview
Website
Flutter
ReactNative
C#
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_add_car_info");
eventMap.put("car_name", "레이");
eventMap.put("car_type", "소형");
eventMap.put("car_subtype_a", "하이패스");
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_add_car_info"
eventMap["car_name"] = "레이"
eventMap["car_type"] = "소형"
eventMap["car_subtype_a"] = "하이패스"
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_add_car_info"
event["car_name"] = "레이"
event["car_type"] = "소형"
event["car_subtype_a"] = "하이패스"
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_add_car_info" forKey:@"event"];
[event setValue:@"레이" forKey:@"car_name"];
[event setValue:@"소형" forKey:@"car_type"];
[event setValue:@"하이패스" forKey:@"car_subtype_a"];
[DOT logEvent:event];
<script type="wisetracker/text" id="wiseTracker2">
var event = new Object();
event["event"] = "w_add_car_info";
event["car_name"] = "레이";
event["car_type"] = "소형";
event["car_subtype_a"] = "하이패스";
DOT.logEvent(event);
</script>
<script type="text/javascript">
var event = new Object();
event["event"] = "w_add_car_info";
event["car_name"] = "레이";
event["car_type"] = "소형";
event["car_subtype_a"] = "하이패스";
WDOT.logEvent(event);
</script>
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_add_car_info";
event["car_name"] = "레이";
event["car_type"] = "소형";
event["car_subtype_a"] = "하이패스";
DOT.logEvent(event);
// webview 에서 호출 할 때
DotFlutterDataBridge.postMessage(JSON.stringify({
method : "logEvent",
data: {
event : "w_add_car_info",
car_name : "레이",
car_type : "소형",
car_subtype_a : "하이패스"
}
}));
// .js 에서 호출 할 때
NativeModules.DotReactBridge.logEvent(JSON.stringify({
event : "w_add_car_info",
car_name : "레이",
car_type : "소형",
car_subtype_a : "하이패스"
}));
// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
method:"logEvent",
data : {
event : "w_add_car_info",
car_name : "레이",
car_type : "소형",
car_subtype_a : "하이패스"
}
}));
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_add_car_info");
eventDic.Add("car_name", "레이");
eventDic.Add("car_type", "소형");
eventDic.Add("car_subtype_a", "하이패스");
DOT.logEvent(eventDic);

북마크 등록

특정 위치가 북마크로 등록된 시점에 아래 코드를 추가합니다.

선택 속성

Key
Value 예시
Type
설명
bookmark_type
string
북마크 명칭 또는 유형
city
서울시
string
등록된 위치의 도시 정보
Java
Kotlin
Swift
Objective-C
Mobile Webview
Website
Flutter
ReactNative
C#
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_bookmarked");
eventMap.put("bookmark_type", "집");
eventMap.put("city", "서울시");
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_bookmarked"
eventMap["bookmark_type"] = "집"
eventMap["city"] = "서울시"
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_bookmarked"
event["bookmark_type"] = "집"
event["city"] = "서울시"
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_bookmarked" forKey:@"event"];
[event setValue:@"집" forKey:@"bookmark_type"];
[event setValue:@"서울시" forKey:@"city"];
[DOT logEvent:event];
<script type="wisetracker/text" id="wiseTracker2">
var event = new Object();
event["event"] = "w_bookmarked";
event["bookmark_type"] = "집";
event["city"] = "서울시";
DOT.logEvent(event);
</script>
<script type="text/javascript">
var event = new Object();
event["event"] = "w_bookmarked";
event["bookmark_type"] = "집";
event["city"] = "서울시";
WDOT.logEvent(event);
</script>
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_bookmarked";
event["bookmark_type"] = "집";
event["city"] = "서울시";
DOT.logEvent(event);
// webview 에서 호출 할 때
DotFlutterDataBridge.postMessage(JSON.stringify({
method : "logEvent",
data: {
event : "w_bookmarked",
bookmark_type : "집",
city : "서울시"
}
}));
// .js 에서 호출 할 때
NativeModules.DotReactBridge.logEvent(JSON.stringify({
event : "w_bookmarked",
bookmark_type : "집",
city : "서울시"
}));
// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
method:"logEvent",
data : {
event : "w_bookmarked",
bookmark_type : "집",
city : "서울시"
}
}));
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_bookmarked");
eventDic.Add("bookmark_type", "집");
eventDic.Add("city", "서울시");
DOT.logEvent(eventDic);

결제 수단 등록

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

선택 속성

Key
Value 예시
Type
설명
payment_name
현대카드
string
결제수단 명칭
payment_type
신용카드
string
결제수단 유형
Java
Kotlin
Swift
Objective-C
Mobile Webview
Website
Flutter
ReactNative
C#
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];
<script type="wisetracker/text" id="wiseTracker2">
var event = new Object();
event["event"] = "w_add_payment_info";
event["payment_name"] = "현대카드";
event["payment_type"] = "신용카드";
DOT.logEvent(event);
</script>
<script type="text/javascript">
var event = new Object();
event["event"] = "w_add_payment_info";
event["payment_name"] = "현대카드";
event["payment_type"] = "신용카드";
WDOT.logEvent(event);
</script>
// .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_add_payment_info",
payment_name : "현대카드",
payment_type : "신용카드"
}));
// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
method:"logEvent",
data : {
event : "w_add_payment_info",
payment_name : "현대카드",
payment_type : "신용카드"
}
}));
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_add_payment_info");
eventDic.Add("payment_name", "현대카드");
eventDic.Add("payment_type", "신용카드");
DOT.logEvent(eventDic);

목적지 검색

목적지 검색이 완료된 시점에 아래 코드를 추가합니다.

선택 속성

Key
Value 예시
Type
설명
destination_a
선릉역
string
출발 지역
destination_b
올림픽공원
string
도착 지역
g20
2
float
검색 결과로 출력된 아이템 개수

출발지와 목적지를 함께 검색하는 경우

Java
Kotlin
Swift
Objective-C
Mobile Webview
Website
Flutter
ReactNative
C#
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_search_destination");
eventMap.put("destination_a", "선릉역");
eventMap.put("destination_b", "올림픽공원");
eventMap.put("g20", 2);
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_search_destination"
eventMap["destination_a"] = "선릉역"
eventMap["destination_b"] = "올림픽공원"
eventMap["g20"] = 2
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_search_destination"
event["destination_a"] = "선릉역"
event["destination_b"] = "올림픽공원"
event["g20"] = 2
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_search_destination" forKey:@"event"];
[event setValue:@"선릉역" forKey:@"destination_a"];
[event setValue:@"올림픽공원" forKey:@"destination_b"];
[event setValue:[NSNumber numberWithInt:2] forKey:@"g20"];
[DOT logEvent:event];
<script type="wisetracker/text" id="wiseTracker2">
var event = new Object();
event["event"] = "w_search_destination";
event["destination_a"] = "선릉역";
event["destination_b"] = "올림픽공원";
event["g20"] = 2;
DOT.logEvent(event);
</script>
<script type="text/javascript">
var event = new Object();
event["event"] = "w_search_destination";
event["destination_a"] = "선릉역";
event["destination_b"] = "올림픽공원";
event["g20"] = 2;
WDOT.logEvent(event);
</script>
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_search_destination";
event["destination_a"] = "선릉역";
event["destination_b"] = "올림픽공원";
event["g20"] = 2;
DOT.logEvent(event);
// webview 에서 호출 할 때
DotFlutterDataBridge.postMessage(JSON.stringify({
method : "logEvent",
data: {
event : "w_search_destination",
destination_a : "선릉역",
destination_b : "올림픽공원",
g20 : 2
}
}));
// .js 에서 호출 할 때
NativeModules.DotReactBridge.logEvent(JSON.stringify({
event : "w_search_destination",
destination_a : "선릉역",
destination_b : "올림픽공원",
g20 : 2
}));
// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
method:"logEvent",
data : {
event : "w_search_destination",
destination_a : "선릉역",
destination_b : "올림픽공원",
g20 : 2
}
}));
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_search_destination");
eventDic.Add("destination_a", "선릉역");
eventDic.Add("destination_b", "올림픽공원");
eventDic.Add("g20", 2);
DOT.logEvent(eventDic);

목적지만 검색하는 경우

Java
Kotlin
Swift
Objective-C
Mobile Webview
Website
Flutter
ReactNative
C#
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_search_destination");
eventMap.put("destination_b", "올림픽공원");
eventMap.put("g20", 2);
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_search_destination"
eventMap["destination_b"] = "올림픽공원"
eventMap["g20"] = 2
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_search_destination"
event["destination_b"] = "올림픽공원"
event["g20"] = 2
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_search_destination" forKey:@"event"];
[event setValue:@"올림픽공원" forKey:@"destination_b"];
[event setValue:[NSNumber numberWithInt:2] forKey:@"g20"];
[DOT logEvent:event];
<script type="wisetracker/text" id="wiseTracker2">
var event = new Object();
event["event"] = "w_search_destination";
event["destination_b"] = "올림픽공원";
event["g20"] = 2;
DOT.logEvent(event);
</script>
<script type="text/javascript">
var event = new Object();
event["event"] = "w_search_destination";
event["destination_b"] = "올림픽공원";
event["g20"] = 2;
WDOT.logEvent(event);
</script>
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_search_destination";
event["destination_b"] = "올림픽공원";
event["g20"] = 2;
DOT.logEvent(event);
// webview 에서 호출 할 때
DotFlutterDataBridge.postMessage(JSON.stringify({
method : "logEvent",
data: {
event : "w_search_destination",
destination_b : "올림픽공원",
g20 : 2
}
}));
// .js 에서 호출 할 때
NativeModules.DotReactBridge.logEvent(JSON.stringify({
event : "w_search_destination",
destination_b : "올림픽공원",
g20 : 2
}));
// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
method:"logEvent",
data : {
event : "w_search_destination",
destination_b : "올림픽공원",
g20 : 2
}
}));
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_search_destination");
eventDic.Add("destination_b", "올림픽공원");
eventDic.Add("g20", 2);
DOT.logEvent(eventDic);

차량 호출

차량 호출이 완료된 시점에 아래 코드를 추가합니다.

선택 속성

Key
Value 예시
Type
설명
destination_a
선릉역
string
차량이 출발하는 지역명
destination_b
올림픽공원
string
차량이 도착할 지역명
distance
5.8
float
목적지까지의 거리
city
서울
string
차량을 호출하는 위치가 속한 도시
price
31500
double
운행요금
currency
KRW
string
통화코드
product_id
C30403
string
요청한 상품코드
product_name
베이직
string
요청한 상품명칭
Java
Kotlin
Swift
Objective-C
Mobile Webview
Website
Flutter
ReactNative
C#
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_request_ride");
eventMap.put("destination_a", "선릉역");
eventMap.put("destination_b", "올림픽공원");
eventMap.put("distance", 5.8);
eventMap.put("city", "서울");
eventMap.put("price", 31500);
eventMap.put("currency", "KRW");
Map<String, Object> productMap = new HashMap<>();
productMap.put("product_id", "C30403");
productMap.put("product_name", "베이직");
eventMap.put("product", productMap);
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_request_ride"
eventMap["destination_a"] = "선릉역"
eventMap["destination_b"] = "올림픽공원"
eventMap["distance"] = 5.8
eventMap["city"] = "서울"
eventMap["price"] = 31500
eventMap["currency"] = "KRW"
val productMap = mutableMapOf<String,Any>()
productMap["product_id"] = "C30403"
productMap["product_name"] = "베이직"
eventMap["product"] = productMap
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_request_ride"
event["destination_a"] = "선릉역"
event["destination_b"] = "올림픽공원"
event["distance"] = 5.8
event["city"] = "서울"
event["price"] = 31500
event["currency"] = "KRW"
var product : [String: Any] = [:]
product["product_id"] = "C30403"
product["product_name"] = "베이직"
event["product"] = product
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_request_ride" forKey:@"event"];
[event setValue:@"선릉역" forKey:@"destination_a"];
[event setValue:@"올림픽공원" forKey: