メディアモジュール
メディアイベントのトラッキングデータを提供します。
メディアモジュールは、カスタムイベントを使用してアプリ内のストリーミングメディアを追跡します。メディアトラッキングについて詳しく学びましょう。
サンプルアプリ
iOS(Swift)のメディアサンプルアプリを探索して、Tealiumライブラリ、トラッキング方法、ベストプラクティスの実装に慣れてください。
インストール
Swift Package Manager、CocoaPods、またはCarthageを使用してメディアモジュールをインストールします。
Swift Package Manager(推奨)
バージョン1.9.0+でサポートされているSwift Package Managerは、Tealium Swiftライブラリをインストールする最も簡単で推奨される方法です:
- Xcodeプロジェクトで、File > Swift Packages > Add Package Dependencyを選択します。
- リポジトリURLを入力します:
https://github.com/tealium/tealium-swift
- バージョンルールを構成します。通常、
"Up to next major"
が推奨されます。現在のTealium Swiftライブラリバージョンがリストに表示されない場合は、Swiftパッケージキャッシュをリセットします。 - インストールするモジュールのリストから
Media
モジュールを選択し、Xcodeプロジェクトの各アプリターゲットに追加します。Frameworks > Libraries & Embedded Contentの下にあります。
iOS向けのSwift Package Managerインストールについて詳しく学びましょう。
CocoaPods
CocoaPodsを使用してメディアモジュールをインストールするには、次のpodをPodfileに追加します:
pod 'tealium-swift/Media'
iOS向けのCocoaPodsインストールについて詳しく学びましょう。
Carthage
Carthageを使用してメディアモジュールをインストールするには、次の手順を実行します:
-
Xcodeでアプリターゲットの一般構成ページに移動します。
-
次のフレームワークをEmbedded Binariesセクションに追加します:
TealiumMedia.framework
iOS向けのCarthageインストールについて詳しく学びましょう。
初期化
メディアモジュールを初期化するには、MediaContent
オブジェクトを作成します。
例:
let media = MediaContent(
name: "What is the Tealium Customer Data Hub?",
trackingType: .milestone,
streamType: .vod,
mediaType: .video,
qoe: QoE(bitrate: 1500),
duration: 130
)
メディアモジュールの実装について詳しく学びましょう。
メタデータ
メディアセッションにオプションのメタデータを追加するには:
metadata: ["artist": "various", "duration": "45:00"]
チャプターメタデータを追加するには:
metadata: ["artist": "Aerosmith", "track": "5"]
マージされたメタデータを追加するには:
metadata: ["artist": "Aerosmith", "track": "5", "duration": "45:00"]
メタデータについて詳しく学びましょう。
トラッキング
メディアをトラッキングするための多くのメソッドとプロパティが利用可能です。
メディアセッション
メディアセッションのトラッキングを開始するには、startSession()
メソッドを呼び出します。メディアセッションのトラッキングを停止するには、endSession()
メソッドを呼び出します:
let session = tealium?.media?.createSession(from: media)
session.startSession()
// ...
session.end()
セッションのトラッキングについて詳しく学びましょう。
プレイヤーイベント
メディアプレイヤーのイベント(再生や一時停止など)をトラッキングするには、適切なプレイヤーイベントメソッドを呼び出します。各メディアプレイヤーイベントは、呼び出されるとデータレイヤーにtealium_event
変数を送信します。
メディアが再生されたときにトラッキングするには、play()
メソッドを呼び出します:
session.play()
メディアが一時停止されたときにトラッキングするには、pause()
メソッドを呼び出します:
session.pause()
チャプター
メディアセッションのチャプターセグメントをトラッキングするには、Chapter
オブジェクトを作成し、startChapter()
メソッドに渡します。チャプターのトラッキングを停止するには、endChapter()
メソッドを呼び出します。
let chapter1 = Chapter("Chapter 1", 120)
mediaSession.startChapter(chapter1)
// ...
mediaSession.endChapter()
チャプターのトラッキングについて詳しく学びましょう。
広告
広告ブレイクの開始をトラッキングするには、AdBreak
オブジェクトを作成し、startAdBreak()
メソッドに渡します。広告ブレイク内の広告の開始をトラッキングするには、Ad
オブジェクトを作成し、startAd()
メソッドに渡します。
広告の終了をトラッキングするには、endAd()
メソッドを呼び出します。広告ブレイクの終了をトラッキングするには、endAdBreak()
メソッドを呼び出します。
let adBreak = AdBreak("Ad Break 1")
session.endAdBreak(adBreak)
let ad1 = Ad("Ad 1")
session.startAd(ad1)
session.endAd()
let ad2 = Ad("Ad 2")
session.adStart(ad2)
session.endAd()
session.endAdBreak()
広告のトラッキングについて詳しく学びましょう。
例
チャプターと広告
次の例は、チャプターと広告を含むメディアコンテンツのトラッキングを示しています:
let qoe = QoE(bitrate: 1500)
let mediaSession = tealium?.media?.createSession(from: MediaContent(
name: "What is the Tealium Customer Data Hub?",
trackingType: .fullPlayback
streamType: .vod,
mediaType: .video,
qoe: qoe,
duration: 114
))
mediaSession.startSession()
let adBreak = AdBreak("Ad Break 1")
mediaSession.startAdBreak(adBreak)
let ad = Ad("Ad 1")
mediaSession.startAd(ad)
// ...
mediaSession.endAd()
let secondAd = Ad("Ad 2")
mediaSession.startAd(secondAd)
mediaSession.endAd()
mediaSession.endAdBreak()
let chapterOne = Chapter("Chapter 1")
mediaSession.startChapter(chapterOne)
mediaSession.endChapter()
let adBreak = AdBreak("Ad Break 2")
mediaSession.startAdBreak(adBreak)
let thirdAd = Ad("Ad 3")
mediaSession.startAd(thirdAd)
// ...
mediaSession.endAd()
mediaSession.endAdBreak()
let chapterTwo = Chapter("Chapter 2")
mediaSession.startChapter(chapterTwo)
mediaSession.endChapter()
let adBreak = AdBreak("Ad Break 3")
mediaSession.startAdBreak(adBreak)
let fourthAd = Ad("Ad 4")
mediaSession.startAd(fourthAd)
mediaSession.endAd()
let fifthAd = Ad("Ad 5")
mediaSession.startAd(fifthAd)
mediaSession.endAd()
mediaSession.endAdBreak()
let chapterThree = Chapter("Chapter 3")
mediaSession.startChapter(chapterThree)
mediaSession.startBuffer()
mediaSession.endBuffer()
mediaSession.endChapter()
mediaSession.endContent() // end of all content and ads
mediaSession.endSession() // end of session
セッションの放棄
次の例は、ユーザーがセッションを放棄し、アプリがバックグラウンドに移行し、メディアの再生が停止する場合を示しています。メディアモジュールが有効になっていると、endSession()
メソッドはセッションが終了する1分前にトリガーされます。ユーザーが再度アプリを開くと、メディアセッションが再開します。
let media = MediaContent(
name: "What is the Tealium Customer Data Hub?",
trackingType: .fullPlayback
streamType: .vod,
mediaType: .video,
qoe: QoE(bitrate: 1500),
duration: 114
)
let mediaSession = tealium?.media?.createSession(from: media)
mediaSession.startSession()
let adBreak = AdBreak("Ad Break 1")
mediaSession.startAdBreak(adBreak)
let ad = Ad("Ad 1")
mediaSession.startAd(ad)
// ...
mediaSession.endAd()
let secondAd = Ad("Ad 2")
mediaSession.startAd(secondAd)
mediaSession.endAd()
mediaSession.endAdBreak()
mediaSession.play()
// app goes into background and media does not continue playing
mediaSession.pause()
// Tealium's background media tracking is enabled, so the endSession is triggered after 1 minute
// User opens app again, and media continues
mediaSession.resumeSession() // resume event
let adBreak = AdBreak("Ad Break 2")
mediaSession.startAdBreak(adBreak)
// User closes app - session abandoned (no endContent event)
mediaSession.endSession() // end of session
最終更新日 :: 2024年March月29日