# Entertainment : 엔터테인먼트

:ballot\_box\_with\_check:속성 중 **Key** 이름은 가이드에 나와있는 **Key** 이름을 그대로 사용 해 주세요.\
(임의로 변경시 대시보드에서 데이터 확인이 어렵습니다.  > product\_id , product\_name 등)

## 트라이얼 완료

정식 구독이 아닌 트라이얼 구독이 완료되는 시점에 아래 코드를 추가합니다.

#### **선택 속성**

<table data-header-hidden><thead><tr><th>Key</th><th width="151">Value 예시</th><th width="150">Type</th><th>설명</th></tr></thead><tbody><tr><td>Key</td><td>Value 예시</td><td>Type</td><td>설명</td></tr><tr><td>trial_method</td><td>SKT 제휴</td><td>string</td><td>제휴 수단</td></tr></tbody></table>

{% tabs %}
{% tab title="Java" %}

```java
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_trial_complete");
eventMap.put("trial_method", "SKT 제휴");
DOT.logEvent(eventMap);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_trial_complete"
eventMap["trial_method"] = "SKT 제휴"
DOT.logEvent(eventMap)
```

{% endtab %}

{% tab title="Swift" %}

```swift
let event = NSMutableDictionary()
event["event"] = "w_trial_complete"
event["trial_method"] = "SKT 제휴"
DOT.logEvent(event)
```

{% endtab %}

{% tab title="Objective-C" %}

```objectivec
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_trial_complete" forKey:@"event"];
[event setValue:@"SKT 제휴" forKey:@"trial_method"];
[DOT logEvent:event];
```

{% endtab %}

{% tab title="Mobile Webview" %}

```javascript
    var event = new Object();
    event["event"] = "w_trial_complete";
    event["trial_method"] = "SKT 제휴";
    DOT.logEvent(event);
```

{% endtab %}

{% tab title="Website" %}

```javascript
    var event = new Object();
    event["event"] = "w_trial_complete";
    event["trial_method"] = "SKT 제휴";
    WDOT.logEvent(event);
```

{% endtab %}

{% tab title="Flutter" %}

```javascript
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_trial_complete";
event["trial_method"] = "SKT 제휴";
DOT.logEvent(event);

// webview 에서 호출 할 때
window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logEvent",
      data: {
              event : "w_trial_complete",
              trial_method : "SKT 제휴"
      }
}));
```

{% endtab %}

{% tab title="ReactNative" %}

```javascript
// .js 에서 호출 할 때 
NativeModules.DotReactBridge.logEvent(JSON.stringify({
    event : "w_trial_complete",
    trial_method : "SKT 제휴"
}));

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	method:"logEvent",
	data : {
	    event : "w_trial_complete",
	    trial_method : "SKT 제휴"
	}  
})); 
```

{% endtab %}

{% tab title="C#" %}

```csharp
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_trial_complete");
eventDic.Add("trial_method", "SKT 제휴");
DOT.logEvent(eventDic);
```

{% endtab %}
{% endtabs %}

## 구독 완료

구독이 완료되는 시점에 아래 코드를 추가합니다.

#### **선택 속성**

<table data-header-hidden><thead><tr><th>Key</th><th>Value 예시</th><th width="150">Type</th><th>설명</th></tr></thead><tbody><tr><td>Key</td><td>Value 예시</td><td>Type</td><td>설명</td></tr><tr><td>transaction_id</td><td>SC87483</td><td>string</td><td>주문번호</td></tr><tr><td>currency</td><td>KRW</td><td>string</td><td>통화코드</td></tr><tr><td>subscription_method</td><td>신용카드</td><td>string</td><td>결제 수단 정보</td></tr><tr><td>product_id</td><td>FL828</td><td>string</td><td>상품코드</td></tr><tr><td>product_name</td><td>모바일 무제한 듣기 정기결제</td><td>string</td><td>상품명칭</td></tr><tr><td>quantity</td><td>1</td><td>integer</td><td>구독한 상품 개수</td></tr><tr><td>revenue</td><td>6900</td><td>double</td><td>유저가 결제한 금액</td></tr></tbody></table>

{% tabs %}
{% tab title="Java" %}

```java
Map<String, Object> purchaseMap = new HashMap<>();
purchaseMap.put("transaction_id", "SC87483");
purchaseMap.put("currency", "KRW");
purchaseMap.put("subscription_method", "신용카드");
Map<String, Object> productMap = new HashMap<>();
productMap.put("product_id", "FL828");
productMap.put("product_name", "모바일 무제한 듣기 정기결제");
productMap.put("quantity", 1);
productMap.put("revenue", 6900);
purchaseMap.put("product", productMap);
DOT.logPurchase(purchaseMap);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
val purchaseMap = mutableMapOf<String,Any>()
purchaseMap["transaction_id"] = "SC87483"
purchaseMap["currency"] = "KRW"
purchaseMap["subscription_method"] = "신용카드"
val productMap = mutableMapOf<String,Any>()
productMap["product_id"] = "FL828"
productMap["product_name"] = "모바일 무제한 듣기 정기결제"
productMap["quantity"] = 1
productMap["revenue"] = 6900
purchaseMap["product"] = productMap
DOT.logPurchase(purchaseMap)
```

{% endtab %}

{% tab title="Swift" %}

```swift
let purchase = NSMutableDictionary()
purchase["transaction_id"] = "SC87483"
purchase["currency"] = "KRW"
purchase["subscription_method"] = "신용카드"
var product : [String: Any] = [:]
product["product_id"] = "FL828"
product["product_name"] = "모바일 무제한 듣기 정기결제"
product["quantity"] = 1
product["revenue"] = 6900
purchase["product"] = product
DOT.logPurchase(purchase)
```

{% endtab %}

{% tab title="Objective-C" %}

```objectivec
NSMutableDictionary *purchase = [[NSMutableDictionary alloc] init];
[purchase setValue:@"SC87483" forKey:@"transaction_id"];
[purchase setValue:@"KRW" forKey:@"currency"];
[purchase setValue:@"신용카드" forKey:@"subscription_method"];
NSMutableDictionary *product = [[NSMutableDictionary alloc] init];
[product setValue:@"FL828" forKey:@"product_id"];
[product setValue:@"모바일 무제한 듣기 정기결제" forKey:@"product_name"];
[product setValue:[NSNumber numberWithInt:1] forKey:@"quantity"];
[product setValue:[NSNumber numberWithInt:6900] forKey:@"revenue"];
[purchase setValue:product forKey:@"product"];
[DOT logPurchase:purchase];
```

{% endtab %}

{% tab title="Mobile Webview" %}

```javascript
    var purchase = new Object();
    purchase["transaction_id"] = "SC87483";
    purchase["currency"] = "KRW";
    purchase["subscription_method"] = "신용카드";
    var product = new Object();
    product["product_id"] = "FL828";
    product["product_name"] = "모바일 무제한 듣기 정기결제";
    product["quantity"] = 1;
    product["revenue"] = 6900;
    purchase["product"] = product;
    DOT.logPurchase(purchase);
```

