Reklamy mobilne multimedialne

Pakiet SDK do reklam mobilnych Google obsługuje teraz w wersji beta MRAID v3, który jest oparty na dotychczasowej obsłudze MRAID v2. Umożliwia to reklamodawcom wyświetlanie kreacji MRAID v3 wydawcom korzystającym z Ad Managera. Ten przewodnik wyjaśnia szczegóły implementacji MRAID, które były niejasne i podlegały interpretacji w specyfikacji MRAID v3. Jest on przeznaczony dla autorów kreacji MRAID v3.

Wymagania wstępne

Wydawcy muszą korzystać z:

  • Usługi Google Play w wersji 15.0.0 lub nowszej w przypadku MRAID w wersji 3
  • Usługi Google Play w wersji 7.8 lub nowszej w przypadku MRAID w wersji 2

Przydatne wprowadzenia

Jeśli nie znasz MRAID, więcej informacji znajdziesz na stronie IAB MRAID. Możesz też pobrać dokument MRAID v3 Definitions, który zawiera szczegółowe informacje o wszystkich parametrach omówionych poniżej, oraz wpis na blogu IAB na temat MRAID w wersji 3.

Szczegóły implementacji MRAID w wersji 3 (beta)

Widoczność – zdarzenie exposureChange

To zdarzenie jest obsługiwane i zalecamy używanie odbiornika nowego zdarzenia exposureChange zamiast wycofanego zdarzenia viewableChange. Metoda mraid.isViewable() jest również wycofana. Te wycofane metody są jednak nadal obsługiwane ze względu na zgodność wsteczną.

Definicja zdarzenia exposureChange jest wysyłana za każdym razem, gdy zmienia się widok reklamy. Pakiet SDK ma mechanizm odpytywania, który zapobiega generowaniu zbyt dużej liczby zdarzeń. Stan początkowy jest wysyłany asynchronicznie po zarejestrowaniu przez reklamę odbiorcy. Wywołanie zwrotne zawiera parametr exposed_percentage, który jest liczbą zmiennoprzecinkową z zakresu od 0.0 do 100.0.

Przykłady użycia znajdziesz w specyfikacji MRAID w wersji 3.

Wykrywanie i inicjowanie MRAID oraz atrybuty MRAID_ENV

Pakiet SDK jest zgodny z protokołem inicjowania zdefiniowanym w specyfikacji MRAID w wersji 3.

W obiekcie MRAID_ENV pakiet SDK nie wysyła parametrów IDFA, limitAdTracking, identyfikatora aplikacji ani informacji o zgodności z ustawą COPPA (które są opcjonalne). Zawiera wszystkie wymagane zmienne w obiekcie MRAID_ENV, w tym wersję MRAID, nazwę pakietu SDK i wersję pakietu SDK.

Pomiar słyszalności

Wprowadziliśmy nowe zdarzenie (audioVolumeChange), które pozwala 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 podana w procentach maksymalnej głośności odtwarzania dźwięku. Jest to liczba zmiennoprzecinkowa z przedziału 0.0100.0 (0.0, gdy odtwarzanie jest niedozwolone) lub null, jeśli nie można określić głośności.

Przykłady użycia znajdziesz w specyfikacji MRAID w wersji 3.

mraid.getLocation()

Ponieważ mraid.getLocation() nie jest obsługiwane, zawsze zwraca wartość -1.

mraid.unload()

Tę metodę można wywołać w dowolnym momencie. Pakiet SDK reaguje na nią, zamykając reklamę, zwalniając zasoby, a następnie usuwając widok internetowy lub zastępując go innym dokumentem albo nową reklamą.

Gdy kreacja wywoła unload(), warstwa natywna odpowie w sposób opisany poniżej w przypadku różnych typów kreacji:

Typ Działanie metody unload()
Banner Utwórz nowe żądanie reklamy z tymi samymi parametrami 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()

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

Szczegóły implementacji MRAID v2

mraid.getVersion()

mraid.getVersion() nie zwraca wartości 2.0, dopóki kreacja się nie wczyta. Nie sprawdzaj wersji MRAID, gdy mraid.getState() zwraca loading.

mraid.resize()

Gdy wywoływana jest funkcja mraid.resize(), oryginalny baner jest zastępowany obrazem banera w postaci zrzutu ekranu. Jest to widoczne, jeśli zmieniona reklama nie pokrywa pierwotnej przestrzeni reklamowej.

Reklamy o zmienionym rozmiarze nie są też dopasowane do pierwotnej ramki banera. Jeśli baner jest umieszczony w widoku przewijanym, zmieniona reklama nie przewija się wraz z banerem.

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 do wartości domyślnych, a wszystkie kolejne wywołania funkcji mraid.resize() będą kończyć się niepowodzeniem, dopóki funkcja mraid.setResizeProperties() nie zostanie ponownie wywołana z prawidłowymi parametrami.

mraid.getMaxSize()

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

mraid.setOrientationProperties()

Gdy wywołujesz funkcję mraid.setOrientationProperties() z właściwością allowOrientationChange ustawioną na true, ustawienie właściwości forceOrientation nie przyniesie żadnego efektu. Kreacje, które chcą wymusić orientację, powinny ustawić wartość allowOrientationChange na false.

mraid.isViewable()

Jeśli widok zasłania widoczną reklamę, funkcja mraid.isViewable() nadal zwróci wartość true. Zawartość aplikacji nie powinna zasłaniać widocznych reklam.

mraid.getCurrentPosition()

Gdy dwuczęściowa reklama rozwijana jest w stanie rozwiniętym, wywołanie funkcji mraid.getCurrentPosition() w pierwszej części zwróci rozmiar ekranu.

mraid.storePicture()

Aby aplikacja obsługiwała mraid.storePicture(), musi mieć uprawnienie android.permission.WRITE_EXTERNAL_STORAGE.