W przeciwieństwie do poprzednich integracji Chromecasta z dynamicznym wstawianiem reklam pakiet CAF DAI SDK koncentruje się na zachowaniu standardów i oczekiwań określonych przez Cast Application Framework. Dlatego nie ma potrzeby, aby w dużym stopniu dostosowywać aplikacje wysyłające do zarządzania dwukierunkową komunikacją między IMA a aplikacją wysyłającą. Komunikacja ta jest teraz zarządzana za pomocą zintegrowanej funkcji przerw na reklamy CAF, a nie za pomocą niestandardowych systemów przesyłania wiadomości między aplikacją wysyłającą a odbiornikiem.
W zależności od nadawcy może być konieczne dodanie do niego ograniczonego kodu, aby w pełni włączyć obsługę przerw na reklamy w CAF, np. dodanie obsługi reklam, które można pominąć, do nadawców internetowych.
Oprócz obsługi przerw na reklamy CAF wystarczy teraz uwzględnić dane strumienia DAI w obiekcie CAF MediaInfo, który jest wysyłany od nadawcy do odbiorcy. Możesz wysyłać te dane na wiele różnych sposobów. Możesz na przykład zakodować na stałe identyfikator contentSourceID na odbiorniku i wysyłać tylko identyfikator videoID z obiektem MediaInfo. Możesz też wysyłać do odbiornika dowolny identyfikator, a następnie wysyłać zapytania do bazy danych online o rzeczywiste parametry DAI.
Jednak dla uproszczenia wszystkie nasze przykłady będą zakładać, że w przypadku obiektów MediaInfo stosujesz tę prostą strukturę i konwencję nazewnictwa:
contentId | Unikalny identyfikator tego elementu multimedialnego. | |
contentUrl | Adres URL transmisji zastępczej, która ma się wczytać, jeśli żądanie DAI StreamRequest nie powiedzie się z jakiegokolwiek powodu. | |
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. Określa transmisję na żywo, która ma zostać wczytana. |
contentSourceId | Tylko strumienie VOD. Określa plik danych o mediach, który zawiera żądany strumień. | |
videoId | Tylko strumienie VOD. Określa żądany strumień w określonym kanale multimedialnym. | |
ApiKey | Opcjonalny klucz API, który może być wymagany do pobrania adresu URL strumienia z pakietu IMA DAI SDK. | |
senderCanSkip | Wartość logiczna informująca odbiorcę, czy urządzenie wysyłające może wyświetlać przycisk pomijania, co umożliwia obsługę reklam możliwych do pominięcia. |
Przykładowa transmisja 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"
}
Przykładowy strumień 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"
}