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