Pakiety IMA SDK ułatwiają integrację reklam multimedialnych z witrynami i aplikacjami. Pakiety IMA SDK mogą żądania reklam z Serwer reklam zgodny i zarządzanie odtwarzaniem reklam w aplikacjach. Dzięki pakietom SDK IMA DAI aplikacje żądania strumieniowego przesyłania danych reklamy i treści wideo – VOD lub treści na żywo. SDK zwraca wtedy typ połączony strumień wideo, dzięki czemu nie trzeba przełączać się między reklamą a treścią wideo. w Twojej aplikacji.
Wybierz rozwiązanie DAI, które Cię interesuje
Blok reklamowy z dynamicznym wstawianiem reklam
Pakiety IMA SDK ułatwiają integrację reklam multimedialnych z witrynami i aplikacjami. Pakiety IMA SDK mogą żądania reklam z Serwer reklam zgodny i zarządzanie odtwarzaniem reklam w aplikacjach. Dzięki pakietom SDK IMA DAI aplikacje żądania strumieniowego przesyłania danych reklamy i treści wideo – VOD lub treści na żywo. SDK zwraca wtedy typ połączony strumień wideo, dzięki czemu nie trzeba przełączać się między reklamą a treścią wideo. w Twojej aplikacji.
Ten przewodnik pokazuje, jak odtwarzać strumień wyświetlania podów z dynamicznym wstawianiem reklam, korzystając z IMA DAI Pakiet SDK z prostym odtwarzaczem wideo do odtwarzania strumieni na żywo i VOD. Jeśli chcesz zobaczyć lub śledzić ukończoną przykładową integrację, pobierz przykład wyświetlania bloku reklamowego.
Omówienie wyświetlania podów z IMA DAI
StreamRequest
: obiekt definiujący żądanie strumienia do Serwery reklamowe Google. Musi być utworzony za pomocąImaSdkFactory.createPodStreamRequest()
lubImaSdkFactory.createPodVodStreamRequest()
aby włączyć wyświetlanie bloków reklamowych. Te metody wymagają kodu sieci.createPodStreamRequest
wymaga też niestandardowego klucza zasobu oraz opcjonalny klucz interfejsu API. Oba typy zawierają inne opcjonalne parametry.StreamManager
: obiekt obsługujący komunikację między strumienia wideo i pakietu IMA DAI SDK, np. uruchamiania pingów śledzących czy i przekazywać wydawcy zdarzenia strumienia.
Wymagania wstępne
Aplikacja na Androida skonfigurowana przez pakiet IMA DAI SDK i umożliwia odtwarzanie strumieni wideo Reklamy DAI. Jeśli nie masz jeszcze takiej aplikacji, zalecamy skorzystanie z Funkcja DAI na Androidzie BasicExample jako i punktu początkowego. BasicExample zawiera bazę kodu, o której mowa w tym przewodniku.
Aplikacja musi wysyłać zdarzenia ID3 za pomocą
VideoStreamPlayerCallback.onUserTextReceived()
. Zobacz przykładowy fragment kodu dynamicznego wstawiania reklam (DAI) w pełnym zakresie.
Konfigurowanie zmiennych wyświetlających bloki reklamowe
Wszystkie zmiany wymagane do wyświetlania podów są wprowadzane w pliku SampleAdsWrapper.java. Pierwszym jest zaktualizowanie zmiennych stałych.
Oto stałe żądania strumienia bloku reklamowego, które musisz dodać:
STREAM_URL
: używane tylko w transmisjach na żywo – adres URL strumienia wideo podany przez za pomocą manipulatora manifestu lub partnera zewnętrznego, który obsługuje bloki reklamowe. Powinna musisz wstawić identyfikator strumienia dostarczony przez pakiet IMA DAI SDK przed przesłać prośbę. W tym przypadku URL transmisji zawiera zmienną,"[[STREAMID]]"
, która jest zastępowana identyfikatorem strumienia, przed utworzeniem użytkownika.NETWORK_CODE
: kod sieci Twojego konta Ad Managera 360.CUSTOM_ASSET_KEY
: używany tylko w transmisjach na żywo – niestandardowy klucz pliku, który identyfikuje zdarzenie wyświetlenia bloku reklamowego w usłudze Ad Manager 360. Kto może ją utworzyć za pomocą manipulatora pliku manifestu lub zewnętrznego partnera obsługującego pody.API_KEY
: używany tylko na potrzeby transmisji na żywo – opcjonalny klucz interfejsu API, którego można użyć wymagane do pobrania identyfikatora strumienia z pakietu IMA DAI SDK.
Podstawowy przykład dynamicznego wstawiania w Androidzie został zaprojektowany do odtwarzania różnych strumieni a w przypadku bloków reklamowych jest skonfigurowany odtwarzanie tylko 1 strumienia. Zmień sekcję zmiennej w przykładzie tak, aby była zgodna z tym fragmentem:
/** This class adds ad-serving support to Sample HlsVideoPlayer */
public class SampleAdsWrapper
implements AdEvent.AdEventListener, AdErrorEvent.AdErrorListener, AdsLoader.AdsLoadedListener {
// Podserving Stream Constants.
private static final String STREAM_URL =
"https://encodersim.sandbox.google.com/masterPlaylist/9c654d63-5373-4673-8c8d-6d92b66b9d46/" +
"master.m3u8?gen-seg-redirect=true&network=51636543&event=google-sample" +
"&pids=devrel4628000,devrel896000,devrel3528000,devrel1428000,devrel2628000,devrel1928000" +
"&seg-host=dai.google.com&stream_id=[[STREAMID]]";
private static final String NETWORK_CODE = "51636543";
private static final String CUSTOM_ASSET_KEY = "google-sample";
private static final String API_KEY = "";
private static final String PLAYER_TYPE = "DAISamplePlayer";
/** Log interface, so we can output the log commands to the UI or similar. */
public interface Logger {
...
Utwórz żądanie strumienia bloku reklamowego na żywo lub VOD, aby włączyć wyświetlanie bloków reklamowych
Blok reklamowy w transmisji na żywo
Usuń metodę buildStreamRequest()
, która była używana do przełączania się między
tworząc różne typy strumieni. Następnie zmień requestAndPlayAds()
, aby zadzwonić
ImaSdkFactory.createPodStreamRequest()
, aby utworzyć reklamę z aktywnym blokiem reklamowym.
użytkownika. Na koniec poproś o utworzenie transmisji za pomocą AdsLoader.requestStream()
.
public void requestAndPlayAds() {
StreamRequest request =
sdkFactory.createPodStreamRequest(NETWORK_CODE, CUSTOM_ASSET_KEY, API_KEY);
request.setFormat(StreamFormat.HLS);
adsLoader.addAdErrorListener(this);
adsLoader.addAdsLoadedListener(this);
adsLoader.requestStream(request);
}
Wyświetlanie bloków reklamowych w strumieniu VOD
Usuń metodę buildStreamRequest()
, która była używana do przełączania się między
tworząc różne typy strumieni. Następnie zmień requestAndPlayAds()
, aby zadzwonić
ImaSdkFactory.createPodVodStreamRequest()
, aby utworzyć reklamę w bloku reklamowym VOD.
użytkownika. Na koniec poproś o utworzenie transmisji za pomocą AdsLoader.requestStream()
.
public void requestAndPlayAds() {
StreamRequest request =
sdkFactory.createPodVodStreamRequest(NETWORK_CODE);
request.setFormat(StreamFormat.HLS);
adsLoader.addAdErrorListener(this);
adsLoader.addAdsLoadedListener(this);
adsLoader.requestStream(request);
}
Edytowanie i ustawianie adresu URL transmisji
Blok reklamowy w transmisji na żywo
Wywołaj StreamManager.getStreamId()
, aby uzyskać identyfikator strumienia. Następnie należy
wstawiono do STEAM_URL
, zastępując "[[STREAMID]]"
. Po tej zmianie
nowy adres URL transmisji można ustawić za pomocą parametru videoPlayer.setStreamUrl()
.
@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
streamManager = event.getStreamManager();
streamManager.addAdErrorListener(this);
streamManager.addAdEventListener(this);
// To enable streams
String streamID = streamManager.getStreamId();
String streamUrl = STREAM_URL.replace("[[STREAMID]]", streamID);
streamManager.init();
videoPlayer.setStreamUrl(streamUrl);
videoPlayer.play();
}
Wyświetlanie bloków reklamowych w strumieniu VOD
Wywołaj StreamManager.getStreamId()
, aby uzyskać identyfikator strumienia. Następnie poproś o
adresu URL strumienia od dostawcy technologii wideo (VTP). Następnie zadzwoń
StreamManager.loadThirdPartyStream()
, by pakiet IMA wczytał adres URL transmisji i wszystkie
napisy zwrócone przez TVP.
@Override
public void onAdsManagerLoaded(AdsManagerLoadedEvent event) {
streamManager = event.getStreamManager();
streamManager.addAdErrorListener(this);
streamManager.addAdEventListener(this);
// To enable streams
String streamID = streamManager.getStreamId();
// 'vtpInterface' is a place holder for your own video technology partner
// (VTP) API calls.
String streamUrl = vtpInterface.requestStreamURL(streamID);
streamManager.init();
// Pass any subtitles returned by your VTP in this step as well.
streamManager.loadThirdPartyStream(streamUrl, subtitles);
}
Po włączeniu wyświetlania bloków reklamowych IMA nie wywołuje funkcji
VideoStreamPlayer.loadUrl()
, więc możesz usunąć wszystkie połączenia z:
videoPlayer.setStreamUrl()
i videoPlayer.play()
od niego.
Znakomicie. Zamawiasz i wyświetlasz reklamy w strumieniu bloku reklamowego z pakiet IMA DAI SDK. Aby zobaczyć inne przykłady wykorzystania pakietu Android SDK, spójrz na znajdziesz na GitHubie.