Reklamy multimedialne na telefon komórkowy

Pakiet SDK do reklam mobilnych Google obsługuje teraz MRAID w wersji 3 w wersji beta. Dzięki temu reklamodawcy mogą wyświetlać kreacje MRAID v3 na stronach wydawców Ad Managera. W tym przewodniku wyjaśniamy szczegóły implementacji MRAID, które są niejasne i podatne na interpretację w specyfikacji MRAID v3. Docelowi odbiorcy to autorzy kreacji MRAID v3.

Wymagania wstępne

Wydawcy muszą wyświetlać reklamy:

  • Pakiet SDK do reklam mobilnych Google na iOS w wersji 7.30.0 lub nowszej (MRAID v3)
  • Pakiet SDK do reklam mobilnych Google na iOS w wersji 7.4.0 lub nowszej (MRAID v2)

Przydatne podkłady

Jeśli nie znasz MRAID, więcej informacji znajdziesz na stronie IAB MRAID. Możesz też pobrać dokument Definicje MRAID w wersji 3, który zawiera szczegółowe informacje o wszystkich parametrach omówionych poniżej, a także posta na blogu IAB dotyczącego MRAID v3.

Szczegóły implementacji MRAID v3 (beta)

Widoczność – zdarzenie zmiany ekspozycji

To zdarzenie jest obsługiwane i dla nowego zdarzenia exposureChange zalecamy użycie odbiornika, a nie wycofanego zdarzenia viewableChange. Metoda mraid.isViewable() również została wycofana. Te wycofane metody będą jednak nadal obsługiwane, by zachować zgodność wsteczną.

Definicja zdarzenia exposureChange jest wysyłana przy każdej zmianie widoku reklamy. Pakiet SDK ma mechanizm odpytywania, który zapobiega generowaniu zbyt wielu zdarzeń. Stan początkowy jest wysyłany asynchronicznie po zarejestrowaniu odbiornika przez reklamę. Wywołanie zwrotne zawiera parametr exposed_percentage, który jest liczbą zmiennoprzecinkową z przedziału od 0.0 do 100.0.

Przykładowe zastosowanie znajdziesz w specyfikacji MRAID w wersji 3.

Wykrywanie i inicjowanie MRAID oraz atrybuty MRAID_ENV

Pakiet SDK jest zgodny z protokołem inicjowania określonym w specyfikacji MRAID w wersji 3.

W obiekcie MRAID_ENV pakiet SDK nie wysyła wartości IDFA, limitAdTracking, identyfikatora aplikacji ani ustawy COPPA (opcjonalne). Zawiera w obiekcie MRAID_ENV wszystkie wymagane zmienne, w tym wersję MRAID, nazwę i wersję pakietu SDK.

Pomiar słyszalności

Wprowadzono nowe zdarzenie (audioVolumeChange), aby określić, czy dźwięk jest słyszalny i kiedy zmienia się głośność.

Zdarzenie audioVolumeChange ma jeden parametr: volume_percentage. Wartość jest procentem maksymalnej głośności odtwarzania dźwięku. Jest to liczba zmiennoprzecinkowa z zakresu od 0.0 do 100.0 (0.0, gdy odtwarzanie jest niedozwolone) lub null, jeśli nie można określić głośności.

Przykładowe zastosowanie znajdziesz w specyfikacji MRAID w wersji 3.

mraid.getLocation()

Ponieważ mraid.getLocation() nie jest obsługiwany, zawsze zwraca -1.

mraid.unload()

Metodę można wywołać w dowolnym momencie. Pakiet SDK zareaguje, zamykając reklamę, usuwając zasoby, a następnie usuwając komponent WebView lub zastępując go innym dokumentem lub nową reklamą.

Gdy kreacja wywołuje unload(), warstwa natywna odpowiada w przypadku różnych typów kreacji w ten sposób:

Typ Działanie unload()
Banner Utwórz nowe żądanie reklamy z tymi samymi parametrami żądania co bieżąca reklama.
Reklama pełnoekranowa Zamknij reklamę pełnoekranową.

VPAID (Video Player Ad Interface Definition)

Pakiet SDK do reklam mobilnych Google nie obsługuje VPAID. mraid.supports('vpaid') zwraca wartość „fałsz”.

mraid.useCustomClose()

W zależności od formatu i typu kreacji właściwość mraid.useCustomClose() może nie być obsługiwana.

Szczegóły implementacji MRAID v2

mraid.getVersion()

mraid.getVersion() nie zwraca wartości 2.0, dopóki kreacja nie zostanie załadowana. Nie sprawdzaj wersji MRAID, gdy mraid.getState() zwraca wartość loading.

mraid.resize()

Po wywołaniu elementu mraid.resize() pierwotny baner jest zastępowany zrzutem ekranu banera. Jest to widoczne, jeśli powiększona reklama nie zajmuje oryginalnej przestrzeni reklamowej.

Poza tym zmienione rozmiary reklam nie są zgodne z pierwotną ramką banera. Jeśli baner zostanie umieszczony w widoku przewijanym, jego rozmiar nie będzie się przewijał.

mraid.setResizeProperties()

Wszystkie wywołania funkcji mraid.setResizeProperties() powinny zawierać pełną listę wymaganych właściwości. Jeśli właściwości zmiany rozmiaru są nieprawidłowe, zostaną przywrócone wartości domyślne, a wszystkie kolejne wywołania funkcji mraid.resize() będą nieudane do czasu ponownego wywołania metody mraid.setResizeProperties() z prawidłowymi parametrami.

mraid.getMaxSize()

Wartości mraid.getMaxSize() należy używać tylko do określania maksymalnego rozmiaru reklam o zmienionych rozmiarach. Aby określić rozmiar reklamy rozwijanej, użyj mraid.getScreenSize().

mraid.setOrientationProperties()

W przypadku wywołania metody mraid.setOrientationProperties() z właściwością allowOrientationChange ustawioną na true ustawienie właściwości forceOrientation niczego nie zmieni. Kreacje, które mają wymuszać orientację, powinny mieć wartość false w polu allowOrientationChange.

mraid.isViewable()

Jeśli wyświetlenie zasłania reklamę widoczną z innego powodu, mraid.isViewable() zwróci wartość true. Zawartość aplikacji nie powinna zasłaniać widocznych reklam.

mraid.getCurrentPosition()

Gdy dwuelementowa reklama rozwijana jest w stanie rozwiniętym, wywołanie mraid.getCurrentPosition() w pierwszym fragmencie zwróci rozmiar ekranu.

mraid.supports()

Od wersji SDK 7.11.0 funkcje mraid.supports("storePicture") i mraid.supports("calendar") zawsze zwracają wartości false. Zgodnie ze specyfikacją MRAID v2 kreacje powinny obsługiwać sytuację, gdy te metody są niedostępne.

mraid.storePicture()

Gdy kreacja MRAID wywołuje mraid.storePicture(), aplikacja automatycznie prosi o pozwolenie na zapisanie obrazu.