Pakiet IMA SDK na iOS zawiera pakiet
Open Measurement (OM) SDK,
czyli standard branżowy opracowany przez
Interactive Advertising Bureau (IAB), który umożliwia pomiar
widoczności i weryfikacji przez firmy zewnętrzne. Gdy używasz pakietu IMA SDK na
iOS, dołączony do niego 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 pomiaru za pomocą interfejsu OMID API. Pakiet IMA SDK obsługuje pakiet OM SDK w wersji 1.6, rozszerzenia GAM AdVerifications w VAST 2+ oraz węzeł AdVerifications w VAST 4+.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.
Jeśli używasz VAST 4.1 lub nowszego, reklamy muszą być skonfigurowane tak, aby w VAST przekazywać tag
<AdVerifications>zgodnie ze specyfikacją VAST 4.1. W przeciwnym razie należy użyć tagu<Extension type="AdVerifications">.Nie zasłaniaj elementu
AdDisplayContainerżadnymi nakładkami (przezroczystymi ani nieprzezroczystymi), ponieważ pakiet OM SDK oznaczy je jako treści zasłaniające reklamy, co zmniejszy widoczność.
Wymagania wstępne
- Jeśli reklamy są przekazywane 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ę tag <AdVerifications>.
Rejestrowanie treści zasłaniających nakładkę z elementami sterującymi wideo
Elementy sterujące wideo, takie jak przyciski wstrzymywania czy paski postępu, dostarczają użytkownikom niezbędnych informacji o odtwarzaniu i umożliwiają wykonywanie działań. Na urządzeniach mobilnych ze względu na niedokładne dotknięcia i oczekiwania użytkowników powszechną praktyką stało się renderowanie dużych, wygodnych w dotyku elementów sterujących nad elementem multimedialnym. Elementy sterujące zwykle pojawiają się i znikają po dotknięciu przez użytkownika i nie są widoczne przez większość czasu odtwarzania.
Przykład nakładania elementów sterujących wideo znajdziesz na tym obrazie przedstawiającym elementy sterujące renderowane w aplikacji YouTube:

W przypadku korzystania z pakietu IMA SDK większość wydawców implementuje 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óre całkowicie zasłaniają odtwarzacz wideo. Ta przezroczysta nakładka służy do przechwytywania zdarzeń dotknięcia, a następnie do renderowania elementów sterujących użytkownikom po dotknięciu.
Gdy obliczana jest widoczność reklamy za pomocą pakietu SDK do pomiaru skuteczności kampanii Open Measurement, wszystkie widoki nakładające się na element multimedialny są traktowane jako treści zasłaniające reklamy i zmniejszają współczynnik widoczności. Jeśli przezroczysta nakładka do dotykania znajduje się nad całym kontenerem wyświetlania reklam, zasoby reklamowe mogą zostać uznane za całkowicie niewidoczne.
Pakiet SDK do pomiaru skuteczności kampanii Open Measurement umożliwia traktowanie elementów sterujących wideo jako „przyjaznych” treści zasłaniających reklamy, które są niezbędne do zapewnienia użytkownikom pozytywnych wrażeń. Po zarejestrowaniu jako przyjazne te elementy sterujące są wykluczane z pomiaru widoczności reklamy.
Pakiet IMA SDK, który obsługuje IAB i MRC, wprowadza interfejs API do rejestrowania tych nakładek w pakiecie SDK do pomiaru skuteczności kampanii Open Measurement. Te elementy sterujące muszą być całkowicie przezroczystymi nakładkami lub małymi przyciskami. Nie należy rejestrować żadnych innych widoków niezwiązanych z elementami sterującymi wideo.
| ZAREJESTRUJ | NIE REJESTRUJ |
|---|---|
|
|
Poniższy przykładowy kod pokazuje, jak zarejestrować nakładki z elementami sterującymi wideo w kontenerze wyświetlania reklam:
Objective-C
- (void)registerObstructionsForContainer:(IMAAdDisplayContainer *)displayContainer {
UIView *transparentTapOverlay = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 250)];
UIButton *myPauseButton = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 10)];
IMAFriendlyObstruction *overlayObstruction =
[[IMAFriendlyObstruction alloc] initWithView:transparentTapOverlay
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];
}
Swift
func registerObstructions(displayContainer: IMAAdDisplayContainer) {
let transparentTapOverlay = UIView(frame: CGRect(x: 0, y: 0, width: 300, height: 250))
let myPauseButton = UIButton(frame: CGRect(x: 0, y: 0, width: 50, height: 10))
let overlayObstruction = IMAFriendlyObstruction(
view: transparentTapOverlay,
purpose: .notVisible,
detailedReason: "This overlay is transparent")
let pauseButtonObstruction = IMAFriendlyObstruction(
view: myPauseButton,
purpose: .mediaControls,
detailedReason: "This is the video player pause button")
displayContainer.register(overlayObstruction)
displayContainer.register(pauseButtonObstruction)
}
Gdy skończysz, możesz usunąć te treści zasłaniające reklamy, 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()
}