Pakiet IMA SDK na iOS zawiera pakiet Open Measurement (OM) SDK, który jest standardem branżowym opracowanym przez Interactive Advertising Bureau (IAB), aby umożliwić pomiar widoczności i weryfikację przez firmy zewnętrzne. Jeśli korzystasz z pakietu IMA SDK na iOS, dołączony 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.6, rozszerzenia AdVerifications w usłudze GAM w przypadku standardu VAST w wersji 2 lub nowszej oraz węzeł AdVerifications w przypadku standardu VAST w wersji 4 lub nowszej.Aby korzystać z Open Measurement, pamiętaj o tych kwestiach:
Aby korzystać z Open Measurement, musisz mieć pakiet IMA SDK na iOS w wersji 3.9.0 lub nowszej.
Reklamy muszą być skonfigurowane tak, aby przesyłać
<AdVerifications>w odpowiedzi VAST zgodnie ze specyfikacją VAST 4.1, jeśli używasz VAST 4.1 lub nowszego. W przeciwnym razie należy użyć<Extension type="AdVerifications">.Nie zasłaniaj elementu
AdDisplayContainerżadnymi nakładkami (przezroczystymi ani nieprzezroczystymi), ponieważ zostaną one oznaczone przez pakiet OM SDK jako przeszkody i obniżą widoczność.
Wymagania wstępne
- Jeśli reklamy są trafikowane przez Ad Managera, skonfiguruj dostawcę usług pomiaru widoczności w sieci Ad Managera i przypisz go do elementu zamówienia.
Testowanie
Aby przetestować Open Measurement za pomocą pakietu IMA SDK, użyj wersji IMA, która obsługuje pakiet OM SDK, oraz testowego tagu reklamy.
W odpowiedzi VAST powinien pojawić się parametr <AdVerifications>.
Rejestrowanie elementów zasłaniających nakładkę elementów sterujących odtwarzaniem filmu
Elementy sterujące odtwarzaniem, takie jak przyciski wstrzymania czy paski postępu, dostarczają użytkownikom niezbędnych informacji i umożliwiają wykonywanie działań. Na urządzeniach mobilnych niedokładne kliknięcia i oczekiwania użytkowników sprawiły, że powszechną praktyką stało się renderowanie dużych, łatwych w obsłudze elementów sterujących nad elementem multimedialnym. Te elementy sterujące zwykle pojawiają się i znikają po dotknięciu ekranu przez użytkownika i nie są widoczne przez większość czasu odtwarzania.
Przykład nakładania elementów sterujących odtwarzaniem filmu znajdziesz na tym obrazie przedstawiającym elementy sterujące renderowaniem w aplikacji YouTube:

W przypadku korzystania 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. Zwykle elementy sterujące są elementami podrzędnymi tego widoku, który całkowicie zasłania odtwarzacz wideo. Ta przezroczysta nakładka służy do rejestrowania zdarzeń kliknięcia, a po kliknięciu wyświetla użytkownikom elementy sterujące.
Gdy widoczność reklamy jest obliczana za pomocą pakietu SDK do pomiaru skuteczności kampanii Open Measurement, wszystkie widoki nakładające się na element multimedialny są traktowane jako przeszkody i obniżają współczynnik widoczności. Jeśli przezroczysta nakładka dotykowa znajduje się nad całym kontenerem wyświetlania reklamy, zasoby reklamowe mogą zostać uznane za całkowicie niewidoczne.
Pakiet Open Measurement SDK umożliwia traktowanie elementów sterujących odtwarzaniem wideo jako „przyjaznych” przeszkód, które są niezbędne do zapewnienia użytkownikom odpowiednich wrażeń. Po zarejestrowaniu jako przyjazne te elementy sterujące są wykluczane z pomiaru widoczności reklam.
Dzięki obsłudze IAB i MRC pakiet IMA SDK wprowadza interfejs API do rejestrowania tych nakładek w pakiecie SDK do pomiaru skuteczności kampanii Open Measurement. Te elementy sterujące muszą być w pełni przezroczystymi nakładkami lub małymi przyciskami. Nie wolno rejestrować żadnych innych widoków niezwiązanych z elementami sterującymi odtwarzaniem filmu.
| Zarejestruj się | NIE rejestruj |
|---|---|
|
|
Poniższy przykładowy kod pokazuje, jak zarejestrować nakładki elementów sterujących odtwarzaniem wideo w kontenerze wyświetlania reklam:
UIView *myTransparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
// Replace myTransparentTapOverlay and myPauseButton with your own elements
// that function as video control 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 przeszkody nie będą już potrzebne, możesz je usunąć, wywołując tę metodę:
Objective-C
- (void)unregisterObstructionsForContainer:(IMAAdDisplayContainer *)displayContainer {
// This removes all previously registered friendly obstructions from the container.
[displayContainer unregisterAllFriendlyObstructions];
}
Swift
func unregisterObstructions(displayContainer: IMAAdDisplayContainer) {
// This removes all previously registered friendly obstructions from the container.
displayContainer.unregisterAllFriendlyObstructions()
}