Wybierz rozwiązanie DAI, które Cię interesuje
DAI z pełną obsługą
Ten przewodnik pokazuje, jak odtwarzać strumień DAI za pomocą pakietu IMA CAF DAI SDK. Jeśli chcesz obejrzeć lub przeanalizować ukończoną przykładową integrację, pobierz przykład.
Przed skorzystaniem z tego przewodnika zapoznaj się z Chromecastem
protokołu Web Receiver na platformie Application Framework. Ten
zakłada znajomość podstawowych zagadnień związanych z odbiornikami CAF, takich jak
wiadomość
urządzenia przechwytujące
oraz
mediaInformation
.
oraz znajomość funkcji poleceń i sterowania przesyłaniem
do emulacji nadawcy CAF.
Aby korzystać z IMA DAI, musisz mieć Ad Managera 360. Jeśli masz reklamę konta menedżera. Aby uzyskać więcej informacji, skontaktuj się z menedżerem konta. Informacje na temat o rejestracji w usłudze Ad Manager znajdziesz w Centrum pomocy Ad Managera pomocy.
Informacje na temat integracji z innymi platformami i korzystania z IMA po stronie klienta przeczytaj artykuł Pakiety SDK do interaktywnych reklam medialnych.
Omówienie funkcji DAI CAF
Implementacja DAI za pomocą pakietu IMA CAF DAI SDK obejmuje 2 główne komponenty: w tym przewodniku:
StreamRequest
: Obiekt definiujący żądanie strumienia do serwerów reklamowych Google. Żądania strumieni dzielą się na 2 główne:LiveStreamRequest
: określa Klucz zasobu i opcjonalny klucz interfejsu API, a także inny parametrów opcjonalnych.VODStreamRequest
: Określa identyfikator źródła treści, identyfikator filmu i opcjonalny interfejs API klucz oraz inne opcjonalne parametry.
StreamManager
: Obiekt obsługujący komunikację między strumieniem wideo a IMA DAI SDK, np. uruchamianie pingów śledzących i przekazywanie zdarzeń strumienia do wydawcy.
Wymagania wstępne
- Konto Konsoli programisty Cast z zarejestrowanego urządzenia testowego.
- Hostowany odbiornik internetowy zarejestrowane w Konsoli programisty Cast i które można zmodyfikować, aby hostować według kodu podanego w tym przewodniku.
- aplikację wysyłającą skonfigurowaną do korzystania z internetowego odbiornika, Ten przykład używa narzędzia sterowania przesyłaniem, do nadawcy.
Konfigurowanie obiektów MediaInfo nadawcy
Najpierw skonfiguruj MediaInfo aplikacji nadawcy , aby uwzględnić tych polach:
contentId
|
Unikalny identyfikator tego elementu multimedialnego | |
contentUrl
|
Zastępczy adres URL strumienia, który ma zostać wczytany, gdy żądanie StreamRequest DAI nie powiedzie się powód | |
streamType
|
W przypadku transmisji na żywo ta wartość powinna być ustawiona na „LIVE”. W przypadku strumieni VOD: ta wartość powinna być ustawiona na „BUFFERED” | |
customData
|
assetKey
|
Tylko transmisje na żywo. Identyfikuje transmisję na żywo, która ma zostać wczytana |
contentSourceId
|
Tylko strumienie VOD. Identyfikuje kanał multimedialny, który zawiera żądany strumień. | |
videoId
|
Tylko strumienie VOD. Identyfikuje żądany strumień w wybranego pliku danych multimedialnych. | |
ApiKey
|
Opcjonalny klucz interfejsu API, który może być wymagany do pobrania adresu URL strumienia z: pakiet IMA DAI SDK | |
senderCanSkip
|
Wartość logiczna wskazująca odbiorcy, czy urządzenie wysyłające ma wyświetlanie przycisku pominięcia, co umożliwia obsługę reklam możliwych do pominięcia. |
Aby skonfigurować te wartości w narzędziu poleceń i sterowania przesyłaniem, kliknij przycisk Wczytaj
Media i ustaw typ niestandardowego żądania wczytywania na LOAD
. Następnie zastąp
Dane JSON w obszarze tekstowym z jednym z tych obiektów JSON:
NA ŻYWO
{
"media": {
"contentId": "bbb",
"contentUrl": "https://storage.googleapis.com/interactive-media-ads/media/bbb.m3u8",
"streamType": "LIVE",
"customData": {
"assetKey": "sN_IYUG8STe1ZzhIIE_ksA",
"ApiKey": "",
"senderCanSkip": true
}
},
"credentials": "testCredentials"
}
VOD
{
"media": {
"contentId": "tos",
"contentUrl": "https://storage.googleapis.com/interactive-media-ads/media/tos.m3u8",
"streamType": "BUFFERED",
"customData": {
"contentSourceId": "2548831",
"videoId": "tears-of-steel",
"ApiKey": "",
"senderCanSkip": true
}
},
"credentials": "testCredentials"
}
Ten niestandardowy obiekt żądania obciążenia można wysłać do odbiorcy, aby przetestować kolejnych czynności.
Tworzenie podstawowego odbiornika CAF
Postępując zgodnie z przewodnikiem po podstawowych odbiornikach SDK CAF, utwórz podstawowy odbiornik internetowy.
Kod Twojego odbiornika powinien wyglądać tak:
<html>
<head>
<script type="text/javascript"
src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js">
</script>
</head>
<body>
<cast-media-player></cast-media-player>
<script>
cast.framework.CastReceiverContext.getInstance().start();
</script>
</body>
</html>
Zaimportuj pakiet IMA DAI SDK i pobierz Menedżera odtwarzaczy.
Dodaj tag skryptu, by zaimportować pakiet IMA DAI SDK dla CAF do swojego odbiornika internetowego. po wczytaniu skryptu. Pakiet SDK CAF DAI jest zawsze aktualny, żeby ustawić konkretną wersję. Następnie w kolejnym tagu skryptu zapisz parametr kontekstu odbiorcy i menedżera odtwarzacza jako wartości stałych.
<html>
<head>
<script type="text/javascript"
src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>
<script src="//imasdk.googleapis.com/js/sdkloader/cast_dai.js"></script>
</head>
<body>
<cast-media-player></cast-media-player>
<script>
const castContext = cast.framework.CastReceiverContext.getInstance();
const playerManager = castContext.getPlayerManager();
castContext.start();
</script>
</body>
</html>
Inicjowanie Menedżera strumieni IMA
Zainicjuj strumień danych z pakietu SDK CAF DAI Menedżer.
<html>
<head>
<script type="text/javascript"
src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>
<script src="//imasdk.googleapis.com/js/sdkloader/cast_dai.js"></script>
</head>
<body>
<cast-media-player></cast-media-player>
<script>
const castContext = cast.framework.CastReceiverContext.getInstance();
const playerManager = castContext.getPlayerManager();
const streamManager = new google.ima.cast.dai.api.StreamManager();
castContext.start();
</script>
</body>
</html>
Utwórz element przechwytujący wiadomości
Pakiet SDK CAF DAI używa komunikatu wczytywania CAF
przechwytujący
, by wysyłać żądania strumieni i zastępować adres URL treści końcowym strumieniem z dynamicznym wstawianiem reklam.
Funkcja przechwytująca wiadomości wywołuje metodę streamManager.requestStream(), która obsługuje
ustawianie przerw na reklamę, wysyłanie żądań transmisji i zastępowanie istniejących
contentURL
Może być tylko jeden przechwytujący wiadomości, jeśli więc aplikacja wymaga użycia wszelkie niestandardowe funkcje w tej samej ramce oddzwanianie.
<html>
<head>
<script type="text/javascript"
src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>
<script src="//imasdk.googleapis.com/js/sdkloader/cast_dai.js"></script>
</head>
<body>
<cast-media-player></cast-media-player>
<script>
const castContext = cast.framework.CastReceiverContext.getInstance();
const playerManager = castContext.getPlayerManager();
const streamManager = new google.ima.cast.dai.api.StreamManager();
const getStreamRequest = (request) => null;
playerManager.setMessageInterceptor(
cast.framework.messages.MessageType.LOAD, (request) => {
return streamManager.requestStream(request, getStreamRequest(request))
.then((request) => {
this.broadcast('Stream request successful.');
return Promise.resolve(request);
})
.catch((error) => {
this.broadcast('Stream request failed.');
return Promise.resolve(request);
});
});
castContext.start();
</script>
</body>
</html>
Tworzenie żądania strumienia
Aby zakończyć integrację DAI CAF, musisz utworzyć strumień danych
prośba
używając danych zawartych w obiekcie mediaInfo
od nadawcy.
<html>
<head>
<script type="text/javascript"
src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>
<script src="//imasdk.googleapis.com/js/sdkloader/cast_dai.js"></script>
</head>
<body>
<cast-media-player></cast-media-player>
<script>
const castContext = cast.framework.CastReceiverContext.getInstance();
const playerManager = castContext.getPlayerManager();
const streamManager = new google.ima.cast.dai.api.StreamManager();
const getStreamRequest = (request) => {
const imaRequestData = request.media.customData;
let streamRequest = null;
if (imaRequestData.assetKey) {
// Live stream
streamRequest = new google.ima.cast.dai.api.LiveStreamRequest();
streamRequest.assetKey = imaRequestData.assetKey;
} else if (imaRequestData.contentSourceId) {
// VOD stream
streamRequest = new google.ima.cast.dai.api.VODStreamRequest();
streamRequest.contentSourceId = imaRequestData.contentSourceId;
streamRequest.videoId = imaRequestData.videoId;
}
if (streamRequest && imaRequestData.ApiKey) {
streamRequest.ApiKey = imaRequestData.ApiKey;
}
if (streamRequest && imaRequestData.senderCanSkip) {
streamRequest.senderCanSkip = imaRequestData.senderCanSkip;
}
return streamRequest;
};
playerManager.setMessageInterceptor(
cast.framework.messages.MessageType.LOAD, (request) => {
return streamManager.requestStream(request, getStreamRequest(request))
.then((request) => {
return Promise.resolve(request);
})
.catch((error) => {
this.broadcast('Stream request failed.');
return Promise.resolve(request);
});
});
castContext.start();
</script>
</body>
</html>
Możesz teraz wysyłać żądania strumieni DAI i je odtwarzać za pomocą pakietu Google SDK CAF DAI. Aby dowiedzieć się więcej o bardziej zaawansowanych funkcjach pakietu SDK, zapoznaj się z innymi przewodnikami lub pobierz nasz odbiornik próbki aplikacji.