MediaSession
Tealiumが提供するiOS(Swift)向けのMediaクラスとメソッドのリファレンスガイド。
クラス: Media
MediaSessionクラスは、カスタムイベントを使用してアプリ内でストリーミングメディアをトラッキングするためのメソッドを提供します。メディアトラッキングについて詳しくはこちらをご覧ください。
以下は、Tealium iOS(Swift)のMediaSessionクラスの一般的に使用されるメソッドの概要です。
| メソッドまたはプロパティ | 説明 |
|---|---|
bitrate | クオリティオブエクスペリエンスのビットレート値を構成します。 |
clickAd() | 現在再生中の広告がクリックされました。 |
custom() | カスタムイベントステータスをデータレイヤーに送信します。 |
endAd() | 広告が終了しました。 |
endAdBreak() | 広告ブレイクが終了しました。 |
endBuffer() | バッファリングが終了しました。 |
endChapter() | 章が終了しました。 |
endSeek() | ユーザーがシークを終了しました。 |
endSession() | 広告とコンテンツを含むセッションが終了しました。 |
pause() | ユーザーがメディアを一時停止しました。 |
ping() | インターバルイベントをデータレイヤーに送信します。 |
play() | メディアコンテンツが再生を開始しました。 |
playerState | プレーヤーの状態の開始または終了。 |
resumeSession() | セッションが再開されました。 |
sendMilestone() | マイルストーンデータをデータレイヤーに送信します。 |
sendSummary() | サマリーデータをデータレイヤーに送信します。 |
skipAd() | 現在の広告がスキップされました。 |
skipChapter() | 章がスキップされました。 |
startAdBreak() | 広告ブレイクが開始されました。 |
startAd() | 広告が開始されました。 |
startBuffer() | バッファリングが開始されました。 |
startChapter() | 章が開始されました。 |
startSeek() | ユーザーがシークを開始しました。 |
startSession() | セッションが開始されました。 |
bitrate()
現在のセッションのクオリティオブエクスペリエンスのビットレート値(Int)をキロビット/秒(kbps)で構成します。
| プロパティ | 型 | 説明 |
|---|---|---|
bitrate | Int | ビットレート値 |
mediaSession.bitrate = BITRATE_VALUE
clickAd()
現在再生中の広告がクリックされました。
mediaSession.clickAd()
custom()
カスタムイベントステータスをデータレイヤーに送信します。
mediaSession.custom(name)
| パラメータ | 型 | 説明 |
|---|---|---|
name | String | カスタムイベント名 |
endAd()
広告が終了しました。
mediaSession.endAd()
endAdBreak()
広告ブレイクが終了しました。
mediaSession.endAdBreak()
endBuffer()
バッファリングが終了しました。
mediaSession.endBuffer()
endChapter()
章が終了しました。
mediaSession.endChapter()
endSeek()
ユーザーがシークを終了しました。シークが終了した位置を記録します。
mediaSession.endSeek(at position: Int)
| パラメータ | 型 | 説明 |
|---|---|---|
position | Int | シークが終了したメディア内の位置(秒単位)のインデックス位置。 |
例:
mediaSession.endSeek(at position: 10)
endSession()
広告とコンテンツを含むセッションが終了しました。
mediaSession.endSession()
pause()
ユーザーがメディアを一時停止しました。
mediaSession.pause()
ping()
インターバルイベントをデータレイヤーに送信します。このメソッドは、MediaContentオブジェクトのトラッキングタイプがintervalまたはintervalMilestoneに構成されている場合、自動的に10秒ごとに呼び出されます。
mediaSession.ping()
メディアトラッキングタイプについて詳しくはこちらをご覧ください。
play()
メディアコンテンツが再生を開始しました。
mediaSession.play()
playerstate
プレーヤーの状態の開始または終了。
mediaSession.playerState = PLAYER_STATE
以下のState定数が使用可能です:
| 値 | 説明 |
|---|---|
closedCaption | クローズドキャプションの状態タイプ |
fullscreen | フルスクリーンの状態タイプ |
inFocus | フォーカス中の状態タイプ |
mute | ミュートの状態タイプ |
pictureInPicture | ピクチャインピクチャの状態タイプ |
例:
mediaSession.playerState = .mute
プレーヤーの状態について詳しくはこちらをご覧ください。
resumeSession()
セッションが再開されました。
mediaSession.resumeSession()
sendMilestone()
マイルストーンイベントをデータレイヤーに送信します。このメソッドは、コンテンツの再生率に基づいて自動的に呼び出されます。MediaContentオブジェクトのトラッキングタイプがmilestoneまたはintervalMilestoneに構成されている場合。
mediaSession.sendMilestone(_ milestone: Milestone)
| パラメータ | 型 | 説明 |
|---|---|---|
milestone | Milestone | コンテンツの再生率のパーセント |
マイルストーンの値:
| メディアの再生率 | マイルストーンの値 |
|---|---|
| 8.0 - 12.0 | 10% |
| 23.0 - 27.0 | 25% |
| 48.0 - 52.0 | 50% |
| 73.0 - 77.0 | 75% |
| 88.0 - 92.0 | 90% |
| 97.0 - 100.0 | 100% |
メディアトラッキングタイプについて詳しくはこちらをご覧ください。
sendSummary()
サマリーデータをデータレイヤーに送信します。このメソッドは、MediaContentオブジェクトのトラッキングタイプがsummaryに構成されている場合、endSession()で自動的に呼び出されます。
mediaSession.sendSummary()
メディアトラッキングタイプについて詳しくはこちらをご覧ください。
skipAd()
現在の広告がスキップされました。
mediaSession.skipAd()
skipChapter()
章がスキップされました。
mediaSession.skipChapter()
startAd()
広告が開始されました。広告が完了したらendAd()メソッドを呼び出します。
mediaSession.startAd(_ ad: Ad)
| パラメータ | 型 | 説明 |
|---|---|---|
ad | Ad | 広告オブジェクト |
例:
let ad = Ad(name = "Ad 1")
session.startAd(ad)
startAdBreak()
広告ブレイクが開始されました。広告ブレイクが完了したらendAdBreak()メソッドを呼び出します。
mediaSession.startAdBreak(_ break: AdBreak)
| パラメータ | 型 | 説明 |
|---|---|---|
break | AdBreak | 広告ブレイクオブジェクト |
例:
let adBreak = AdBreak(name = "Ad Break 1")
mediaSession.startAdBreak(adBreak)
startBuffer()
バッファリングが開始されました。バッファリングが完了したらendBuffer()メソッドを呼び出します。
mediaSession.startBuffer()
startChapter()
章が開始されました。章が完了したらendChapter()メソッドを呼び出します。
mediaSession.startChapter(_ chapter: Chapter)
| パラメータ | 型 | 説明 |
|---|---|---|
chapter | Chapter | 章セグメント名 |
例:
let chapterOne = Chapter(name = "Chapter 1")
mediaSession.startChapter(chapterOne)
startSeek()
ユーザーがシークを開始しました。シークが完了したらendSeek()メソッドを呼び出します。
mediaSession.startSeek(at position: Int)
| パラメータ | 型 | 説明 |
|---|---|---|
position | Int | シークが開始されたメディア内の位置(秒単位)のインデックス位置。 |
例:
mediaSession.startSeek(at position: 10)
startSession()
セッションが開始されました。セッションが完了したらendSession()メソッドを呼び出します。
mediaSession.startSession()
クラス: MediaContent
MediaContentクラスは、メディアコンテンツオブジェクトを作成します。
let media = MediaContent(
uuid: MEDIA_UUID,
name: MEDIA_NAME,
streamType: MEDIA_STREAM_TYPE,
mediaType: MEDIA_TYPE,
qoe: MEDIA_QOE,
trackingType: MEDIA_TRACKING_TYPE,
milestoneInterval: MEDIA_MILESTONE,
contentCompletePercentage: MEDIA_CONTENT_COMPLETE_PERCENTAGE,
startTime = MEDIA_START_TIME,
state = MEDIA_STATE,
customID = MEDIA_CUSTOM_ID,
duration: MEDIA_DURATION,
playerName: MEDIA_PLAYER_NAME,
channelName: MEDIA_CHANNEL_NAME,
metadata: MEDIA_METADATA,
milestone: MEDIA_MILESTONE,
summary: MEDIA_SUMMARY,
adBreaks: MEDIA_AD_BREAKS,
ads: MEDIA_ADS,
chapters: MEDIA_CHAPTERS
)
| 変数名 | 型 | 説明 | 必須 |
|---|---|---|---|
uuid | UUID | 広告の一意の識別子。 | |
name | String | メディアコンテンツの名前。 | Yes |
streamType | StreamType | メディアストリームのタイプ。 | Yes |
mediaType | MediaType | メディアのタイプ(ビデオまたはオーディオ)。 | Yes |
qoe | QoE | クオリティオブエクスペリエンスのビットレート値。 | Yes |
trackingType | TrackingType | イベントトラッキングのレベル(デフォルト:.fullPlayback) | Yes |
milestoneInterval | Double | マイルストーンのインターバル値(デフォルト:5.0) | |
contentCompletePercentage | Double | コンテンツの完了パーセンテージ値。 | |
state | PlayerState | メディアプレーヤーの状態タイプ。 | |
customId | String | カスタム識別子名。 | |
duration | Int | メディアの再生時間(秒単位)(例:130) | |
playerName | String | メディアプレーヤーの名前。 | |
channelName | String | メディアチャンネルの名前。 | |
metadata | [String: Any] | 追加のメディアメタデータ | |
summary | Summary | メディアのSummaryオブジェクト。 | |
adBreaks | [AdBreak]() | AdBreakオブジェクトの配列。 | |
ads | [Ad]() | Adオブジェクトの配列。 | |
chapters | [Chapter]() | Chapterオブジェクトの配列。 |
構造体: Ad
Ad構造体は、広告オブジェクトを作成します。
let ad = Ad(
uuid: MEDIA_AD_UUID,
name: MEDIA_AD_NAME,
id: MEDIA_AD_ID,
duration: MEDIA_AD_DURATION,
position: MEDIA_AD_POSITION,
advertiser: MEDIA_AD_ADVERTISER,
creativeId: MEDIA_AD_CREATIVE_ID,
campaignId: MEDIA_AD_CAMPAIGN_ID,
placementId: MEDIA_AD_PLACEMENT_ID,
siteId: MEDIA_AD_SITE_ID,
creativeUrl: MEDIA_AD_CREATIVE_URL,
numberOfLoads: MEDIA_AD_LOAD,
pod: MEDIA_AD_POD,
playerName: MEDIA_AD_PLAYER_NAME
)
| パラメータ | 型 | 説明 | 必須 |
|---|---|---|---|
uuid | UUID | 広告の一意の識別子。 | |
name | String | 広告の名前。 | Yes |
id | String | 広告の一意の識別子。 | |
duration | Double | 広告の再生時間(秒単位)。 | |
position | Int | 広告の現在のインデックス位置(秒単位)。 | |
advertiser | String | 広告の広告主。 | |
creativeId | String | 広告のクリエイティブ識別子。 | |
campaignId | String | 広告のキャンペーン識別子。 | |
placementId | String | 広告の配置識別子。 | |
siteId | String | 広告のサイト識別子。 | |
creativeUrl | String | 広告のクリエイティブURL。 | |
numberOfLoads | Int | 広告の読み込み回数。 | |
pod | String | 広告のポッド。 | |
playerName | String | 広告のプレーヤー名。 |
構造体: AdBreak
AdBreak構造体は、広告ブレイクオブジェクトを作成します。
let adBreak = AdBreak(
uuid: MEDIA_AD_BREAK_UUID,
name: MEDIA_AD_BREAK_NAME,
id: MEDIA_AD_BREAK_ID,
duration: MEDIA_AD_BREAK_DURATION,
position: MEDIA_AD_BREAK_POSITION,
startTime: MEDIA_AD_BREAK_START_TIME
)
| パラメータ | 型 | 説明 | 必須 |
|---|---|---|---|
uuid | UUID | 広告ブレイクの一意の識別子。 | |
name | String | 広告ブレイクの名前。 | Yes |
id | String | 広告ブレイクの一意の識別子。 | |
duration | Double | 広告ブレイクの再生時間(秒単位)。 | |
index | Int | 広告ブレイクのインデックス。 | |
position | Int | 広告ブレイクの現在のインデックス位置(秒単位)。 | |
startTime | Date | 広告ブレイクの開始時刻。 |
構造体: Chapter
Chapter構造体は、章オブジェクトを作成します。
let chapterObject = Chapter(
name: MEDIA_CHAPTER_NAME,
duration: MEDIA_CHAPTER_DURATION,
position: MEDIA_CHAPTER_POSITION,
startTime: MEDIA_CHAPTER_START_TIME,
metadata: MEDIA_CHAPTER_METADATA
)
以下は、Chapterオブジェクトのパラメータです。パラメータ名を使用しない場合は、パラメータを順番に指定する必要があります。
| 変数名 | 型 | 説明 | 必須 |
|---|---|---|---|
name | String | 章の名前。 | Yes |
duration | Double | 章の再生時間(秒単位)(例:130) | |
position | Int | 章の位置インデックス。 | |
startTime | Date | 章の開始時刻。 | |
metadata | [String: Any] | 追加の章のメディアメタデータ |
最終更新日 :: 2024年November月6日