# 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://document.wisetracker.co.kr/v2-developer/in-app-event/event-list/entertainment.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
