Zakładki

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 5 minut materiału, 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ę został przerwany, zapewniając widzom płynne 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 Activity jest wstrzymany.

private double bookmarkTime;
@Override
public void onPause() {
   super.onPause();
   double streamTime = videoPlayer.getCurrentPosition() / 1000.0; // ms to s.
   bookmarkTime = streamManager.getContentTimeForStreamTime(streamTime);
}

Wczytuję zakładki

Wczytaj zakładkę przy ponownym żądaniu strumienia. To część procesu wdrażania interfejsu VideoStreamPlayer.

public void loadUrl(String url, List<HashMap<String, String>> subtitles) {
    // Set video player's stream URL and subtitles, and play the stream.
    ...

    // Bookmarking.
    if (bookmarkTime > 0) {
        double streamTime =
                streamManager.getStreamTimeForContentTime(bookmarkTime);
        videoPlayer.seek((long) (streamTime * 1000.0)); // s to ms.
    }
}

Przykładowa aplikacja

Pobieranie przykładowej aplikacji aby zobaczyć implementację zakładek.