Messaging : 푸시/인앱 메시지
Wisetracker Messaging 서비스를 이용하는 고객들을 대상으로 측정을 권장하는 인앱 이벤트 API와 적용 예시를 안내합니다.
Last updated
Wisetracker Messaging 서비스를 이용하는 고객들을 대상으로 측정을 권장하는 인앱 이벤트 API와 적용 예시를 안내합니다.
Last updated
속성 중 Key 이름은 가이드에 나와있는 Key 이름을 그대로 사용 해 주세요. (임의로 변경시 대시보드에서 데이터 확인이 어렵습니다. > signupTp , loginTp 등)
푸시메시지 알림 허용이 완료된 시점에 아래 코드를 추가합니다.
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_notification_opt_in");
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_notification_opt_in"
DOT.logEvent(eventMap)
var screen = NSMutableDictionary()
screen["event"] = "w_notification_opt_in"
DOT.logEvent(screen)
NSMutableDictionary *screen = [[NSMutableDictionary alloc] init];
[screen setValue:@"w_notification_opt_in" forKey:@"event"];
[DOT logEvent:screen];
var screen = new Object();
screen["event"] = "w_notification_opt_in";
DOT.logEvent(screen);
// 웹사이트의 푸시수신동의여부는 해당사항 없습니다.
// .dart 에서 호출 할 때
Map notification = {};
notification["event"] = "w_notification_opt_in";
DOT.logEvent(notification);
// webview 에서 호출 할 때
DotFlutterDataBridge.postMessage(JSON.stringify({
method : "logEvent",
data: {
event : "w_notification_opt_in"
}
}));
// .js 에서 호출 할 때
NativeModules.DotReactBridge.logEvent(JSON.stringify({
event : "w_notification_opt_in"
}));
// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
method:"logEvent",
data : {
event : "w_notification_opt_in"
}
}));
Dictionary<string, object> page = new Dictionary<string, object>();
page.Add("event", "w_notification_opt_in");
DOT.logEvent(page);
푸시메시지 알림 거부가 완료된 시점에 아래 코드를 추가합니다.
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_notification_opt_in_reject");
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_notification_opt_in_reject"
DOT.logEvent(eventMap)
var screen = NSMutableDictionary()
screen["event"] = "w_notification_opt_in_reject"
DOT.logEvent(screen)
NSMutableDictionary *screen = [[NSMutableDictionary alloc] init];
[screen setValue:@"w_notification_opt_in_reject" forKey:@"event"];
[DOT logEvent:screen];
var screen = new Object();
screen["event"] = "w_notification_opt_in_reject";
DOT.logEvent(screen);
// 웹사이트의 푸시수신동의여부는 해당사항 없습니다.
// .dart 에서 호출 할 때
Map notification = {};
notification["event"] = "w_notification_opt_in_reject";
DOT.logEvent(notification);
// webview 에서 호출 할 때
DotFlutterDataBridge.postMessage(JSON.stringify({
method : "logEvent",
data: {
event : "w_notification_opt_in_reject"
}
}));
// .js 에서 호출 할 때
NativeModules.DotReactBridge.logEvent(JSON.stringify({
event : "w_notification_opt_in_reject"
}));
// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
method:"logEvent",
data : {
event : "w_notification_opt_in_reject"
}
}))
Dictionary<string, object> page = new Dictionary<string, object>();
page.Add("event", "w_notification_opt_in_reject");
DOT.logEvent(page);
인앱메시지가 노출된 시점에 아래 코드를 추가합니다.
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_inappmsg_impression");
DOT.logScreen(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_inappmsg_impression"
DOT.logScreen(eventMap)
var screen = NSMutableDictionary()
screen["event"] = "w_inappmsg_impression"
DOT.logScreen(screen)
NSMutableDictionary *screen = [[NSMutableDictionary alloc] init];
[screen setValue:@"w_inappmsg_impression" forKey:@"event"];
[DOT logScreen:screen];
var screen = new Object();
screen["event"] = "w_inappmsg_impression";
DOT.logScreen(screen);
var screen = new Object();
screen["event"] = "w_inappmsg_impression";
WDOT.logScreen(screen);
// .dart 에서 호출 할 때
Map impression = {};
notification["event"] = "w_inappmsg_impression";
DOT.logScreen(impression);
// webview 에서 호출 할 때
DotFlutterDataBridge.postMessage(JSON.stringify({
method : "logScreen",
data: {
event : "w_inappmsg_impression"
}
}));
// .js 에서 호출 할 때
NativeModules.DotReactBridge.logScreen(JSON.stringify({
event : "w_inappmsg_impression"
}));
// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
method:"logScreen",
data : {
event : "w_inappmsg_impression"
}
}));
Dictionary<string, object> page = new Dictionary<string, object>();
page.Add("event", "w_inappmsg_impression");
DOT.logScreen(page);
인앱메시지를 클릭한 시점에 아래 코드를 추가합니다.
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_inappmsg_click");
DOT.logEvent(eventMap);
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_inappmsg_click"
DOT.logEvent(eventMap)
let event = NSMutableDictionary()
event["event"] = "w_inappmsg_click"
DOT.logEvent(event)
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_inappmsg_click" forKey:@"event"];
[DOT logEvent:event];
var event = new Object();
event["event"] = "w_inappmsg_click";
DOT.logEvent(event);
var event = new Object();
event["event"] = "w_inappmsg_click";
WDOT.logEvent(event);
// .dart 에서 호출 할 때
Map inappmsgClick = {};
inappmsgClick["event"] = "w_inappmsg_click";
DOT.logEvent(inappmsgClick);
// webview 에서 호출 할 때
DotFlutterDataBridge.postMessage(JSON.stringify({
method : "logEvent",
data: {
event : "w_inappmsg_click"
}
}));
// .js 에서 호출 할 때
NativeModules.DotReactBridge.logEvent(JSON.stringify({
event : "w_inappmsg_click"
}));
// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
method:"logEvent",
data : {
event : "w_inappmsg_click"
}
}));
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_inappmsg_click");
DOT.logEvent(eventDic);