{% endtab %}

{% tab title="Website" %}

```javascript
    var purchase = new Object();
    purchase["transaction_id"] = "SC87483";
    purchase["currency"] = "KRW";
    purchase["subscription_method"] = "신용카드";
    var product = new Object();
    product["product_id"] = "FL828";
    product["product_name"] = "모바일 무제한 듣기 정기결제";
    product["quantity"] = 1;
    product["revenue"] = 6900;
    purchase["product"] = product;
    WDOT.logPurchase(purchase);
```

{% endtab %}

{% tab title="Flutter" %}

```javascript
// .dart 에서 호출 할 때 
Map purchase = {};
purchase["transaction_id"] = "SC87483";
purchase["currency"] = "KRW";
purchase["subscription_method"] = "신용카드";
Map product = {};
product["product_id"] = "FL828";
product["product_name"] = "모바일 무제한 듣기 정기결제";
product["quantity"] = 1;
product["revenue"] = 6900;
purchase["product"] = product;
DOT.logPurchase(purchase);



// webview 에서 호출 할 때
var purchase = new Object();
purchase["transaction_id"] =  "SC87483";
purchase["currency"] =  "KRW";
purchase["subscription_method"] = "신용카드";

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

var purchaseProduct = purchaselist[inx]; 

var product = new Object();
product["product_id"] = "FL828";
product["product_name"] = "모바일 무제한 듣기 정기결제";
product["quantity"] = 1;
product["revenue"] = 6900;
productArray.push(product); 

purchase["product"] = productArray;

window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logPurchase",
      data: purchase
}));
```

{% endtab %}

{% tab title="ReactNative" %}

```javascript
// .js 에서 호출 할 때 
NativeModules.DotReactBridge.logPurchase(JSON.stringify({
    transaction_id : "SC87483",
    currency : "KRW",
    subscription_method : "신용카드",
    product : {
    product_id : "FL828",
    product_name : "모바일 무제한 듣기 정기결제",
    quantity : 1,
    revenue : 6900
    }
})); 	

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	method:"logPurchase",
	data : {
    transaction_id : "SC87483",
    currency : "KRW",
    subscription_method : "신용카드",
    product : {
	    product_id : "FL828",
	    product_name : "모바일 무제한 듣기 정기결제",
	    quantity : 1,
	    revenue : 6900
        }
    }  
})); 
```

{% endtab %}

{% tab title="C#" %}

```csharp
Dictionary<string, object> purchase = new Dictionary<string, object>();
purchase.Add("transaction_id", "SC87483");
purchase.Add("currency", "KRW");
purchase.Add("subscription_method", "신용카드");
Dictionary<string, object> product = new Dictionary<string, object>();
product.Add("product_id", "FL828");
product.Add("product_name", "모바일 무제한 듣기 정기결제");
product.Add("quantity", 1);
product.Add("revenue", 6900);
List<Dictionary<string, object>> productList = new List<Dictionary<string, object>>();
productList.Add(product);
purchase.Add("product", productList);
DOT.logPurchase(purchase);
```

{% endtab %}
{% endtabs %}

## 미디어 재생 시작 - 음악

음악이 재생되는 시점에 아래 코드를 추가합니다.

#### **선택 속성**

<table data-header-hidden><thead><tr><th>Key</th><th>Value 예시</th><th width="150">Type</th><th>설명</th></tr></thead><tbody><tr><td>Key</td><td>Value 예시</td><td>Type</td><td>설명</td></tr><tr><td>artist_id</td><td>80049126</td><td>string</td><td>아티스트 고유번호</td></tr><tr><td>artist_name</td><td>아이유 (IU)</td><td>string</td><td>아티스트 명칭</td></tr><tr><td>media_id</td><td>30598121</td><td>string</td><td>음악 고유번호</td></tr><tr><td>media_name</td><td>밤편지</td><td>string</td><td>음악 명칭</td></tr><tr><td>album_id</td><td>20089092</td><td>string</td><td>앨범 고유번호</td></tr><tr><td>album_name</td><td>밤편지</td><td>string</td><td>앨범 명칭</td></tr><tr><td>genre_id</td><td>3772</td><td>string</td><td>장르 고유번호</td></tr><tr><td>genre</td><td>팝, 발라드</td><td>string</td><td>장르 명칭</td></tr><tr><td>duration</td><td>4.16</td><td>float</td><td>음악의 전체 길이를 분 단위로 입력</td></tr></tbody></table>

{% tabs %}
{% tab title="Java" %}

```java
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_media_played");
eventMap.put("artist_id", "80049126");
eventMap.put("artist_name", "아이유 (IU)");
eventMap.put("media_id", "30598121");
eventMap.put("media_name", "밤편지");
eventMap.put("album_id", "20089092");
eventMap.put("album_name", "밤편지");
eventMap.put("genre_id", "3772");
eventMap.put("genre", "팝, 발라드");
eventMap.put("duration", 4.16);
DOT.logEvent(eventMap);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_media_played"
eventMap["artist_id"] = "80049126"
eventMap["artist_name"] = "아이유 (IU)"
eventMap["media_id"] = "30598121"
eventMap["media_name"] = "밤편지"
eventMap["album_id"] = "20089092"
eventMap["album_name"] = "밤편지"
eventMap["genre_id"] = "3772"
eventMap["genre"] = "팝, 발라드"
eventMap["duration"] = 4.16
DOT.logEvent(eventMap)
```

{% endtab %}

{% tab title="Swift" %}

```swift
let event = NSMutableDictionary()
event["event"] = "w_media_played"
event["artist_id"] = "80049126"
event["artist_name"] = "아이유 (IU)"
event["media_id"] = "30598121"
event["media_name"] = "밤편지"
event["album_id"] = "20089092"
event["album_name"] = "밤편지"
event["genre_id"] = "3772"
event["genre"] = "팝, 발라드"
event["duration"] = 4.16
DOT.logEvent(event)
```

{% endtab %}

{% tab title="Objective-C" %}

```objectivec
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_media_played" forKey:@"event"];
[event setValue:@"80049126" forKey:@"artist_id"];
[event setValue:@"아이유 (IU)" forKey:@"artist_name"];
[event setValue:@"30598121" forKey:@"media_id"];
[event setValue:@"밤편지" forKey:@"media_name"];
[event setValue:@"20089092" forKey:@"album_id"];
[event setValue:@"밤편지" forKey:@"album_name"];
[event setValue:@"3772" forKey:@"genre_id"];
[event setValue:@"팝, 발라드" forKey:@"genre"];
[event setValue:[NSNumber numberWithInt:4.16] forKey:@"duration"];
[DOT logEvent:event];
```

{% endtab %}

{% tab title="Mobile Webview" %}

