---
title: メディアトラッキング
description: モバイル向けのメディアトラッキングについて学びます。
url: https://docs.tealium.com/ja/platforms/getting-started-mobile/media/
---
メディアトラッキングは、アプリ内でのストリーミングメディアイベント（ビデオまたはオーディオ）を追跡する機能です。ストリーミングメディアイベントには、セッション、チャプター、広告（広告）、再生、シーク、一時停止などのプレーヤーイベントが含まれます。このトラッキング機能をiOSまたはAndroidアプリに追加するには、Mediaモジュールをインストールしてメディアトラッキングメソッドを実装します。


## 動作原理

Mediaモジュールは、ユーザーのストリーミングメディア体験全体を追跡します。これには、セッションの開始と終了、広告ブレイクの開始と終了、再生、一時停止、シークなどのメディアプレーヤーとのすべてのインタラクションが含まれます。

Mediaモジュールは、次の要素の階層構造でトラッキングを行います。

**メディアセッション**  
メディアセッションは、他のすべての要素のコンテナであり、ストリーミング体験に関する一般的な情報を定義します。メディアセッションは、トラッキングに必要な要素です。

**チャプター**  
チャプターは、セッション内のブレイク（オーディオブックのチャプターや映画のシーンなど）を区切るオプションのセグメントです。

**広告ブレイク**  
広告ブレイクは、1つ以上の広告のコンテナです。広告ブレイクは、セッションの開始、中間、または終了時に一般的に配置されます。

**広告**  
広告は、広告ブレイク内で発生するオプションの要素です。

メディアセッションの例の構造：

```
└── メディアセッション
    ├── 広告ブレイク1
    │   ├── 広告1
    │   └── 広告2
    ├── チャプター1
    ├── 広告ブレイク2
    │   ├── 広告3
    │   └── 広告4
    └── チャプター2
```

## インストール

開始するには、サポートされているプラットフォームのMediaモジュールをインストールします。

