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
startIMAAdsManager. Do odtworzenia pojedynczej reklamy nie jest wymagana specjalna inicjalizacja. - Blok reklamowy
- Kilka reklam odtwarzanych jedna po drugiej, gdy
startwiadomość 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
startjest 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 iOS 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
AdsManagerobiektIMAContentPlayheadjest przekazywany w wywołaniuinitializeWithContentPlayhead:adsRenderingSettings:. Jeśli do wyświetlania treści używasz AVPlayer, podczas tworzenia obiektuadDisplayContainerprzekazujesz 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 IMAAdsManagerinitializeWithContentPlayhead:adsRenderingSettings, a przed odtworzeniem treści zawsze należy wywołać metodę initializeWithContentPlayhead:adsRenderingSettings.