```javascript
    var event = new Object();
    event["event"] = "w_media_played";
    event["artist_id"] = "80049126";
    event["artist_name"] = "아이유 (IU)";
    event["media_id"] = "30598121";
    event["media_name"] = "밤편지";
    event["album_id"] = "20089092";
    event["album_name"] = "밤편지";
    event["genre_id"] = "3772";
    event["genre"] = "팝, 발라드";
    event["duration"] = 4.16;
    DOT.logEvent(event);
```

{% endtab %}

{% tab title="Website" %}

```javascript
    var event = new Object();
    event["event"] = "w_media_played";
    event["artist_id"] = "80049126";
    event["artist_name"] = "아이유 (IU)";
    event["media_id"] = "30598121";
    event["media_name"] = "밤편지";
    event["album_id"] = "20089092";
    event["album_name"] = "밤편지";
    event["genre_id"] = "3772";
    event["genre"] = "팝, 발라드";
    event["duration"] = 4.16;
    WDOT.logEvent(event);
```

{% endtab %}

{% tab title="Flutter" %}

```javascript
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_media_played";
event["artist_id"] = "80049126";
event["artist_name"] = "아이유 (IU)";
event["media_id"] = "30598121";
event["media_name"] = "밤편지";
event["album_id"] = "20089092";
event["album_name"] = "밤편지";
event["genre_id"] = "3772";
event["genre"] = "팝, 발라드";
event["duration"] = 4.16;
DOT.logEvent(event);

// webview 에서 호출 할 때
window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logEvent",
      data: {
              event : "w_media_played",
              artist_id : "80049126",
              artist_name : "아이유 (IU)",
              media_id : "30598121",
              media_name : "밤편지",
              album_id : "20089092",
              album_name : "밤편지",
              genre_id : "3772",
              genre : "팝, 발라드",
              duration : 4.16
      }
}));
```

{% endtab %}

{% tab title="ReactNative" %}

```javascript
// .js 에서 호출 할 때 
NativeModules.DotReactBridge.logEvent(JSON.stringify({
    event : "w_media_played",
    artist_id : "80049126",
    artist_name : "아이유 (IU)",
    media_id : "30598121",
    media_name : "밤편지",
    album_id : "20089092",
    album_name : "밤편지",
    genre_id : "3772",
    genre : "팝, 발라드",
    duration : 4.16
}));

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	method:"logEvent",
	data : {
	    event : "w_media_played",
	    artist_id : "80049126",
	    artist_name : "아이유 (IU)",
	    media_id : "30598121",
	    media_name : "밤편지",
	    album_id : "20089092",
	    album_name : "밤편지",
	    genre_id : "3772",
	    genre : "팝, 발라드",
	    duration : 4.16
	}  
})); 
```

{% endtab %}

{% tab title="C#" %}

```csharp
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_media_played");
eventDic.Add("artist_id", "80049126");
eventDic.Add("artist_name", "아이유 (IU)");
eventDic.Add("media_id", "30598121");
eventDic.Add("media_name", "밤편지");
eventDic.Add("album_id", "20089092");
eventDic.Add("album_name", "밤편지");
eventDic.Add("genre_id", "3772");
eventDic.Add("genre", "팝, 발라드");
eventDic.Add("duration", 4.16);
DOT.logEvent(eventDic);
```

{% endtab %}
{% endtabs %}

## 미디어 정지 - 영화

영화가 재생 중 일시정지된 시점에 아래 코드를 추가합니다.

#### **선택 속성**

<table data-header-hidden><thead><tr><th>Key</th><th>Value 예시</th><th width="150">Type</th><th>설명</th></tr></thead><tbody><tr><td>Key</td><td>Value 예시</td><td>Type</td><td>설명</td></tr><tr><td>media_id</td><td>tt0120737</td><td>string</td><td>영화 고유번호</td></tr><tr><td>media_name</td><td>The Lord of the Rings: The Fellowship of the Ring</td><td>string</td><td>영화 명칭</td></tr><tr><td>actor_id</td><td>nm0000704</td><td>string</td><td>배우 고유번호</td></tr><tr><td>actor_name</td><td>Elijah Wood</td><td>string</td><td>배우 이름</td></tr><tr><td>director_id</td><td>nm0001392</td><td>string</td><td>감독 고유번호</td></tr><tr><td>director_name</td><td>Peter Jackson</td><td>string</td><td>감독 이름</td></tr><tr><td>genre_id</td><td>237</td><td>string</td><td>장르 고유번호</td></tr><tr><td>genre</td><td>adventure</td><td>string</td><td>장르 명칭</td></tr><tr><td>language</td><td>English</td><td>string</td><td>영화 언어 정보</td></tr><tr><td>duration</td><td>178</td><td>float</td><td>영화의 전체 길이를 분 단위로 입력</td></tr><tr><td>time_played</td><td>62.4</td><td>float</td><td>일시정지가 발생한 시점까지의 실제 시청시간</td></tr></tbody></table>

{% tabs %}
{% tab title="Java" %}

```java
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_media_stopped");
eventMap.put("media_id", "tt0120737");
eventMap.put("media_name", "The Lord of the Rings: The Fellowship of the Ring");
eventMap.put("actor_id", "nm0000704");
eventMap.put("actor_name", "Elijah Wood");
eventMap.put("director_id", "nm0001392");
eventMap.put("director_name", "Peter Jackson");
eventMap.put("genre_id", "237");
eventMap.put("genre", "adventure");
eventMap.put("language", "English");
eventMap.put("duration", 178);
eventMap.put("time_played", 62.4);
DOT.logEvent(eventMap);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_media_stopped"
eventMap["media_id"] = "tt0120737"
eventMap["media_name"] = "The Lord of the Rings: The Fellowship of the Ring"
eventMap["actor_id"] = "nm0000704"
eventMap["actor_name"] = "Elijah Wood"
eventMap["director_id"] = "nm0001392"
eventMap["director_name"] = "Peter Jackson"
eventMap["genre_id"] = "237"
eventMap["genre"] = "adventure"
eventMap["language"] = "English"
eventMap["duration"] = 178
eventMap["time_played"] = 62.4
DOT.logEvent(eventMap)
```

{% endtab %}

{% tab title="Swift" %}

```swift
let event = NSMutableDictionary()
event["event"] = "w_media_stopped"
event["media_id"] = "tt0120737"
event["media_name"] = "The Lord of the Rings: The Fellowship of the Ring"
event["actor_id"] = "nm0000704"
event["actor_name"] = "Elijah Wood"
event["director_id"] = "nm0001392"
event["director_name"] = "Peter Jackson"
event["genre_id"] = "237"
event["genre"] = "adventure"
event["language"] = "English"
event["duration"] = 178
event["time_played"] = 62.4
DOT.logEvent(event)
```

{% endtab %}

{% tab title="Objective-C" %}

