メディアモジュール
メディアイベントのトラッキングデータを提供します。
メディアモジュールは、カスタムイベントを使用してアプリ内のストリーミングメディアを追跡します。メディアトラッキングについて詳しく学びましょう。
サンプルアプリ
Android(Kotlin)のメディアサンプルアプリを探索して、Tealiumライブラリ、トラッキング方法、ベストプラクティスの実装について理解を深めましょう。
インストール
Maven(推奨)または手動でメディアモジュールをインストールします。
Maven
Mavenを使用してモジュールをインストールするには:
- プロジェクトのトップレベルの
build.gradle
ファイルに、次のMavenリポジトリを追加します:maven { url "https://maven.tealiumiq.com/android/releases/" }
- プロジェクトモジュールの
build.gradle
ファイルに、TealiumライブラリとCrash ReporterのMaven依存関係を追加します:dependencies { implementation 'com.tealium:kotlin-core:1.5.5' implementation 'com.tealium:kotlin-media:1.1.1' }
手動
モジュールを手動でインストールするには:
-
Tealiumのメディアモジュールをダウンロードします。
-
ファイル
tealium-kotlin.media-1.1.1.aar
をプロジェクトの<PROJECT_ROOT>/<MODULE>/libs
ディレクトリにコピーします。 -
プロジェクトモジュールの
build.gradle
ファイルにTealiumライブラリの依存関係を追加します:dependencies { implementation(name:'tealium-kotlin.media-1.1.1', ext:'aar') }
初期化
メディアモジュールを初期化するには、MediaContent
オブジェクトを作成します。
例:
val mediaContent: MediaContent = MediaContent(
name = "What is the Tealium Customer Data Hub?",
trackingType = TrackingType.MILESTONE,
streamType = StreamType.DVOD,
mediaType = MediaType.VIDEO,
qoe = QoE(1500),
duration = 130
)
メディアモジュールの実装について詳しく学びましょう。
メタデータ
セッションにオプションのメタデータを追加するには:
metadata = ["artist": "Various", "duration": "45:00"]
チャプターメタデータを追加するには:
metadata = ["artist": "Aerosmith", "track": "5"]
マージされたメタデータを追加するには:
metadata = ["artist": "Aerosmith", "track": "5", "duration": "45:00"]
メタデータについて詳しく学びましょう。
トラッキング
メディアモジュールをインストールした後、メディアイベントをトラッキングします。
メディアセッション
メディアセッションのトラッキングを開始するには、startSession()
メソッドを呼び出します。メディアセッションのトラッキングを停止するには、endSession()
メソッドを呼び出します:
tealium?.media?.startSession(mediaContent)
//...
tealium?.media?.endSession()
セッションのトラッキングについて詳しく学びましょう。
プレイヤーイベント
再生や一時停止などのメディアプレイヤーイベントをトラッキングするには、適切なプレイヤーイベントメソッドを呼び出します。各メディアプレイヤーイベントは、呼び出されるとデータレイヤーに tealium_event
変数を送信します。
メディアが再生されたときにトラッキングするには、play()
メソッドを呼び出します:
tealium?.media?.play()
メディアが一時停止されたときにトラッキングするには、pause()
メソッドを呼び出します:
tealium?.media?.pause()
プレイヤーイベントのトラッキングについて詳しく学びましょう。
チャプター
メディアセッションのチャプターセグメントをトラッキングするには、Chapter
オブジェクトを作成し、startChapter()
メソッドに渡します。チャプターのトラッキングを停止するには、endChapter()
メソッドを呼び出します。
例:
val chapter1 = Chapter(name = "Chapter 1", duration = 120)
tealium?.media?.startChapter(chapter1)
// ...
tealium?.media?.endChapter()
チャプターのトラッキングについて詳しく学びましょう。
広告
広告ブレイクの開始をトラッキングするには、AdBreak
オブジェクトを作成し、startAdBreak()
メソッドに渡します。広告ブレイク内の広告の開始をトラッキングするには、Ad
オブジェクトを作成し、startAd()
メソッドに渡します。
広告の終了をトラッキングするには、endAd()
メソッドを呼び出します。広告ブレイクの終了をトラッキングするには、endAdBreak()
メソッドを呼び出します。
val adBreak = AdBreak(name = "Ad Break 1")
tealium?.media?.startAdBreak(adBreak)
val ad1 = Ad("Ad 1")
tealium?.media?.startAd(ad1)
tealium?.media?.endAd()
val ad2 = Ad("Ad 2")
tealium?.media?.startAd(ad2)
tealium?.media?.endAd()
tealium?.media?.endAdBreak()
広告のトラッキングについて詳しく学びましょう。
例
チャプターと広告
次の例は、チャプターと広告を含むメディアコンテンツのトラッキングを示しています:
val mediaContent: MediaContent = MediaContent(
name = "What is the Tealium Customer Data Hub?",
trackingType = TrackingType.FULL_PLAYBACK,
streamType = StreamType.VOD,
mediaType = MediaType.VIDEO,
qoe = QoE(1500),
duration = 114
)
tealium?.media?.startSession(mediaContent)
tealium?.media?.startAdBreak(AdBreak("Ad Break 1"))
tealium?.media?.startAd(Ad("Ad 1"))
// ...
tealium?.media?.endAd()
tealium?.media?.startAd(Ad("Ad 2"))
tealium?.media?.endAd()
tealium?.media?.endAdBreak()
tealium?.media?.startChapter(Chapter("Chapter 1"))
tealium?.media?.endChapter()
tealium?.media?.startAdBreak(AdBreak("Ad Break 2"))
tealium?.media?.startAd(Ad("Ad 3"))
// ...
tealium?.media?.endAd()
tealium?.media?.endAdBreak()
tealium?.media?.startChapter(Chapter("Chapter 2"))
tealium?.media?.endChapter()
tealium?.media?.startChapter(Chapter("Chapter 3"))
tealium?.media?.startBuffer()
tealium?.media?.endBuffer()
tealium?.media?.endChapter()
tealium?.media?.endContent()
tealium?.media?.endSession()
セッションの放棄
次の例は、ユーザーがセッションを放棄し、アプリがバックグラウンドに移行し、メディアの再生が停止する場合を示しています。メディアモジュールが有効になっていると、endSession()
メソッドはセッションが終了する1分前にトリガーされます。ユーザーが再度アプリを開くと、メディアセッションが再開します。
val mediaContent: MediaContent = MediaContent(
name = "What is the Tealium Customer Data Hub?",
trackingType = TrackingType.FULL_PLAYBACK,
streamType = StreamType.VOD,
mediaType = MediaType.VIDEO,
qoe = QoE(1500),
duration = 114
)
tealium?.media?.startSession(mediaContent)
tealium?.media?.startAdBreak(AdBreak("Ad Break 1"))
tealium?.media?.startAd(Ad("Ad 1"))
// ...
tealium?.media?.endAd()
tealium?.media?.startAd(Ad("Ad 2"))
tealium?.media?.endAd()
tealium?.media?.endAdBreak()
tealium?.media?.play()
// アプリがバックグラウンドに移行し、メディアは再生を続けません
tealium?.media?.pause()
// Tealiumのバックグラウンドメディアトラッキングが有効になっているため、endSessionは1分後にトリガーされます
// ユーザーが再度アプリを開き、メディアが再開します
tealium?.media?.resumeSession() // セッションの再開
let adBreak = AdBreak("Ad Break 2")
tealium?.media?.startAdBreak(adBreak)
// ユーザーがアプリを閉じる - セッションが放棄されます(endContentイベントなし)
tealium?.media?.endSession() // セッションの終了
最終更新日 :: 2021年April月29日