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:
- Pakiet SDK do reklam mobilnych Google na iOS w wersji 7.30.0 lub nowszej w przypadku MRAID w wersji 3
- Pakiet SDK do reklam mobilnych Google na iOS w wersji 7.4.0 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.0
–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()
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.supports()
Od wersji 7.11.0 pakietu SDK funkcje mraid.supports("storePicture")
i mraid.supports("calendar")
zawsze zwracają wartość false
. Zgodnie ze specyfikacją MRAID w wersji 2 kreacje powinny obsługiwać sytuacje, w których te metody są niedostępne.
mraid.storePicture()
Aplikacja automatycznie prosi o uprawnienia do zapisania obrazu, gdy kreacja MRAID wywołuje funkcję mraid.storePicture()
.