Pisanie aplikacji dla nadawców na potrzeby pakietu CAF DAI SDK

W odróżnieniu od poprzednich integracji Chromecasta z DAI pakiet SDK CAF DAI skupia się głównie na spełnianiu standardów i oczekiwań określonych w platformie Cast Application Framework. W związku z tym nie ma wymagań, aby w znacznym stopniu dostosować aplikacje nadawcy do zarządzania dwukierunkową komunikacją między IMA a aplikacją nadawcy. Komunikacja jest teraz zarządzana za pomocą zintegrowanej funkcji przerwy na reklamy CAF, zamiast wymagać niestandardowych systemów komunikacji między aplikacją nadawcy a odbiorcą.

W zależności od nadawcy nadal może być konieczne dodanie do nadawców ograniczonych kodów, aby w pełni włączyć obsługę przerw na reklamy CAF, na przykład dodanie obsługi reklam możliwych do pominięcia do nadawców w internecie.

Teraz oprócz obsługi przerw na reklamy CAF musisz tylko dodać dane strumienia DAI w obiekcie MediaInfo CAF, które jest wysyłane od nadawcy do odbiorcy. Dane te możesz wysyłać na wiele różnych sposobów – na przykład możesz zakodować na stałe identyfikator contentSourceID na odbiorniku i wysłać tylko videoID z obiektem MediaInfo albo wysłać dowolny identyfikator do odbiorcy, by tam wysłać zapytanie do bazy danych online, by uzyskać rzeczywiste parametry DAI.

Dla uproszczenia we wszystkich przykładach zakładamy, że postępujesz zgodnie z tą prostą strukturą i konwencją nazewnictwa obiektów MediaInfo:

contentId Unikalny identyfikator tego elementu multimedialnego
contentUrl Adres URL strumienia zastępczego, który zostanie wczytany, gdy z jakiegokolwiek powodu żądanie StreamRequest DAI nie powiedzie się
streamType W przypadku transmisji na żywo ta wartość powinna być ustawiona na „NA ŻYWO”. W przypadku strumieni VOD należy ustawić tę wartość na „BUFFERED”
customData assetKey Tylko transmisje na żywo. Określa transmisję na żywo do wczytania
contentSourceId Tylko strumienie VOD. Identyfikuje kanał multimedialny, który zawiera żądany strumień.
videoId Tylko strumienie VOD. Identyfikuje żądany strumień w podanym kanale multimedialnym.
ApiKey Opcjonalny klucz interfejsu API, który może być wymagany do pobrania adresu URL strumienia z pakietu IMA DAI SDK.
senderCanSkip Wartość logiczna informująca odbiorcę o tym, czy urządzenie wysyłające ma możliwość wyświetlania przycisku pominięcia, co umożliwia obsługę reklam możliwych do pominięcia.

Przykład transmisji 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"
}