Zapisywanie i wczytywanie zakładek strumienia reklam

Ten przewodnik pokazuje, jak wdrożyć zakładki przy użyciu pakietu IMA DAI SDK podczas korzystania z dynamicznego wstawiania reklam (DAI) w strumieniach wideo na żądanie (VOD). Zakładamy przy tym działającą implementację IMA DAI, taką jak ta przedstawiona Wypróbuj

Co to jest tworzenie zakładek?

Tworzenie zakładek to możliwość zapisania i powrót do określonego momentu. w strumieniu treści. Załóżmy, że użytkownik ogląda pięć minut filmu, opuszcza strumień wideo, a następnie wraca do niego. Dodanie zakładek pozwala zaoszczędzić pozycji użytkownika w strumieniu, tak aby strumień mógł rozpocząć się przerwany, zapewniając widzowi bezproblemowe wrażenia.

Zaawansowane funkcje DAI

Podczas tworzenia zakładki strumienia z dynamicznym wstawianiem reklam musisz zapisać identyfikator i godzinę transmisji gdy użytkownik opuści film. Gdy użytkownik wróci, poproś o ponowne przesłanie strumieniować i przewijać do zaoszczędzonego czasu. Ponieważ każde wystąpienie żądanego w transmisji możesz ustawić przerwy na reklamę o różnej długości. Wystarczy, że zapiszesz transmisję. czas nie zadziała. To, co naprawdę chcesz zrobić, to kontynuować od czas treści.

Metody konwersji – na ratunek

Pakiet IMA DAI SDK udostępnia parę metod żądania czasu wyświetlania treści w danym czasie strumienia i w czasie strumieniowania danego treści . Za pomocą tych metod konwersji można przechowywać content time, a następnie przewiń do odpowiedniego czasu strumienia w nową instancję strumienia. Oto podejście, w tym link do przykładowej aplikacji, która pokazuje działającą implementację zakładek.

Zapisywanie zakładek

Zapisz zakładkę, gdy aktywność jest wstrzymana.

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

Wczytuję zakładki

Wczytaj zakładkę przy ponownym żądaniu strumienia. To część procesu wdrażania interfejsu 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

Przykładowa aplikacja

Przykładowa aplikacja