Перейти к основному содержимому
Версия: 3.4.0-beta.1

MREC

MREC — это баннер размером 300x250. Этот тип может быть полезен, если в приложении есть большая свободная область для размещения баннера в интерфейсе.

Вы можете использовать наше демо приложение в качестве примера по интеграции.

Демо приложение

Проверка Загрузки

Вы можете проверить статус загрузки перед показом. Этот метод возвращает boolean значение, указывающее, загружен ли MREC.

Appodeal.isLoaded(Appodeal.MREC)

Мы рекомендуем всегда проверять загружен ли MREC баннер, прежде чем пытаться его показать.

if (Appodeal.isLoaded(Appodeal.MREC)) {
Appodeal.show(this, Appodeal.MREC)
}

Отображение

Чтобы отобразить MREC, необходимо вызвать в действии следующий код:

  1. Добавьте com.appodeal.ads.MrecView в ваш layout файл:
<com.appodeal.ads.MrecView
android:id="@+id/appodealMrecView"
android:layout_width="300dp"
android:layout_height="250dp" />
  1. Установите view id перед инициализацией SDK:
Appodeal.setMrecViewId(R.id.appodealMrecView)
  1. Теперь вы можете показать MREC в указанном view (убедитесь, что нужный view находится на экране):
Appodeal.show(this, Appodeal.MREC)

Метод возвращает boolean значение, указывающее, был ли передан вызов метода show соответствующему SDK.

SDK не может отображать рекламу без подключения к сети!
MrecView должен находиться на вершине иерархии и не может перекрываться другими представлениями.

Ручное Кэширование

По умолчанию автоматическое кэширование включено: Appodeal SDK начинает загружать MREC сразу после вызова метода инициализации.

Следующий MREC начинает загружаться сразу после вызова метода show.

Чтобы отключить автоматическое кеширование для MREC, вызовите следующий код до инициализации SDK:

Appodeal.setAutoCache(Appodeal.MREC, false)

Для кэширования MREC используйте:

Appodeal.cache(this, Appodeal.MREC)

Более подробную информацию о ручном кешировании рекламы вы можете найти в нашем FAQ.

Показ рекламы в программно созданном View

  1. Создайте и добавьте com.appodeal.ads.MrecView в ваш root view:
val adView = Appodeal.getMrecView(this)
rootLayout.addView(adView)
  1. Теперь вы можете показать MREC в указанном view (убедитесь, что нужный view находится на экране):
Appodeal.show(this, Appodeal.MREC)

Метод возвращает boolean значение, указывающее, был ли передан вызов метода show соответствующему SDK.

SDK не может отображать рекламу без подключения к сети!
MrecView должен находиться на вершине иерархии и не может перекрываться другими представлениями.

Методы обратного вызова

Appodeal.setMrecCallbacks(object : MrecCallbacks {
override fun onMrecLoaded(isPrecache: Boolean) {
// Called when MREC is loaded
}
override fun onMrecFailedToLoad() {
// Called when MREC failed to load
}
override fun onMrecShown() {
// Called when MREC is shown
}
override fun onMrecShowFailed() {
// Called when MREC show failed
}
override fun onMrecClicked() {
// Called when MREC is clicked
}
override fun onMrecExpired() {
// Called when MREC is expired
}
})
к сведению

Вcе callback методы вызываются в главном потоке

Плейсменты

Appodeal SDK позволяет помечать каждый показ указанным плейсментом. Для использования плейсментов вам необходимо сначала их создать в Appodeal Dashboard. Подробнее о местах размещения.

Appodeal.show(this, Appodeal.MREC, "yourPlacementName")

Если загруженное объявление не может быть показано для определенного плейсмента, ничего не будет показано. Если автоматическое кеширование включено, SDK начнет кэшировать другое объявление, что может повлиять на display rate. Чтобы сохранить загруженное объявление для использования в будущем (например, для другого места размещения), перед вызовом метода show проверьте, можно ли показывать объявление:

if (Appodeal.canShow(Appodeal.MREC, "yourPlacementName")) {
Appodeal.show(this, Appodeal.MREC, "yourPlacementName")
}

Вы можете настроить логику показа для каждого плейсмента.

Если у вас нет плейсментов, или вы вызовете Appodeal.show метод с плейсментом, которого не существует, показ будет помечен с использованием плейсмента default и будут применены его настройки.

Важно!

Плейсменты влияют ТОЛЬКО на представление рекламы, но не на загрузку или кеширование.

Проверка инициализации

Чтобы проверить, инициализирован ли MREC, вы можете использовать метод:

Appodeal.isInitialized(Appodeal.MREC)

Возвращает true, если MREC был проинициализирован.

Проверка типа кеширования

Чтобы проверить, включено ли автоматическое кеширование для MREC, вы можете использовать метод:

Appodeal.isAutoCacheEnabled(Appodeal.MREC)

Возвращает true, если автоматическое кеширование включено для MREC.

Получение прогнозируемого eCPM

Для того, чтобы получить прогнозируемый eCPM для MREC для следующего блока в очереди на опрос, вы можете использовать метод:

Appodeal.getPredictedEcpm(Appodeal.MREC)
Этот метод целесообразно использовать, если включено ручное кэширование рекламы.

Обработка состояния "onPaused" в Activity

Мы будем автоматически обрабатывать состояние паузы и возобновления для уже отображаемых MREC в activity, в котором они были отображены, однако мы не восстанавливаем отображаемые MREC после восстановления activity (например: изменения ориентации), и мы не показываем MREC во вновь созданных activity.

Для показа рекламы во вновь созданной Activity просто вызовите метод Appodeal.show(), если необходимо:

override fun onResume() {
super.onResume()
Appodeal.show(this, Appodeal.MREC)
}

Это поведение можно изменить, вызвав Appodeal.setSharedAdsInstanceAcrossActivities(true)

(Узнать больше: Логика одного экземпляра MrecView для всех activity)

Скрытие рекламы

Appodeal.hide(this, Appodeal.MREC)

Удаление рекламы

Если вы хотите скрыть MREC во всех activity и очистить память, вызовите код ниже:

Appodeal.destroy(Appodeal.MREC)

Логика одного экземпляра MrecView для всех activity

Appodeal SDK связывает Banner/MREC с activity, которое было передано в метод Appodeal.show.

Чтобы вам было проще управлять логикой отображения View объявлений во всех activities, мы добавили новый метод в Appodeal класс:

Appodeal.setSharedAdsInstanceAcrossActivities(sharedAdsInstanceAcrossActivities: Boolean)
  • Когда этот метод используется с параметром true, SDK будет показывать MREC во всех новых activities без вызова дополнительного кода с вашей стороны.
  • Если вы хотите контролировать отображение MREC самостоятельно, вы можете передавать параметр false.
    предупреждение

    В случае передачи параметра false, будьте осторожны с изменением ориентации или переходом к новой activity, Banner/MREC не будет отображаться автоматически, так как он был привязан к предыдущей activity. Если вы хотите скрыть Banner/MREC, вам нужно вызвать метод Appodeal.hide() с параметром activity, к которому был привязан Banner/MREC.

Вы так же можете проверить текущее состояние этой логики:

Appodeal.isSharedAdsInstanceAcrossActivities()
к сведению

Shared View Ads Instance Across Activities отключена по умолчанию

Отслеживание показа

Вы всегда можете проверить в логах, был ли отслежен показ и видна ли ваша реклама.

В случае успешного показа вы увидите лог Mrec [Notify Shown].

Appodeal  com.example.app  D Mrec [Notify Shown]