Reklamy mobilne multimedialne

Pakiet SDK do reklam mobilnych Google obsługuje teraz w wersji beta MRAID w wersji 3, który jest oparty na dotychczasowej obsłudze MRAID w wersji 2. Dzięki temu reklamodawcy mogą wyświetlać kreacje MRAID w wersji 3 wydawcom korzystającym z Ad Managera. W tym przewodniku wyjaśniamy szczegóły implementacji MRAID , które były niejasne i podlegały interpretacji w specyfikacji MRAID w wersji 3. Jest on przeznaczony dla autorów kreacji MRAID w wersji 3.

Wymagania wstępne

Wydawcy muszą korzystać z tych usług:

  • 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 informacje

Jeśli nie znasz MRAID, więcej informacji znajdziesz na stronie IAB MRAID. Możesz też pobrać dokument MRAID v3 Definitions (Definicje MRAID w wersji 3), w którym znajdziesz szczegółowe informacje o wszystkich parametrach omówionych poniżej, oraz przeczytać post 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. Zalecamy używanie detektora nowego zdarzenia exposureChange zamiast wycofanego zdarzenia viewableChange. Metoda mraid.isViewable() też jest wycofana. Te wycofane metody są jednak nadal obsługiwane, aby zachować zgodność wsteczną.

Definicja zdarzenia exposureChange jest wysyłana za każdym razem, gdy zmienia się wyświetlenie reklamy. Pakiet SDK ma mechanizm sondowania, który zapobiega generowaniu zbyt wielu zdarzeń. Stan początkowy jest wysyłany asynchronicznie po zarejestrowaniu detektora przez reklamę. 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 opcjonalnych parametrów IDFA, limitAdTracking, identyfikatora aplikacji ani COPPA. Zawiera wszystkie wymagane zmienne w obiekcie MRAID_ENV, w tym wersję MRAID, nazwę pakietu SDK i jego wersję.

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ść to procent 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łady użycia znajdziesz w specyfikacji MRAID w wersji 3.

mraid.getLocation()

Metoda mraid.getLocation() nie jest obsługiwana i zawsze zwraca wartość -1.

mraid.unload()

Tę metodę można wywołać w dowolnym momencie. Pakiet SDK reaguje na nią przez zamknięcie reklamy, zwolnienie zasobów, a następnie usunięcie widoku WebView lub zastąpienie go innym dokumentem albo nową reklamą.

Gdy kreacja wywoła metodę unload(), warstwa natywna odpowie w ten sposób w zależności od typu kreacji:

Typ Zachowanie funkcji unload()
Baner Wyślij nowe żądanie reklamy z tymi samymi parametrami co w przypadku bieżącej reklamy.
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()

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

Szczegóły implementacji MRAID w wersji 2

mraid.getVersion()

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

mraid.resize()

Gdy wywoływana jest metoda mraid.resize(), oryginalny baner jest zastępowany zrzutem ekranu banera. Jest to widoczne, jeśli zmieniona reklama nie obejmuje pierwotnego miejsca na reklamę.

Zmienione reklamy nie są też zgodne z oryginalną ramką banera. Jeśli baner jest umieszczony w widoku przewijanym, zmieniona reklama nie będzie się przewijać razem z banerem.

mraid.setResizeProperties()

Wszystkie wywołania metody 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 metody mraid.resize() będą kończyć się niepowodzeniem, dopóki metoda mraid.setResizeProperties() nie zostanie ponownie wywołana z prawidłowymi parametrami.

mraid.getMaxSize()

Metoda mraid.getMaxSize() powinna być używana tylko do określania maksymalnego rozmiaru zmienionych reklam. Aby określić rozmiar reklamy rozwijanej, użyj metody mraid.getScreenSize().

mraid.setOrientationProperties()

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

mraid.isViewable()

Jeśli widok zasłania reklamę, która w innym przypadku byłaby widoczna, metoda mraid.isViewable() nadal będzie zwracać wartość true. Treść aplikacji nie powinna zasłaniać widocznych reklam.

mraid.getCurrentPosition()

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

mraid.storePicture()

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