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:
- Usługi Google Play w wersji 15.0.0 lub nowszej (MRAID v3)
- Usługi Google Play w wersji 7.8 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.storePicture()
Aby aplikacja obsługiwała mraid.storePicture()
, musi obejmować uprawnienie android.permission.WRITE_EXTERNAL_STORAGE
.