В Google Mobile Ads SDK теперь доступна бета-версия поддержки MRAID версии 3, которая основана на существующей поддержке MRAID версии 2. Это позволяет рекламодателям показывать креативы MRAID версии 3 на инвентаре издателей Менеджера рекламы. В этом руководстве разъясняются детали реализации MRAID, которые были неясны и допускали различные толкования в спецификации MRAID v3. Оно предназначено для авторов креативов MRAID v3.
Требования
Издатели должны использовать:
Полезные руководства
Если вы не знакомы с MRAID, посетите страницу IAB, посвященную этому стандарту. Вы также можете скачать документ MRAID v3 Definitions, в котором подробно описаны все параметры, перечисленные ниже, и ознакомиться с записью в блоге IAB, посвященной MRAID v3.
Сведения о реализации MRAID версии 3 (бета)
Видимость – событие exposureChange
Это событие поддерживается, и мы рекомендуем использовать прослушиватель для нового события exposureChange, а не для устаревшего viewableChange.
Метод mraid.isViewable() также больше не поддерживается. Однако эти устаревшие методы по-прежнему поддерживаются для обеспечения обратной совместимости.
Определение события exposureChange отправляется каждый раз, когда меняется представление объявления. В SDK есть механизм опроса, который позволяет избежать создания слишком большого количества событий.
Исходное состояние асинхронно отправляется после того, как объявление зарегистрирует прослушиватель.
Обратный вызов включает параметр exposed_percentage, который является числом с плавающей запятой в диапазоне от 0.0 до 100.0.
Примеры использования приведены в спецификации MRAID версии 3.
Обнаружение и инициализация MRAID и атрибуты MRAID_ENV
SDK соответствует протоколу инициализации, определенному в спецификации MRAID версии 3.
В объекте MRAID_ENV SDK не отправляет IDFA, limitAdTracking, идентификатор приложения и данные, связанные с законом США "О защите личных сведений детей в интернете" (COPPA). Все эти параметры являются необязательными. Он предоставляет все необходимые переменные в объекте MRAID_ENV, включая версию MRAID, название и версию SDK.
Оценка слышимости
Новое событие (audioVolumeChange) позволяет определить, слышен ли звук и когда меняется громкость.
У события audioVolumeChange есть один параметр: volume_percentage.
Значение указывается в процентах от максимальной громкости воспроизведения аудио. Это число с плавающей запятой в диапазоне от 0.0 до 100.0 (0.0, если воспроизведение запрещено) или null, если громкость определить не удается.
Примеры использования приведены в спецификации MRAID версии 3.
mraid.getLocation()
Поскольку mraid.getLocation() не поддерживается, всегда возвращается -1.
mraid.unload()
Этот метод можно вызвать в любое время. SDK отреагирует на него, закрыв объявление, освободив ресурсы и удалив компонент WebView или заменив его другим документом или новым объявлением.
Когда креатив вызывает unload(), нативный уровень отвечает следующим образом в зависимости от типа креатива:
| Тип | Поведение unload() |
|---|---|
| Баннер | Создайте новый запрос объявления с теми же параметрами, что и у текущего объявления. |
| Межстраничное объявление | Закройте межстраничное объявление. |
VPAID (стандарт рекламного интерфейса видеопроигрывателей)
Google Mobile Ads SDK не поддерживает VPAID. mraid.supports('vpaid')
возвращает значение false.
mraid.useCustomClose()
В зависимости от формата и типа креатива mraid.useCustomClose() может не поддерживаться.
Сведения о реализации MRAID 2
mraid.getVersion()
mraid.getVersion() не возвращает 2.0, пока креатив не загрузится. Не проверяйте версию MRAID, пока mraid.getState() возвращает loading.
mraid.resize()
При вызове mraid.resize() исходный баннер заменяется его скриншотом. Это заметно, если объявление не занимает все рекламное место.
Объявления с измененным размером также не соответствуют исходной рамке баннера. Если баннер размещен в области прокрутки, то объявление измененного размера не будет прокручиваться вместе с ним.
mraid.setResizeProperties()
Все вызовы mraid.setResizeProperties() должны содержать полный список обязательных свойств. Если свойства изменения размера недействительны, они будут сброшены до значений по умолчанию, а все последующие вызовы mraid.resize() будут завершаться ошибкой, пока не будет снова вызван метод mraid.setResizeProperties() с действительными параметрами.
mraid.getMaxSize()
mraid.getMaxSize() следует использовать только для определения максимального размера объявлений, размер которых был изменен. Чтобы определить размер раскрываемого объявления, используйте mraid.getScreenSize().
mraid.setOrientationProperties()
Если при вызове mraid.setOrientationProperties() свойство allowOrientationChange имеет значение true, то настройка свойства forceOrientation ни на что не повлияет.
Если вы хотите принудительно задать ориентацию креатива, установите для параметра allowOrientationChange значение false.
mraid.isViewable()
Если представление закрывает видимое объявление, метод mraid.isViewable() все равно возвращает значение true. Контент приложения не должен перекрывать видимые объявления.
mraid.getCurrentPosition()
Если раскрываемое объявление из двух частей находится в развернутом состоянии, вызов mraid.getCurrentPosition() для первой части вернет размер экрана.
mraid.storePicture()
Чтобы приложение поддерживало mraid.storePicture(), в него нужно включить разрешение android.permission.WRITE_EXTERNAL_STORAGE.