```objectivec
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_media_stopped" forKey:@"event"];
[event setValue:@"tt0120737" forKey:@"media_id"];
[event setValue:@"The Lord of the Rings: The Fellowship of the Ring" forKey:@"media_name"];
[event setValue:@"nm0000704" forKey:@"actor_id"];
[event setValue:@"Elijah Wood" forKey:@"actor_name"];
[event setValue:@"nm0001392" forKey:@"director_id"];
[event setValue:@"Peter Jackson" forKey:@"director_name"];
[event setValue:@"237" forKey:@"genre_id"];
[event setValue:@"adventure" forKey:@"genre"];
[event setValue:@"English" forKey:@"language"];
[event setValue:[NSNumber numberWithInt:178] forKey:@"duration"];
[event setValue:[NSNumber numberWithInt:62.4] forKey:@"time_played"];
[DOT logEvent:event];
```

{% endtab %}

{% tab title="Mobile Webview" %}

```javascript
    var event = new Object();
    event["event"] = "w_media_stopped";
    event["media_id"] = "tt0120737";
    event["media_name"] = "The Lord of the Rings: The Fellowship of the Ring";
    event["actor_id"] = "nm0000704";
    event["actor_name"] = "Elijah Wood";
    event["director_id"] = "nm0001392";
    event["director_name"] = "Peter Jackson";
    event["genre_id"] = "237";
    event["genre"] = "adventure";
    event["language"] = "English";
    event["duration"] = 178;
    event["time_played"] = 62.4;
    DOT.logEvent(event);
```

{% endtab %}

{% tab title="Website" %}

```javascript
    var event = new Object();
    event["event"] = "w_media_stopped";
    event["media_id"] = "tt0120737";
    event["media_name"] = "The Lord of the Rings: The Fellowship of the Ring";
    event["actor_id"] = "nm0000704";
    event["actor_name"] = "Elijah Wood";
    event["director_id"] = "nm0001392";
    event["director_name"] = "Peter Jackson";
    event["genre_id"] = "237";
    event["genre"] = "adventure";
    event["language"] = "English";
    event["duration"] = 178;
    event["time_played"] = 62.4;
    WDOT.logEvent(event);
```

{% endtab %}

{% tab title="Flutter" %}

```javascript
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_media_stopped";
event["media_id"] = "tt0120737";
event["media_name"] = "The Lord of the Rings: The Fellowship of the Ring";
event["actor_id"] = "nm0000704";
event["actor_name"] = "Elijah Wood";
event["director_id"] = "nm0001392";
event["director_name"] = "Peter Jackson";
event["genre_id"] = "237";
event["genre"] = "adventure";
event["language"] = "English";
event["duration"] = 178;
event["time_played"] = 62.4;
DOT.logEvent(event);

// webview 에서 호출 할 때
window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logEvent",
      data: {
              event : "w_media_stopped",
              media_id : "tt0120737",
              media_name : "The Lord of the Rings: The Fellowship of the Ring",
              actor_id : "nm0000704",
              actor_name : "Elijah Wood",
              director_id : "nm0001392",
              director_name : "Peter Jackson",
              genre_id : "237",
              genre : "adventure",
              language : "English",
              duration : 178,
              time_played : 62.4
      }
}));
```

{% endtab %}

{% tab title="ReactNative" %}

```javascript
// .js 에서 호출 할 때 
NativeModules.DotReactBridge.logEvent(JSON.stringify({
    event : "w_media_stopped",
    media_id : "tt0120737",
    media_name : "The Lord of the Rings: The Fellowship of the Ring",
    actor_id : "nm0000704",
    actor_name : "Elijah Wood",
    director_id : "nm0001392",
    director_name : "Peter Jackson",
    genre_id : "237",
    genre : "adventure",
    language : "English",
    duration : 178,
    time_played : 62.4
}));

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	method:"logEvent",
	data : {
	    event : "w_media_stopped",
	    media_id : "tt0120737",
	    media_name : "The Lord of the Rings: The Fellowship of the Ring",
	    actor_id : "nm0000704",
	    actor_name : "Elijah Wood",
	    director_id : "nm0001392",
	    director_name : "Peter Jackson",
	    genre_id : "237",
	    genre : "adventure",
	    language : "English",
	    duration : 178,
	    time_played : 62.4
	}  
})); 
```

{% endtab %}

{% tab title="C#" %}

```csharp
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_media_stopped");
eventDic.Add("media_id", "tt0120737");
eventDic.Add("media_name", "The Lord of the Rings: The Fellowship of the Ring");
eventDic.Add("actor_id", "nm0000704");
eventDic.Add("actor_name", "Elijah Wood");
eventDic.Add("director_id", "nm0001392");
eventDic.Add("director_name", "Peter Jackson");
eventDic.Add("genre_id", "237");
eventDic.Add("genre", "adventure");
eventDic.Add("language", "English");
eventDic.Add("duration", 178);
eventDic.Add("time_played", 62.4);
DOT.logEvent(eventDic);
```

{% endtab %}
{% endtabs %}

## 미디어 재생 완료 - TV시리즈

유저가 에피소드를 끝까지 시청한 시점에 아래 코드를 추가합니다.

#### **선택 속성**

<table data-header-hidden><thead><tr><th>Key</th><th>Value 예시</th><th width="150">Type</th><th>설명</th></tr></thead><tbody><tr><td>Key</td><td>Value 예시</td><td>Type</td><td>설명</td></tr><tr><td>serise_id</td><td>SR3829</td><td>string</td><td>시리즈 고유번호</td></tr><tr><td>serise_name</td><td>Game of Thrones: Season 2</td><td>string</td><td>시리즈 명칭</td></tr><tr><td>media_id</td><td>EP19823</td><td>string</td><td>에피소드 고유번호</td></tr><tr><td>media_name</td><td>04 Garden of Bones</td><td>string</td><td>에피소드 명칭</td></tr><tr><td>director_id</td><td>D392892</td><td>string</td><td>감독 고유번호</td></tr><tr><td>director_name</td><td>David Petrarca</td><td>string</td><td>감독 이름</td></tr><tr><td>genre_id</td><td>182</td><td>string</td><td>장르 고유번호</td></tr><tr><td>genre</td><td>action</td><td>string</td><td>장르 명칭</td></tr><tr><td>language</td><td>English</td><td>string</td><td>미디어 언어 정보</td></tr><tr><td>duration</td><td>51</td><td>float</td><td>미디어의 전체 길이를 분 단위로 입력</td></tr></tbody></table>

{% tabs %}
{% tab title="Java" %}

```java
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_media_finished");
eventMap.put("serise_id", "SR3829");
eventMap.put("serise_name", "Game of Thrones: Season 2");
eventMap.put("media_id", "EP19823");
eventMap.put("media_name", "04 Garden of Bones");
eventMap.put("director_id", "D392892");
eventMap.put("director_name", "David Petrarca");
eventMap.put("genre_id", "182");
eventMap.put("genre", "action");
eventMap.put("language", "English");
eventMap.put("duration", 51);
DOT.logEvent(eventMap);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_media_finished"
eventMap["serise_id"] = "SR3829"
eventMap["serise_name"] = "Game of Thrones: Season 2"
eventMap["media_id"] = "EP19823"
eventMap["media_name"] = "04 Garden of Bones"
eventMap["director_id"] = "D392892"
eventMap["director_name"] = "David Petrarca"
eventMap["genre_id"] = "182"
eventMap["genre"] = "action"
eventMap["language"] = "English"
eventMap["duration"] = 51
DOT.logEvent(eventMap)
```