- [Android（Kotlin）](https://docs.tealium.com/ja/platforms/android-kotlin/module-list/media/)
- [iOS（Swift v2.x）](https://docs.tealium.com/ja/platforms/ios-swift/module-list/media/)

## 初期化

Mediaモジュールをインストールした後、`MediaContent`オブジェクトを初期化します。




```kotlin
val mediaContent: MediaContent = MediaContent(
  name = "Tealium Customer Data Hubとは？",
  trackingType = TrackingType.MILESTONE,
  streamType = StreamType.DVOD,
  mediaType = MediaType.VIDEO,
  qoe = QoE(1500),
  duration = 130
)
```  




```swift
let media = MediaContent(
  name: "Tealium Customer Data Hubとは？",
  trackingType: .milestone,
  streamType: .vod,
  mediaType: .video,
  qoe: QoE(bitrate: 1500),
  duration: 130
)
```





### `TrackingType`

トラッキングタイプは、Tealiumイベントとしてトラッキングするメディアイベントを決定します（[トラッキングタイプの概要](#tracking-type-overview)を参照）。

`TrackingType`を構成するために、次の定数のいずれかを使用します。




| タイプ                                             | プロパティ             | 説明                                                                                                                             |
|:-------------------------------------------------|:---------------------|:--------------------------------------------------------------------------------------------------------------------------------|
| [フル再生](#full-playback-events)           | `FULL_PLAYBACK`      | インターバルイベントを除くすべてのメディアイベントをトラッキングします。                                                                               |
| [インターバル](#interval-events)                     | `INTERVAL`           | 標準的なメディアイベントをトラッキングし、コンテンツの再生状態を確認するために10秒ごとにピングを送信します。                                           |
| [マイルストーン](#milestone-events)                   | `MILESTONE`          | 標準的なメディアイベントをトラッキングし、コンテンツの再生率を測定します。                                                                                   |
| [インターバルマイルストーン](#interval-milestone-events) | `INTERVAL_MILESTONE` | インターバルイベントとマイルストーンイベントの両方をトラッキングします。                                                                                     |
| [サマリー](#summary-events)                       | `SUMMARY`            | セッション終了時にデータレイヤーに単一のサマリーを送信し、再生されたコンテンツや広告の再生時間の計算を含めます。 |




| タイプ                                             | プロパティ            | 説明                                                                                                                             |
|:-------------------------------------------------|:--------------------|:--------------------------------------------------------------------------------------------------------------------------------|
| [フル再生](#full-playback-events)           | `fullPlayback`      | インターバルイベントを除くすべてのメディアイベントをトラッキングします。                                                                               |
| [インターバル](#interval-events)                     | `interval`          | 標準的なメディアイベントをトラッキングし、コンテンツの再生状態を確認するために10秒ごとにピングを送信します。                                           |
| [マイルストーン](#milestone-events)                   | `milestone`         | 標準的なメディアイベントをトラッキングし、コンテンツの再生率を測定します。                                                                                   |
| [インターバルマイルストーン](#interval-milestone-events) | `intervalMilestone` | インターバルイベントとマイルストーンイベントの両方をトラッキングします。                                                                                     |
| [サマリー](#summary-events)                       | `summary`           | セッション終了時にデータレイヤーに単一のサマリーを送信し、再生されたコンテンツや広告の再生時間の計算を含めます。 |





### `StreamType`

`StreamType`を構成するために、次の定数のいずれかを使用します。




| 値       | 説明                              |
|:------------|:-----------------------------------------|
| `AOD`       | オンデマンドオーディオのストリームタイプ。         |
| `AUDIOBOOK` | オーディオブックのストリームタイプ。              |
| `CUSTOM`    | カスタムストリームタイプ。                      |
| `DVOD`      | デジタルビデオオンデマンドのストリームタイプ。 |
| `LINEAR`    | リニアコンテンツのストリームタイプ。          |
| `LIVE`      | ライブコンテンツのストリームタイプ。            |
| `PODCAST`   | ポッドキャストのストリームタイプ。                 |
| `SONG`      | 曲のストリームタイプ。                    |
| `UGC`       | ユーザー生成コンテンツのストリームタイプ。  |
| `VOD`       | ビデオオンデマンドのストリームタイプ。         |




| 値       | 説明                              |
|:------------|:-----------------------------------------|
| `aod`       | オンデマンドオーディオのストリームタイプ。         |
| `audiobook` | オーディオブックのストリームタイプ。              |
| `custom`    | カスタムストリームタイプ。                      |
| `dvod`      | デジタルビデオオンデマンドのストリームタイプ。 |
| `linear`    | リニアコンテンツのストリームタイプ。          |
| `live`      | ライブコンテンツのストリームタイプ。            |
| `podcast`   | ポッドキャストのストリームタイプ。                 |
| `song`      | 曲のストリームタイプ。                    |
| `ugc`       | ユーザー生成コンテンツのストリームタイプ。  |
| `vod`       | ビデオオンデマンドのストリームタイプ。         |





### `MediaType`

次のは、`MediaType`の定数です。




| プロパティ | 説明                                |
|:---------|:-----------------------------------|
| `ALL`    | オーディオとビデオを含むすべてのメディアタイプ |
| `AUDIO`  | オーディオストリームのメディアタイプ         |
| `VIDEO`  | ビデオストリームのメディアタイプ           |




| プロパティ | 説明                                |
|:---------|:-----------------------------------|
| `all`    | オーディオとビデオを含むすべてのメディアタイプ |
| `audio`  | オーディオストリームのメディアタイプ         |
| `video`  | ビデオストリームのメディアタイプ           |




### `State`

プレーヤーの状態トラッキングは、再生中のビデオプレーヤーのモード（フルスクリーンモード、クローズドキャプション、ミュートボリュームなど）をキャプチャします。プレーヤーの状態は、データレイヤー変数`media_player_state`に構成されます。

プレーヤーの状態の変更をトラッキングする例：



[`updatePlayerState()`](https://docs.tealium.com/ja/platforms/android-kotlin/api/media/#updateplayerstate)メソッドを呼び出して、状態値を構成します。
```kotlin
tealium?.media?.updatePlayerState(STATE_CONSTANT_VALUE)
```


[`playerState`](https://docs.tealium.com/ja/platforms/ios-swift/api/media-session/#playerstate)変数を構成することで、状態値を構成します。

```swift
mediaSession.playerState = STATE_CONSTANT_VALUE
```



`State`を構成するために、次の定数のいずれかを使用します。




| 値                | 説明                    |
|:---------------------|:---------------------------|
| `CLOSED_CAPTION`     | クローズドキャプションの状態タイプ     |
| `FULLSCREEN`         | フルスクリーンの状態タイプ        |
| `IN_FOCUS`           | フォーカス中の状態タイプ           |
| `MUTE`               | ミュートの状態タイプ               |
| `PICTURE_IN_PICTURE` | ピクチャインピクチャの状態タイプ |




| 値                | 説明                    |
|:---------------------|:---------------------------|
| `closedCaption`    | クローズドキャプションの状態タイプ     |
| `fullscreen`       | フルスクリーンの状態タイプ        |
| `inFocus`          | フォーカス中の状態タイプ           |
| `mute`             | ミュートの状態タイプ               |
| `pictureInPicture` | ピクチャインピクチャの状態タイプ |





### エクスペリエンスの品質

メディアセッションのエクスペリエンスの品質は、秒単位のビットレートで構成されます。メディア再生中に現在のビットレート値が利用可能な場合は、`qoe`変数として`MediaContent`オブジェクトの初期化時に提供します。品質の構成は、`media_bitrate_change` tealiumイベントをトリガーします。

エクスペリエンスの品質をトラッキングする例：



[`updateQOE()`](https://docs.tealium.com/ja/platforms/android-kotlin/api/media/#updateqoe)メソッドを呼び出して、エクスペリエンスの品質ビットレート値を構成します。
```kotlin
tealium?.media?.updateQOE(BITRATE_VALUE)
```


[`bitrate`](https://docs.tealium.com/ja/platforms/ios-swift/api/media-session/#bitrate)変数を構成することで、エクスペリエンスの品質ビットレート値を構成します。

```swift
mediaSession.bitrate = BITRATE_VALUE
```




### メタデータ

メタデータは、オブジェクトに関する追加情報を構成するパラメータです。メタデータをオブジェクトに渡すと、それらのキーと値のペアがデータレイヤーにも構成されます。次のオブジェクトはメタデータを受け入れます：`MediaContent`、`Chapter`、`QoE`。

メタデータは複数のオブジェクトに構成できるため、データレイヤーの競合するメタデータキーを解決するために、複数のオブジェクトからのメタデータがオブジェクトの階層構造を使用してデータレイヤーにマージされます：`MediaContent` > `Chapter` > `QoE`。

たとえば、`MediaContent`と`Chapter`の両方で`feed_type`を構成した場合、最終的なデータレイヤーでは、`Chapter`のメタデータの値が`MediaContent`のメタデータの値を上書きします。

メタデータを構成する例：




```kotlin
val mediaContent: MediaContent = MediaContent(
    // ...
    metadata = mutableMapOf("episode" to "2", "network" to "YouTube")
)
```



```swift
let media = MediaContent(
    // ...
    metadata: ["episode": "2", "network": "YouTube"]
)
```




#### ビデオメタデータキー

次は、一般的なビデオメタデータキーの例です。

| 変数             | 説明                                                                                                          |
|:---------------------|:---------------------------------------------------------------------------------------------------------------------|
| `authorized`         | ユーザーが認証されているかどうか。                                                                                    |
| `episode`            | エピソード名または番号。                                                                                          |
| `asset_id`           | TMS ID。これは、ビデオコンテンツの業界標準のIDです。                                          |
| `daypart`            | 午前やプライムタイムなどの時間帯。                                                                    |
| `feed_type`          | HD、SD、または地域などのフィードタイプ。                                                                           |
| `first_air_date`     | メディアが初めて放送された日付。                                                                                  |
| `first_digital_date` | メディアが初めてデジタルで利用可能になった日付。                                                                    |
| `genre`              | ジャンル。                                                                                                           |
| `media_mvpd`         | マルチチャンネルビデオプログラミングディストリビューター。通常、Cox、DirecTV、Skyなどのケーブルまたは衛星ネットワークです。 |
| `network`            | ネットワーク。                                                                                                         |
| `originator`         | ショーのオリジネーター。                                                                                             |
| `rating`             | レーティング。                                                                                                      |
| `season`             | シーズン番号または名前。                                                                                           |
| `show`               | ショーの名前。                                                                                                      |
| `show_type`          | ショータイプ。                                                                                                       |
| `stream_format`      | ストリーム形式：`0`は部分コンテンツ、`1`はフルエピソードです。                                                      |

#### オーディオメタデータキー

次は、一般的なオーディオメタデータキーの例です。

| 変数       | 説明                |
|:---------------|:---------------------------|
| `album`        | アルバム名            |
| `artist`       | アーティスト名         |
| `author`       | オーディオブックの著者名 |
| `publisher`    | 音楽のパブリッシャー    |
| `record_label` | レコードレーベル名     |
| `station`      | ラジオ局              |

## トラッキングタイプの概要

トラッキングタイプは、トリガーされるTealiumイベントを決定します。トラッキングしたいイベントのレベルに基づいてトラッキングタイプを選択します。

たとえば、すべてのトラッキングメソッドを実装し、サマリートラッキングを使用する場合、`media_session_end`イベントのみがトリガーされます。

### フル再生イベント

フル再生トラッキングを使用して、インターバルイベントを除くすべてのメディアイベントをトラッキングします。

トラッキングされるイベントは次のとおりです。

- セッションイベント：  
  * `media_session_start`
  * `media_session_resume`
  * `media_session_end`
- 広告ブレイクイベント：  
  * `media_adbreak_start`
  * `media_adbreak_end`
- 広告イベント：  
  * `media_ad_start`
  * `media_ad_end`
  * `media_ad_click`
  * `media_ad_skip`
- チャプターイベント：  
  * `media_chapter_start`
  * `media_chapter_skip`
  * `media_chapter_end`
- バッファイベント：  
  * `media_buffer_start`
  * `media_buffer_end`
- プレーヤーイベント：  
  * `media_play`
  * `media_pause`
  * `media_seek_start`
  * `media_seek_end`
- その他のイベント
  * `media_bitrate_change`

### インターバルイベント

インターバルトラッキングを使用して、メディアプレーヤーの状態を定期的にトラッキングします。このタイプを使用すると、`ping()`メソッドが10秒ごとに呼び出され、コンテンツが再生されているかどうかを確認し、データレイヤーの`tealium_event`を`media_interval`に構成します。

トラッキングされるイベントは次のとおりです。

- セッションイベント：  
  * `media_session_start`
  * `media_session_resume`
  * `media_session_end`
- プレーヤーイベント：  
  * `media_play`
  * `media_pause`
- インターバルイベント：
  * `media_interval`


### マイルストーンイベント

マイルストーントラッキングを使用して、コンテンツの再生率が達成されたときにトラッキングします。各マイルストーンのパーセンテージが達成されるたびに、`sendMilestone()`メソッドが自動的に呼び出され、データレイヤーの`tealium_event`が`media_milestone`に構成されます。

トラッキングされるイベントは次のとおりです。

- マイルストーンイベント：
  * `media_milesetone`
- セッションイベント：  
  * `media_session_start`
  * `media_session_resume`
  * `media_session_end`
- プレーヤーイベント：  
  * `media_play`
  * `media_pause`
  * `media_seek_start`
  * `media_seek_end`
- 広告ブレイクイベント：  
  * `media_adbreak_start`
  * `media_adbreak_end`

### インターバルマイルストーンイベント

インターバルマイルストーントラッキングを使用して、[インターバル](#interval-events)イベントと[マイルストーン](#milestone-events)イベントの両方をトラッキングします。

### サマリーイベント

サマリートラッキングを使用して、セッションが終了したときに単一のサマリーイベントをデータレイヤーに送信します。セッションのサマリーイベントには、再生されたコンテンツや広告の再生時間の計算が含まれます。

サマリーイベントは次のとおりです。

- セッションイベント：  
  * `media_session_start`
  * `media_session_end`

トラッキングされるすべての[メディアサマリー変数](https://docs.tealium.com/ja/platforms/getting-started-mobile/media/#media-summary-data)のリストを参照してください。

### 比較チャート

利用可能なすべてのメディアイベントの完全なリストについては、[トラック](#track)セクションを参照してください。

| イベント                    | フル再生 | インターバル | マイルストーン | インターバルマイルストーン | サマリー |
|:-------------------------|:--------------|:---------|:----------|:-------------------|:--------|
| セッションの開始/再開/終了 | ✔             | ✔        | ✔         | ✔                  | ✔       |
| チャプターの開始/スキップ/終了   | ✔             |          |           |                    |         |
| 広告ブレイクの開始/終了       | ✔             |          | ✔         | ✔                  |         |
| 広告の開始/クリック/スキップ/終了  | ✔             |          |           |                    |         |
| バッファの開始/終了         | ✔             |          |           |                    |         |
| マイルストーン                | ✔             |          | ✔         | ✔                  |         |
| 再生                     | ✔             | ✔        | ✔         | ✔                  |         |
| 一時停止                    | ✔             |          | ✔         | ✔                  |         |
| シークの開始/終了           | ✔             |          | ✔         | ✔                  |         |
| プレーヤービットレートの変更    | ✔             |          |           |                    |         |
| プレーヤーの状態変更      | ✔             |          |           |                    |         |
| インターバル                 |               | ✔        |           | ✔                  |         |


## トラック

`MediaContent`オブジェクトを初期化した後、次のメソッドを使用してメディアのインタラクションをトラッキングします。

### メディアセッション

メディアセッションは、チャプター、広告ブレイク、広告、メディアプレーヤーイベントを含むメディアコンテンツ全体です。

メディアセッションのトラッキングを開始するには、`startSession()`メソッドを`MediaContent`オブジェクトとともに呼び出します。メディアセッションのトラッキングを停止するには、`endSession()`メソッドを呼び出します。


<blockquote>
セッションの開始は`play()`イベントを意味しません。
</blockquote>


チャプターをトラッキングする例：




```kotlin
tealium?.media?.startSession(mediaContentObject)
//...
tealium?.media?.endSession()
```




```swift
let mediaSessionObject = tealium?.media?.createSession(
      from: mediaContentObject)                                
mediaSessionObject.startSession()
// ...
mediaSessionObject.end()
```



