Pakiet IMA SDK na iOS zawiera pakiet SDK Open Measurement (OM), czyli standard branżowy opracowany przez Interactive Advertising Bureau (IAB) w celu umożliwienia pomiaru widoczności i weryfikacji przez zewnętrznych dostawców. Gdy używasz pakietu IMA SDK na iOS, zawarty w nim pakiet OM SDK automatycznie analizuje tag <AdVerifications>
w tagach reklam VAST i wysyła dane o widoczności do określonych dostawców usług pomiarowych za pomocą interfejsu OMID API. Pakiet IMA SDK obsługuje pakiet OM SDK w wersji 1.4, rozszerzenia GAM AdVerifications w VAST 2+ i węzeł AdVerifications w VAST 4+. Aby korzystać z otwartego pomiaru, pamiętaj o tych kwestiach:
Aby korzystać z Open Measurement, musisz mieć wersję 3.9.0 lub nowsza IMA SDK na iOS.
Reklamy muszą być skonfigurowane pod kątem trafikowania pliku
<AdVerifications>
w formacie VAST zgodnie z Specyfikacja VAST 4.1 jeśli używasz VAST 4.1 lub nowszego, w przeciwnym razie,<Extension type="AdVerifications">
należy użyć funkcji.Nie zasłaniaj
AdDisplayContainer
żadnymi nakładkami (przezroczystymi ani nieprzezroczystymi), ponieważ OM SDK uzna je za przeszkody i zmniejszą widoczność.
Wymagania wstępne
- Jeśli Twoje reklamy są kierowane przez Ad Managera, skonfiguruj dostawcę usług pomiaru widoczności w swojej sieci Ad Managera i przypisz go do elementu zamówienia.
Testowanie
Aby przetestować Open Measurement za pomocą pakietu IMA SDK, użyj jednej z wymaganych wersji pakietu SDK wymienionego powyżej wraz z testowym tagiem reklamy.
W odpowiedzi VAST powinna pojawić się wartość <AdVerifications>
zwrócona.
Rejestrowanie przeszkód w nakładce z elementami sterującymi filmu
Elementy sterujące odtwarzaniem filmu (np. przyciski wstrzymywania i pasków postępu) zapewniają niezbędne elementy sterujące odtwarzaniem. i przekazywać użytkownikom informacje i działania. Na komórkach nieprecyzyjne kliknięcia dlatego powszechną praktyką jest renderowanie dużych, przyjaznych dla dotyku reklam. nad elementem multimedialnym. Elementy te zwykle pojawiają się i znikają na ekranie dotyka użytkownika i nie są one widoczne przez większość czasu odtwarzania.
Poniżej znajdziesz przykład elementów sterujących odtwarzaniem filmu renderowanych przez aplikację YouTube:
Korzystając z pakietu IMA SDK, większość wydawców wdraża te elementy sterujące, dodając widok nad kontenerem wyświetlania reklam, który jest w większości przezroczysty. Zazwyczaj elementy sterujące są elementami podrzędnymi tego widoku, który całkowicie zasłania odtwarzacz wideo. Ta przezroczysta nakładka jest używana do rejestrowania zdarzeń dotknięcia, renderuje elementy sterujące po dotknięciu.
Przy obliczaniu widoczności reklam za pomocą pakietu Open Measurement SDK uwzględniane są wszystkie wyświetlenia nałożone na element multimedialny są uznawane za przeszkody i zmniejszają współczynnik widoczności. W przypadku, gdy nad cały kontener reklamy displayowej, zasoby reklamowe mogą być zadeklarowane całkowicie niewidoczne.
Pakiet Open Measurement SDK umożliwia traktowanie elementów sterujących filmem jako „przyjaznych” przeszkód, które są niezbędne dla wygody użytkownika. Po zarejestrowaniu jako przyjazne te opcje są wykluczane z pomiaru widoczności reklam.
Dzięki współpracy z IAB i MRC pakiet IMA SDK wprowadza interfejs API do rejestrowania tych nakładek za pomocą pakietu Open Measurement SDK. Ustawienia te muszą być w pełni przejrzyste nakładkami lub małymi przyciskami. Wszelkie inne wyświetlenia niezwiązane z elementami sterującymi wideo muszą nie mogą być zarejestrowane.
DO register | NIE rejestruj |
---|---|
|
|
Ten przykładowy kod pokazuje, jak zarejestrować nakładki elementów sterujących filmem. w kontenerze reklamy displayowej:
UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Substitute "myTransparentTapOverlay" and "myPauseButton" with the elements
// you want to register as video controls overlays.
// Make sure to register before ad playback starts.
IMAFriendlyObstruction *overlayObstruction =
[[IMAFriendlyObstruction alloc] initWithView:myTransparentTapOverlay
purpose:IMAFriendlyObstructionPurposeNotVisible
detailedReason:@"This overlay is transparent"];
IMAFriendlyObstruction *pauseButtonObstruction =
[[IMAFriendlyObstruction alloc] initWithView:myPauseButton
purpose:IMAFriendlyObstructionPurposeMediaControls
detailedReason:@"This is the video player pause button"];
[displayContainer registerFriendlyObstruction:overlayObstruction];
[displayContainer registerFriendlyObstruction:pauseButtonObstruction];
Gdy skończysz, możesz usunąć te przeszkody, wywołując następującą metodę:
[displayContainer unregisterAllFriendlyObstructions];