{% endtab %}

{% tab title="Swift" %}

```swift
let event = NSMutableDictionary()
event["event"] = "w_media_finished"
event["serise_id"] = "SR3829"
event["serise_name"] = "Game of Thrones: Season 2"
event["media_id"] = "EP19823"
event["media_name"] = "04 Garden of Bones"
event["director_id"] = "D392892"
event["director_name"] = "David Petrarca"
event["genre_id"] = "182"
event["genre"] = "action"
event["language"] = "English"
event["duration"] = 51
DOT.logEvent(event)
```

{% endtab %}

{% tab title="Objective-C" %}

```objectivec
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_media_finished" forKey:@"event"];
[event setValue:@"SR3829" forKey:@"serise_id"];
[event setValue:@"Game of Thrones: Season 2" forKey:@"serise_name"];
[event setValue:@"EP19823" forKey:@"media_id"];
[event setValue:@"04 Garden of Bones" forKey:@"media_name"];
[event setValue:@"D392892" forKey:@"director_id"];
[event setValue:@"David Petrarca" forKey:@"director_name"];
[event setValue:@"182" forKey:@"genre_id"];
[event setValue:@"action" forKey:@"genre"];
[event setValue:@"English" forKey:@"language"];
[event setValue:[NSNumber numberWithInt:51] forKey:@"duration"];
[DOT logEvent:event];
```

{% endtab %}

{% tab title="Mobile Webview" %}

```javascript
    var event = new Object();
    event["event"] = "w_media_finished";
    event["serise_id"] = "SR3829";
    event["serise_name"] = "Game of Thrones: Season 2";
    event["media_id"] = "EP19823";
    event["media_name"] = "04 Garden of Bones";
    event["director_id"] = "D392892";
    event["director_name"] = "David Petrarca";
    event["genre_id"] = "182";
    event["genre"] = "action";
    event["language"] = "English";
    event["duration"] = 51;
    DOT.logEvent(event);
```

{% endtab %}

{% tab title="Website" %}

```javascript
    var event = new Object();
    event["event"] = "w_media_finished";
    event["serise_id"] = "SR3829";
    event["serise_name"] = "Game of Thrones: Season 2";
    event["media_id"] = "EP19823";
    event["media_name"] = "04 Garden of Bones";
    event["director_id"] = "D392892";
    event["director_name"] = "David Petrarca";
    event["genre_id"] = "182";
    event["genre"] = "action";
    event["language"] = "English";
    event["duration"] = 51;
    WDOT.logEvent(event);
```

{% endtab %}

{% tab title="Flutter" %}

```javascript
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_media_finished";
event["serise_id"] = "SR3829";
event["serise_name"] = "Game of Thrones: Season 2";
event["media_id"] = "EP19823";
event["media_name"] = "04 Garden of Bones";
event["director_id"] = "D392892";
event["director_name"] = "David Petrarca";
event["genre_id"] = "182";
event["genre"] = "action";
event["language"] = "English";
event["duration"] = 51;
DOT.logEvent(event);

// webview 에서 호출 할 때
window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logEvent",
      data: {
              event : "w_media_finished",
              serise_id : "SR3829",
              serise_name : "Game of Thrones: Season 2",
              media_id : "EP19823",
              media_name : "04 Garden of Bones",
              director_id : "D392892",
              director_name : "David Petrarca",
              genre_id : "182",
              genre : "action",
              language : "English",
              duration : 51
      }
}));
```

{% endtab %}

{% tab title="ReactNative" %}

```javascript
// .js 에서 호출 할 때 
NativeModules.DotReactBridge.logEvent(JSON.stringify({
    event : "w_media_finished",
    serise_id : "SR3829",
    serise_name : "Game of Thrones: Season 2",
    media_id : "EP19823",
    media_name : "04 Garden of Bones",
    director_id : "D392892",
    director_name : "David Petrarca",
    genre_id : "182",
    genre : "action",
    language : "English",
    duration : 51
}));

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	method:"logEvent",
	data : {
	    event : "w_media_finished",
	    serise_id : "SR3829",
	    serise_name : "Game of Thrones: Season 2",
	    media_id : "EP19823",
	    media_name : "04 Garden of Bones",
	    director_id : "D392892",
	    director_name : "David Petrarca",
	    genre_id : "182",
	    genre : "action",
	    language : "English",
	    duration : 51
	}  
})); 

```

{% endtab %}

{% tab title="C#" %}

```csharp
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_media_finished");
eventDic.Add("serise_id", "SR3829");
eventDic.Add("serise_name", "Game of Thrones: Season 2");
eventDic.Add("media_id", "EP19823");
eventDic.Add("media_name", "04 Garden of Bones");
eventDic.Add("director_id", "D392892");
eventDic.Add("director_name", "David Petrarca");
eventDic.Add("genre_id", "182");
eventDic.Add("genre", "action");
eventDic.Add("language", "English");
eventDic.Add("duration", 51);
DOT.logEvent(eventDic);
```

{% endtab %}
{% endtabs %}

## 미디어 다운로드 - 음악

미디어 다운로드가 시작되는 시점에 아래 코드를 추가합니다.

#### **선택 속성**

<table data-header-hidden><thead><tr><th>Key</th><th>Value 예시</th><th width="150">Type</th><th>설명</th></tr></thead><tbody><tr><td>Key</td><td>Value 예시</td><td>Type</td><td>설명</td></tr><tr><td>artist_id</td><td>80049126</td><td>string</td><td>아티스트 고유번호</td></tr><tr><td>artist_name</td><td>아이유 (IU)</td><td>string</td><td>아티스트 명칭</td></tr><tr><td>media_id</td><td>30598121</td><td>string</td><td>음악 고유번호</td></tr><tr><td>media_name</td><td>밤편지</td><td>string</td><td>음악 명칭</td></tr><tr><td>album_id</td><td>20089092</td><td>string</td><td>앨범 고유번호</td></tr><tr><td>album_name</td><td>밤편지</td><td>string</td><td>앨범 명칭</td></tr><tr><td>genre_id</td><td>3772</td><td>string</td><td>장르 고유번호</td></tr><tr><td>genre</td><td>팝, 발라드</td><td>string</td><td>장르 명칭</td></tr></tbody></table>

{% tabs %}
{% tab title="Java" %}

