Мобильные мультимедийные объявления

В Google Mobile Ads SDK теперь реализована бета-поддержка MRAID v3, основанная на существующей поддержке MRAID v2, что позволяет рекламодателям показывать креативы MRAID v3 издателям Менеджера рекламы. В этом руководстве разъясняются детали реализации MRAID, которые были неясны и открыты для интерпретации в спецификации MRAID v3 . Его целевой аудиторией являются творческие авторы MRAID v3.

Предварительные условия

У издателей должны быть запущены:

  • Google Mobile Ads SDK для iOS 7.30.0 или более поздней версии для MRAID v3
  • Google Mobile Ads SDK для iOS 7.4.0 или более поздней версии для MRAID v2

Полезные учебники

Если вы не знакомы с MRAID, вы можете узнать больше на странице IAB MRAID . Вы также можете загрузить документ «Определения MRAID v3» , в котором подробно описаны все параметры, обсуждаемые ниже, а также сообщение в блоге IAB о MRAID v3 .

Подробности реализации MRAID v3 (бета)

Видимость – событие ExpoChange

Это событие поддерживается, и мы рекомендуем использовать прослушиватель для нового события exposureChange , а не для устаревшего события viewableChange . Метод mraid.isViewable() также устарел. Однако эти устаревшие методы продолжают поддерживаться для обеспечения обратной совместимости.

Определение события exposureChange отправляется при каждом изменении вида объявления. SDK имеет механизм опроса, позволяющий избежать создания слишком большого количества событий. Исходное состояние отправляется асинхронно после того, как объявление регистрирует прослушиватель. Обратный вызов включает параметр exposed_percentage , который представляет собой число с плавающей запятой от 0.0 до 100.0 .

Пример использования см. в спецификации MRAID v3 .

Обнаружение и инициализация MRAID и атрибуты MRAID_ENV

SDK соответствует протоколу инициализации, определенному в спецификации MRAID v3 .

В объекте MRAID_ENV SDK не отправляет IDFA , limitAdTracking , App ID или COPPA (которые являются необязательными). Он предоставляет все необходимые переменные в объекте MRAID_ENV , включая версию MRAID, имя SDK и версию SDK.

Измерение слышимости

Введено новое событие ( audioVolumeChange ), позволяющее определить, слышен ли звук и когда изменяется громкость.

Событие audioVolumeChange имеет единственный параметр: volume_percentage . Значение представляет собой процент от максимальной громкости воспроизведения звука. Это число с плавающей запятой от 0.0 до 100.0 ( 0.0 , если воспроизведение не разрешено) или null , если громкость определить невозможно.

Пример использования см. в спецификации MRAID v3 .

mraid.getLocation()

Поскольку mraid.getLocation() не поддерживается, он всегда возвращает -1 .

mraid.unload()

Этот метод можно вызвать в любое время, и SDK отреагирует, закрывая рекламу, освобождая ресурсы, а затем либо удаляя веб-просмотр, либо заменяя его другим документом или новым объявлением.

Когда креатив вызывает unload() , нативный слой для разных типов креативов реагирует следующим образом:

Тип выгрузить() Поведение
Баннер Создайте новый запрос объявления с теми же параметрами запроса, что и у текущего объявления.
Межстраничный Закройте межстраничное объявление.

VPAID (определение рекламного интерфейса видеоплеера)

Google Mobile Ads SDK не поддерживает VPAID. mraid.supports('vpaid') возвращает false.

mraid.useCustomClose()

mraid.useCustomClose() может не поддерживаться в зависимости от формата и типа объявления.

Подробности реализации MRAID v2

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.supports()

Начиная с версии SDK 7.11.0, mraid.supports("storePicture") и mraid.supports("calendar") всегда возвращают false . Согласно спецификации MRAID v2, креативы должны иметь возможность обрабатывать случаи, когда эти методы недоступны.

mraid.storePicture()

Приложение автоматически запрашивает разрешение на сохранение изображения, когда объявление MRAID вызывает mraid.storePicture() .