Pakiet SDK do reklam mobilnych Google obsługuje teraz w wersji beta MRAID w wersji 3. Jest on oparty na dotychczasowej obsłudze MRAID w wersji 2, co umożliwia reklamodawcom wyświetlanie wydawcom w usłudze Ad Manager kreacji MRAID w wersji 3. Ten przewodnik wyjaśnia szczegóły implementacji MRAID, które były niejasne i mogły być interpretowane na różne sposoby w specyfikacji MRAID v3. Jego odbiorcami są autorzy kreacji MRAID v3.
Wymagania wstępne
Wydawcy muszą prowadzić:
- 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 wstępne
Jeśli nie znasz standardu MRAID, więcej informacji znajdziesz na stronie internetowej IAB poświęconej MRAID. Możesz też pobrać dokument Definicje MRAID w wersji 3, który zawiera szczegółowe informacje o wszystkich parametrach opisanych poniżej, oraz przeczytać artykuł 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 dla nowego zdarzenia exposureChange
zamiast wycofanego zdarzenia viewableChange
.
Metoda mraid.isViewable()
jest też wycofana. Te przestarzałe metody są nadal obsługiwane ze względu na zachowanie zgodności wstecznej.
Definicja zdarzenia exposureChange
jest wysyłana za każdym razem, gdy widok reklamy ulegnie zmianie. SDK zawiera mechanizm pollingu, który zapobiega generowaniu zbyt dużej liczby zdarzeń.
Stan początkowy jest wysyłany asynchronicznie po zarejestrowaniu przez reklamę słuchacza.
Wywołanie zwrotne zawiera parametr exposed_percentage
, który jest liczbą zmiennoprzecinkową z zakresu 0.0
–100.0
.
Przykładowe użycia znajdziesz w specyfikacji MRAID w wersji 3.
Wykrywanie i inicjowanie MRAID oraz atrybuty MRAID_ENV
Pakiet SDK jest zgodny z protokołem inicjalizacji określonym w specyfikacji MRAID w wersji 3.
W obiekcie MRAID_ENV
pakiet SDK nie wysyła parametrów IDFA
, limitAdTracking
, identyfikatora aplikacji ani informacji o ustawie COPPA (są one opcjonalne). Zawiera wszystkie wymagane zmienne w obiekcie MRAID_ENV
, w tym wersję MRAID, nazwę 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, oraz kiedy zmienia się jego głośność.
Zdarzenie audioVolumeChange
ma 1 parametr: volume_percentage
.
Wartość jest wyrażona jako procent maksymalnej głośności odtwarzania dźwięku. Jest to liczba zmiennoprzecinkowa z przedziału 0.0
–100.0
(0.0
, gdy odtwarzanie nie jest dozwolone) lub null
, jeśli głośność nie może zostać określona.
Przykładowe użycia znajdziesz w specyfikacji MRAID w wersji 3.
mraid.getLocation()
Ponieważ mraid.getLocation()
nie jest obsługiwana, zawsze zwraca wartość -1
.
mraid.unload()
Metodę tę można wywołać w dowolnym momencie, a pakiet SDK zareaguje, zamyka reklamę, odzyskując zasoby, a następnie usuwa widok internetowy lub zastępuje go innym dokumentem albo nową reklamą.
Gdy kreacja wywołuje funkcję unload()
, warstwa natywnych reklam reaguje w sposób podany niżej w przypadku różnych typów kreacji:
Typ | Zachowanie funkcji unload() |
---|---|
Banner | Wyślij nowe żądanie reklamy z tymi samymi parametrami co bieżąca reklama. |
Reklama pełnoekranowa | Zamknij reklamę przejściową. |
VPAID (Video Player Ad Interface Definition)
Pakiet SDK do reklam mobilnych Google nie obsługuje standardu VPAID. mraid.supports('vpaid')
zwraca wartość „fałsz”.
mraid.useCustomClose()
mraid.useCustomClose()
może nie być obsługiwany w zależności od formatu i typu kreacji.
Szczegóły implementacji MRAID v2
mraid.getVersion()
Funkcja mraid.getVersion()
nie zwraca wartości 2.0
, dopóki kreacja nie zostanie załadowana. Nie sprawdzaj wersji MRAID, gdy mraid.getState()
zwraca loading
.
mraid.resize()
Gdy wywołasz funkcję mraid.resize()
, pierwotny baner zostaje zastąpiony zrzutem ekranu banera. Jest to widoczne, jeśli reklama o zmienionym rozmiarze nie pokrywa pierwotnej przestrzeni reklamowej.
Reklamy o zmienionym rozmiarze nie będą też pasować do pierwotnego obramowania banera. Jeśli baner jest umieszczony w widoku przewijania, reklama o zmienionym rozmiarze nie będzie się przewijać 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ą się nieudolnie kończyć, dopóki funkcja mraid.setResizeProperties()
nie zostanie wywołana ponownie z prawidłowymi parametrami.
mraid.getMaxSize()
Tag mraid.getMaxSize()
powinien być używany tylko do określenia maksymalnego rozmiaru reklam po zmianie ich rozmiaru. Aby określić rozmiar reklamy rozwijanej, użyj mraid.getScreenSize()
.
mraid.setOrientationProperties()
Gdy wywołujesz funkcję mraid.setOrientationProperties()
, a właściwość allowOrientationChange
ma wartość true
, ustawienie właściwości forceOrientation
nie spowoduje żadnych zmian.
W przypadku kreacji, w których chcesz wymusić orientację, wartość atrybutu allowOrientationChange
powinna wynosić false
.
mraid.isViewable()
Jeśli widok obejmuje widoczną reklamę, mraid.isViewable()
nadal zwraca true
. Treści aplikacji nie powinny zasłaniać widocznych reklam.
mraid.getCurrentPosition()
Gdy dwuczęściowa reklama rozwijana jest w stanie rozwiniętym, wywołanie funkcji mraid.getCurrentPosition()
w pierwszym elemencie zwróci rozmiar ekranu.
mraid.storePicture()
Aby aplikacja obsługiwała mraid.storePicture()
, musi mieć uprawnienie android.permission.WRITE_EXTERNAL_STORAGE
.