```java
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_media_downloaded");
eventMap.put("artist_id", "80049126");
eventMap.put("artist_name", "아이유 (IU)");
eventMap.put("media_id", "30598121");
eventMap.put("media_name", "밤편지");
eventMap.put("album_id", "20089092");
eventMap.put("album_name", "밤편지");
eventMap.put("genre_id", "3772");
eventMap.put("genre", "팝, 발라드");
DOT.logEvent(eventMap);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_media_downloaded"
eventMap["artist_id"] = "80049126"
eventMap["artist_name"] = "아이유 (IU)"
eventMap["media_id"] = "30598121"
eventMap["media_name"] = "밤편지"
eventMap["album_id"] = "20089092"
eventMap["album_name"] = "밤편지"
eventMap["genre_id"] = "3772"
eventMap["genre"] = "팝, 발라드"
DOT.logEvent(eventMap)
```

{% endtab %}

{% tab title="Swift" %}

```swift
let event = NSMutableDictionary()
event["event"] = "w_media_downloaded"
event["artist_id"] = "80049126"
event["artist_name"] = "아이유 (IU)"
event["media_id"] = "30598121"
event["media_name"] = "밤편지"
event["album_id"] = "20089092"
event["album_name"] = "밤편지"
event["genre_id"] = "3772"
event["genre"] = "팝, 발라드"
DOT.logEvent(event)
```

{% endtab %}

{% tab title="Objective-C" %}

```objectivec
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_media_downloaded" forKey:@"event"];
[event setValue:@"80049126" forKey:@"artist_id"];
[event setValue:@"아이유 (IU)" forKey:@"artist_name"];
[event setValue:@"30598121" forKey:@"media_id"];
[event setValue:@"밤편지" forKey:@"media_name"];
[event setValue:@"20089092" forKey:@"album_id"];
[event setValue:@"밤편지" forKey:@"album_name"];
[event setValue:@"3772" forKey:@"genre_id"];
[event setValue:@"팝, 발라드" forKey:@"genre"];
[DOT logEvent:event];
```

{% endtab %}

{% tab title="Mobile Webview" %}

```javascript
    var event = new Object();
    event["event"] = "w_media_downloaded";
    event["artist_id"] = "80049126";
    event["artist_name"] = "아이유 (IU)";
    event["media_id"] = "30598121";
    event["media_name"] = "밤편지";
    event["album_id"] = "20089092";
    event["album_name"] = "밤편지";
    event["genre_id"] = "3772";
    event["genre"] = "팝, 발라드";
    DOT.logEvent(event);
```

{% endtab %}

{% tab title="Website" %}

```javascript
    var event = new Object();
    event["event"] = "w_media_downloaded";
    event["artist_id"] = "80049126";
    event["artist_name"] = "아이유 (IU)";
    event["media_id"] = "30598121";
    event["media_name"] = "밤편지";
    event["album_id"] = "20089092";
    event["album_name"] = "밤편지";
    event["genre_id"] = "3772";
    event["genre"] = "팝, 발라드";
    WDOT.logEvent(event);
```

{% endtab %}

{% tab title="Flutter" %}

```javascript
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_media_downloaded";
event["artist_id"] = "80049126";
event["artist_name"] = "아이유 (IU)";
event["media_id"] = "30598121";
event["media_name"] = "밤편지";
event["album_id"] = "20089092";
event["album_name"] = "밤편지";
event["genre_id"] = "3772";
event["genre"] = "팝, 발라드";
DOT.logEvent(event);

// webview 에서 호출 할 때
window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logEvent",
      data: {
              event : "w_media_downloaded",
              artist_id : "80049126",
              artist_name : "아이유 (IU)",
              media_id : "30598121",
              media_name : "밤편지",
              album_id : "20089092",
              album_name : "밤편지",
              genre_id : "3772",
              genre : "팝, 발라드"
      }
}));
```

{% endtab %}

{% tab title="ReactNative" %}

```javascript
// .js 에서 호출 할 때 
NativeModules.DotReactBridge.logEvent(JSON.stringify({
    event : "w_media_downloaded",
    artist_id : "80049126",
    artist_name : "아이유 (IU)",
    media_id : "30598121",
    media_name : "밤편지",
    album_id : "20089092",
    album_name : "밤편지",
    genre_id : "3772",
    genre : "팝, 발라드"
}));

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	method:"logEven",
	data : {
	    event : "w_media_downloaded",
	    artist_id : "80049126",
	    artist_name : "아이유 (IU)",
	    media_id : "30598121",
	    media_name : "밤편지",
	    album_id : "20089092",
	    album_name : "밤편지",
	    genre_id : "3772",
	    genre : "팝, 발라드"
	}  
})); 
```

{% endtab %}

{% tab title="C#" %}

```csharp
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_media_downloaded");
eventDic.Add("artist_id", "80049126");
eventDic.Add("artist_name", "아이유 (IU)");
eventDic.Add("media_id", "30598121");
eventDic.Add("media_name", "밤편지");
eventDic.Add("album_id", "20089092");
eventDic.Add("album_name", "밤편지");
eventDic.Add("genre_id", "3772");
eventDic.Add("genre", "팝, 발라드");
DOT.logEvent(eventDic);
```

{% endtab %}
{% endtabs %}

## 미디어 저장 - 영화

영화가 보관함 등에 저장되는 시점에 아래 코드를 추가합니다.

#### **선택 속성**

<table data-header-hidden><thead><tr><th>Key</th><th>Value 예시</th><th width="150">Type</th><th>설명</th></tr></thead><tbody><tr><td>Key</td><td>Value 예시</td><td>Type</td><td>설명</td></tr><tr><td>media_id</td><td>tt0120737</td><td>string</td><td>영화 고유번호</td></tr><tr><td>media_name</td><td>The Lord of the Rings: The Fellowship of the Ring</td><td>string</td><td>영화 명칭</td></tr><tr><td>actor_id</td><td>nm0000704</td><td>string</td><td>배우 고유번호</td></tr><tr><td>actor_name</td><td>Elijah Wood</td><td>string</td><td>배우 이름</td></tr><tr><td>director_id</td><td>nm0001392</td><td>string</td><td>감독 고유번호</td></tr><tr><td>director_name</td><td>Peter Jackson</td><td>string</td><td>감독 이름</td></tr><tr><td>genre_id</td><td>237</td><td>string</td><td>장르 고유번호</td></tr><tr><td>genre</td><td>adventure</td><td>string</td><td>장르 명칭</td></tr><tr><td>language</td><td>English</td><td>string</td><td>영화 언어 정보</td></tr><tr><td>duration</td><td>178</td><td>float</td><td>영화의 전체 길이를 분 단위로 입력</td></tr></tbody></table>

{% tabs %}
{% tab title="Java" %}

```java
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_media_saved");
eventMap.put("media_id", "tt0120737");
eventMap.put("media_name", "The Lord of the Rings: The Fellowship of the Ring");
eventMap.put("actor_id", "nm0000704");
eventMap.put("actor_name", "Elijah Wood");
eventMap.put("director_id", "nm0001392");
eventMap.put("director_name", "Peter Jackson");
eventMap.put("genre_id", "237");
eventMap.put("genre", "adventure");
eventMap.put("language", "English");
eventMap.put("duration", 178);
DOT.logEvent(eventMap);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_media_saved"
eventMap["media_id"] = "tt0120737"
eventMap["media_name"] = "The Lord of the Rings: The Fellowship of the Ring"
eventMap["actor_id"] = "nm0000704"
eventMap["actor_name"] = "Elijah Wood"
eventMap["director_id"] = "nm0001392"
eventMap["director_name"] = "Peter Jackson"
eventMap["genre_id"] = "237"
eventMap["genre"] = "adventure"
eventMap["language"] = "English"
eventMap["duration"] = 178
DOT.logEvent(eventMap)
```

