В Google Mobile Ads SDK теперь поддерживается бета-версия MRAID 3.0, созданная на основе MRAID 2.0. Благодаря этому рекламодатели могут показывать креативы MRAID 3.0 издателям Менеджера рекламы. В этом руководстве разъясняются детали реализации MRAID, которые были неясны и допускали разные интерпретации в спецификации MRAID версии 3. Оно предназначено для авторов креативов MRAID версии 3.
Требования
Издатели должны использовать:
- Сервисы Google Play 15.0.0 или более поздней версии для MRAID 3.
- Сервисы Google Play версии 7.8 или более поздней для MRAID 2.
Полезные материалы
Если вы не знакомы с MRAID, ознакомьтесь с информацией на странице IAB. Вы также можете скачать документ Определения MRAID v3, в котором подробно описаны все параметры, упомянутые ниже, а также прочитать запись в блоге 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 и версию 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.