広告ストリームのブックマークを保存、読み込む

プラットフォームを選択: HTML5 Android iOS tvOS Roku

このガイドでは、動画オンデマンド(VOD)ストリームにダイナミック広告挿入(DAI)を使用する場合に、IMA DAI SDK を使用してブックマーク機能を実装する方法について説明します。 このガイドでは、スタートガイドで説明されているような、IMA DAI の実装が完了していることを前提としています。

ブックマークとは

ブックマークは、コンテンツ ストリームのあるポイントを保存し、後でそこから再生する機能です。たとえば、ユーザーが 5 分間のコンテンツを見ているとします。動画ストリーム中に視聴を中断して、後で中断したところから再生を再開できます。ブックマークはユーザーのストリーム内の位置を保存するので、中断したところからストリームを再開でき、視聴者にシームレスな体験を提供します。

DAI ブックマークの仕組み

DAI ストリームをブックマークする場合は、ユーザーが動画を離れたときのストリーム ID と時刻を記録する必要があります。ユーザーが戻ってきたら、ストリームを再リクエストして、保存した時刻までシークします。リクエストされたストリームのインスタンスごとに広告ブレークの長さが異なる可能性があるため、ストリーム時刻を保存するだけではうまくいきません。実際には、同じコンテンツ時刻 から再開する必要があります。

変換方法の活用

IMA DAI SDK には、指定されたストリーム時刻コンテンツ時刻 と、指定されたコンテンツ時刻ストリーム時刻 をリクエストするメソッドが用意されています。これらの変換方法を使用すると、ブックマークされたコンテンツ時刻 を保存し、ストリームの新しいインスタンスで対応するストリーム時刻 までシークできます。ブックマーク機能の実装方法を示すサンプルアプリへのリンクなど、アプローチについて説明します。

ブックマークを保存する

アクティビティが一時停止したら、ブックマークを保存します。

Saves the current time as a bookmark in the current video.
Function saveBookmarkTime(player as Object,  streamManager as Object) as Void
  m.videos[player.video.index].bookmarkTime =
      streamManager.getContentTime(player.currentTime * 1000)
End Function

ブックマークを読み込む

ストリームを再リクエストするときにブックマークを読み込みます。これは、VideoStreamPlayer インターフェースの実装の一部です。

player.loadUrl = Function(streamInfo as Object)
  ...
  If m.video.bookmarkTime > 0
    streamTime = m.streamManager.getStreamTime(m.video.bookmarkTime)
    m.videoPlayer.seek(streamTime)
  End If
End Function

サンプルアプリ

サンプルアプリ