{% endtab %}

{% tab title="Swift" %}

```swift
let event = NSMutableDictionary()
event["event"] = "w_media_saved"
event["media_id"] = "tt0120737"
event["media_name"] = "The Lord of the Rings: The Fellowship of the Ring"
event["actor_id"] = "nm0000704"
event["actor_name"] = "Elijah Wood"
event["director_id"] = "nm0001392"
event["director_name"] = "Peter Jackson"
event["genre_id"] = "237"
event["genre"] = "adventure"
event["language"] = "English"
event["duration"] = 178
DOT.logEvent(event)
```

{% endtab %}

{% tab title="Objective-C" %}

```objectivec
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_media_saved" forKey:@"event"];
[event setValue:@"tt0120737" forKey:@"media_id"];
[event setValue:@"The Lord of the Rings: The Fellowship of the Ring" forKey:@"media_name"];
[event setValue:@"nm0000704" forKey:@"actor_id"];
[event setValue:@"Elijah Wood" forKey:@"actor_name"];
[event setValue:@"nm0001392" forKey:@"director_id"];
[event setValue:@"Peter Jackson" forKey:@"director_name"];
[event setValue:@"237" forKey:@"genre_id"];
[event setValue:@"adventure" forKey:@"genre"];
[event setValue:@"English" forKey:@"language"];
[event setValue:[NSNumber numberWithInt:178] forKey:@"duration"];
[DOT logEvent:event];
```

{% endtab %}

{% tab title="Mobile Webview" %}

```javascript
    var event = new Object();
    event["event"] = "w_media_saved";
    event["media_id"] = "tt0120737";
    event["media_name"] = "The Lord of the Rings: The Fellowship of the Ring";
    event["actor_id"] = "nm0000704";
    event["actor_name"] = "Elijah Wood";
    event["director_id"] = "nm0001392";
    event["director_name"] = "Peter Jackson";
    event["genre_id"] = "237";
    event["genre"] = "adventure";
    event["language"] = "English";
    event["duration"] = 178;
    DOT.logEvent(event);
```

{% endtab %}

{% tab title="Website" %}

```javascript
    var event = new Object();
    event["event"] = "w_media_saved";
    event["media_id"] = "tt0120737";
    event["media_name"] = "The Lord of the Rings: The Fellowship of the Ring";
    event["actor_id"] = "nm0000704";
    event["actor_name"] = "Elijah Wood";
    event["director_id"] = "nm0001392";
    event["director_name"] = "Peter Jackson";
    event["genre_id"] = "237";
    event["genre"] = "adventure";
    event["language"] = "English";
    event["duration"] = 178;
    WDOT.logEvent(event);
```

{% endtab %}

{% tab title="Flutter" %}

```javascript
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_media_saved";
event["media_id"] = "tt0120737";
event["media_name"] = "The Lord of the Rings: The Fellowship of the Ring";
event["actor_id"] = "nm0000704";
event["actor_name"] = "Elijah Wood";
event["director_id"] = "nm0001392";
event["director_name"] = "Peter Jackson";
event["genre_id"] = "237";
event["genre"] = "adventure";
event["language"] = "English";
event["duration"] = 178;
DOT.logEvent(event);

// webview 에서 호출 할 때
window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logEvent",
      data: {
              event : "w_media_saved",
              media_id : "tt0120737",
              media_name : "The Lord of the Rings: The Fellowship of the Ring",
              actor_id : "nm0000704",
              actor_name : "Elijah Wood",
              director_id : "nm0001392",
              director_name : "Peter Jackson",
              genre_id : "237",
              genre : "adventure",
              language : "English",
              duration : 178
      }
}));

```

{% endtab %}

{% tab title="ReactNative" %}

```javascript
// .js 에서 호출 할 때 
NativeModules.DotReactBridge.logEvent(JSON.stringify({
    event : "w_media_saved",
    media_id : "tt0120737",
    media_name : "The Lord of the Rings: The Fellowship of the Ring",
    actor_id : "nm0000704",
    actor_name : "Elijah Wood",
    director_id : "nm0001392",
    director_name : "Peter Jackson",
    genre_id : "237",
    genre : "adventure",
    language : "English",
    duration : 178
}));

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	method:"logEvent",
	data : {
	    event : "w_media_saved",
	    media_id : "tt0120737",
	    media_name : "The Lord of the Rings: The Fellowship of the Ring",
	    actor_id : "nm0000704",
	    actor_name : "Elijah Wood",
	    director_id : "nm0001392",
	    director_name : "Peter Jackson",
	    genre_id : "237",
	    genre : "adventure",
	    language : "English",
	    duration : 178
	}  
})); 
```

{% endtab %}

{% tab title="C#" %}

```csharp
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_media_saved");
eventDic.Add("media_id", "tt0120737");
eventDic.Add("media_name", "The Lord of the Rings: The Fellowship of the Ring");
eventDic.Add("actor_id", "nm0000704");
eventDic.Add("actor_name", "Elijah Wood");
eventDic.Add("director_id", "nm0001392");
eventDic.Add("director_name", "Peter Jackson");
eventDic.Add("genre_id", "237");
eventDic.Add("genre", "adventure");
eventDic.Add("language", "English");
eventDic.Add("duration", 178);
DOT.logEvent(eventDic);
```

{% endtab %}
{% endtabs %}

## 좋아요 표시 - TV시리즈

유저가 에피소드에 대해서 '좋아요' 또는 호감을 표시한 시점에 아래 코드를 추가합니다.

#### **선택 속성**

<table data-header-hidden><thead><tr><th>Key</th><th>Value 예시</th><th width="150">Type</th><th>설명</th></tr></thead><tbody><tr><td>Key</td><td>Value 예시</td><td>Type</td><td>설명</td></tr><tr><td>serise_id</td><td>SR3829</td><td>string</td><td>시리즈 고유번호</td></tr><tr><td>serise_name</td><td>Game of Thrones: Season 2</td><td>string</td><td>시리즈 명칭</td></tr><tr><td>media_id</td><td>EP19823</td><td>string</td><td>에피소드 고유번호</td></tr><tr><td>media_name</td><td>04 Garden of Bones</td><td>string</td><td>에피소드 명칭</td></tr><tr><td>director_id</td><td>D392892</td><td>string</td><td>감독 고유번호</td></tr><tr><td>director_name</td><td>David Petrarca</td><td>string</td><td>감독 이름</td></tr><tr><td>genre_id</td><td>182</td><td>string</td><td>장르 고유번호</td></tr><tr><td>genre</td><td>action</td><td>string</td><td>장르 명칭</td></tr><tr><td>language</td><td>English</td><td>string</td><td>미디어 언어 정보</td></tr><tr><td>duration</td><td>51</td><td>float</td><td>미디어의 전체 길이를 분 단위로 입력</td></tr></tbody></table>

