Tryby działania pakietu SDK
SDK może działać w co najmniej 1 trybie w zależności od odpowiedzi na reklamę, którą otrzymuje z serwera reklam.
- Pojedyncza reklama
- Reklama, którą można odtworzyć w dowolnym momencie, gdy wiadomość zostanie wysłana do
start
IMAAdsManager
. Do odtworzenia pojedynczej reklamy nie jest wymagana specjalna inicjalizacja. - Blok reklamowy
- Kilka reklam odtwarzanych jedna po drugiej, gdy
start
wiadomość jest wysyłana doIMAAdsManager
. Aby odtworzyć pojedynczy blok reklamowy, nie trzeba przeprowadzać specjalnej inicjalizacji. - Reguły reklam
- Lista odtwarzania przerw na reklamy zaplanowanych na określone godziny w odniesieniu do konkretnych treści. W trybie reguł dotyczących reklam komunikat
start
jest ignorowany. W ramach jednej playlisty można zaplanować kilka przerw na reklamy (np. przed filmem, w trakcie filmu i po filmie). Więcej informacji o wdrażaniu znajdziesz w sekcji Reguły dotyczące reklam poniżej.
Reguły reklam
Pakiet IMA tvOS SDK obsługuje w pełni zautomatyzowane listy odtwarzania reklam. Ta funkcja wstawia przerwy na reklamy do treści zgodnie z ustawieniami w Google Ad Managerze podczas kierowania reklam. Znacznie upraszcza też kod odtwarzacza wideo niezbędny do obsługi przerw na reklamy, w tym reklam przed filmem, w trakcie filmu i po filmie.
- Podczas kierowania reklam w usłudze Ad Manager można określić różne reguły reklamowe, np. „zawsze odtwarzaj blok reklamowy na początku treści” lub „odtwarzaj 1-minutowy blok reklamowy co 30 minut treści”.
- Gdy wysyłane są żądania reklam, serwer reklam może zwrócić playlistę reklam. Pakiet SDK przetwarza listę odtwarzania i automatycznie planuje przerwy reklamowe, które zostały określone.
- Podczas inicjowania
AdsManager
obiektIMAContentPlayhead
jest przekazywany w wywołaniuinitializeWithContentPlayhead:adsRenderingSettings:
. Jeśli do wyświetlania treści używasz AVPlayer, podczas tworzenia obiektuadDisplayContainer
przekazujesz do pakietu SDK instancjęIMAAVPlayerContentPlayhead
. Ten obiekt służy do śledzenia postępu odtwarzania treści, dzięki czemu przerwy na reklamy są automatycznie wstawiane w czasie określonym w usłudze Ad Manager.
Za pomocą AVPlayer:
IMAContentPlayhead *contentPlayhead = [[IMAAVPlayerContentPlayhead alloc] initWithAVPlayer:self.contentAVPlayer]; IMAAdsRequest *request = [[IMAAdsRequest alloc] initWithAdTagUrl:adTagUrl adDisplayContainer:adDisplayContainer contentPlayhead:contentPlayhead userContext:nil];
Bez AVPlayer:
- Zaimplementuj interfejs
IMAContentPlayhead
. - Zaimplementuj
currentTime
, aby zwracać bieżący czas odtwarzacza wideo. - Zmień wywołanie inicjujące
IMAAdsManager
, aby używaćinitializeWithContentPlayhead:self
.
- Zaimplementuj interfejs
- Protokół IMAAdsManagerDelegate jest używany do wstrzymywania i wznawiania odtwarzania treści podczas wyświetlania przerw na reklamę.
Uwaga: gdy odtwarzanie treści dobiegnie końca lub użytkownik je zatrzyma, wywołaj funkcję contentComplete
na obiekcie IMAAdsLoader
, aby poinformować pakiet SDK, że odtwarzanie treści zostało zakończone. Pakiet SDK odtwarza wtedy blok reklamowy po filmie, jeśli został zaplanowany.
Zdarzenie ALL_ADS_COMPLETED
jest wywoływane, gdy wszystkie przerwy na reklamy zostaną odtworzone. Pamiętaj też, że śledzenie treści rozpoczyna się po wywołaniu metody IMAAdsManager
initializeWithContentPlayhead:adsRenderingSettings
, a przed odtworzeniem treści zawsze należy wywołać metodę initializeWithContentPlayhead:adsRenderingSettings
.