{% tabs %}
{% tab title="Java" %}

```java
Map<String, Object> eventMap = new HashMap<>();
eventMap.put("event", "w_likes");
eventMap.put("serise_id", "SR3829");
eventMap.put("serise_name", "Game of Thrones: Season 2");
eventMap.put("media_id", "EP19823");
eventMap.put("media_name", "04 Garden of Bones");
eventMap.put("director_id", "D392892");
eventMap.put("director_name", "David Petrarca");
eventMap.put("genre_id", "182");
eventMap.put("genre", "action");
eventMap.put("language", "English");
eventMap.put("duration", 51);
DOT.logEvent(eventMap);
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
val eventMap = mutableMapOf<String,Any>()
eventMap["event"] = "w_likes"
eventMap["serise_id"] = "SR3829"
eventMap["serise_name"] = "Game of Thrones: Season 2"
eventMap["media_id"] = "EP19823"
eventMap["media_name"] = "04 Garden of Bones"
eventMap["director_id"] = "D392892"
eventMap["director_name"] = "David Petrarca"
eventMap["genre_id"] = "182"
eventMap["genre"] = "action"
eventMap["language"] = "English"
eventMap["duration"] = 51
DOT.logEvent(eventMap)
```

{% endtab %}

{% tab title="Swift" %}

```swift
let event = NSMutableDictionary()
event["event"] = "w_likes"
event["serise_id"] = "SR3829"
event["serise_name"] = "Game of Thrones: Season 2"
event["media_id"] = "EP19823"
event["media_name"] = "04 Garden of Bones"
event["director_id"] = "D392892"
event["director_name"] = "David Petrarca"
event["genre_id"] = "182"
event["genre"] = "action"
event["language"] = "English"
event["duration"] = 51
DOT.logEvent(event)
```

{% endtab %}

{% tab title="Objective-C" %}

```objectivec
NSMutableDictionary *event = [[NSMutableDictionary alloc] init];
[event setValue:@"w_likes" forKey:@"event"];
[event setValue:@"SR3829" forKey:@"serise_id"];
[event setValue:@"Game of Thrones: Season 2" forKey:@"serise_name"];
[event setValue:@"EP19823" forKey:@"media_id"];
[event setValue:@"04 Garden of Bones" forKey:@"media_name"];
[event setValue:@"D392892" forKey:@"director_id"];
[event setValue:@"David Petrarca" forKey:@"director_name"];
[event setValue:@"182" forKey:@"genre_id"];
[event setValue:@"action" forKey:@"genre"];
[event setValue:@"English" forKey:@"language"];
[event setValue:[NSNumber numberWithInt:51] forKey:@"duration"];
[DOT logEvent:event];
```

{% endtab %}

{% tab title="Mobile Webview" %}

```javascript
    var event = new Object();
    event["event"] = "w_likes";
    event["serise_id"] = "SR3829";
    event["serise_name"] = "Game of Thrones: Season 2";
    event["media_id"] = "EP19823";
    event["media_name"] = "04 Garden of Bones";
    event["director_id"] = "D392892";
    event["director_name"] = "David Petrarca";
    event["genre_id"] = "182";
    event["genre"] = "action";
    event["language"] = "English";
    event["duration"] = 51;
    DOT.logEvent(event);
```

{% endtab %}

{% tab title="Website" %}

```javascript
    var event = new Object();
    event["event"] = "w_likes";
    event["serise_id"] = "SR3829";
    event["serise_name"] = "Game of Thrones: Season 2";
    event["media_id"] = "EP19823";
    event["media_name"] = "04 Garden of Bones";
    event["director_id"] = "D392892";
    event["director_name"] = "David Petrarca";
    event["genre_id"] = "182";
    event["genre"] = "action";
    event["language"] = "English";
    event["duration"] = 51;
    WDOT.logEvent(event);
```

{% endtab %}

{% tab title="Flutter" %}

```javascript
// .dart 에서 호출 할 때
Map event = {};
event["event"] = "w_likes";
event["serise_id"] = "SR3829";
event["serise_name"] = "Game of Thrones: Season 2";
event["media_id"] = "EP19823";
event["media_name"] = "04 Garden of Bones";
event["director_id"] = "D392892";
event["director_name"] = "David Petrarca";
event["genre_id"] = "182";
event["genre"] = "action";
event["language"] = "English";
event["duration"] = 51;
DOT.logEvent(event);

// webview 에서 호출 할 때
window.flutter_inappwebview.callHandler("DotFlutterDataBridge",JSON.stringify({
      method : "logEvent",
      data: {
              event : "w_likes",
              serise_id : "SR3829",
              serise_name : "Game of Thrones: Season 2",
              media_id : "EP19823",
              media_name : "04 Garden of Bones",
              director_id : "D392892",
              director_name : "David Petrarca",
              genre_id : "182",
              genre : "action",
              language : "English",
              duration : 51
      }
}));
```

{% endtab %}

{% tab title="ReactNative" %}

```javascript
// .js 에서 호출 할 때 
NativeModules.DotReactBridge.logEvent(JSON.stringify({
    event : "w_likes",
    serise_id : "SR3829",
    serise_name : "Game of Thrones: Season 2",
    media_id : "EP19823",
    media_name : "04 Garden of Bones",
    director_id : "D392892",
    director_name : "David Petrarca",
    genre_id : "182",
    genre : "action",
    language : "English",
    duration : 51
}));

// webview 에서 호출 할 때
window.ReactNativeWebView.postMessage(JSON.stringify({
 	method:"logEvent",
	data : {
	    event : "w_likes",
	    serise_id : "SR3829",
	    serise_name : "Game of Thrones: Season 2",
	    media_id : "EP19823",
	    media_name : "04 Garden of Bones",
	    director_id : "D392892",
	    director_name : "David Petrarca",
	    genre_id : "182",
	    genre : "action",
	    language : "English",
	    duration : 51
	}  
})); 
```

{% endtab %}

{% tab title="C#" %}

```csharp
Dictionary<string, object> eventDic = new Dictionary<string, object>();
eventDic.Add("event", "w_likes");
eventDic.Add("serise_id", "SR3829");
eventDic.Add("serise_name", "Game of Thrones: Season 2");
eventDic.Add("media_id", "EP19823");
eventDic.Add("media_name", "04 Garden of Bones");
eventDic.Add("director_id", "D392892");
eventDic.Add("director_name", "David Petrarca");
eventDic.Add("genre_id", "182");
eventDic.Add("genre", "action");
eventDic.Add("language", "English");
eventDic.Add("duration", 51);
DOT.logEvent(eventDic);
```

{% endtab %}
{% endtabs %}
