MREC
MREC — это баннер размером 300x250. Этот тип может быть полезен, если в приложении есть большая свободная область для размещения баннера в интерфейсе.
Вы можете использовать наше демо приложение в качестве примера по интеграции.
Показ рекламы
Чтобы отобразить MREC, необходимо вызвать в действии следующий код:
- Добавьте
com.appodeal.ads.MrecView
в ваш layout файл:
<com.appodeal.ads.MrecView
android:id="@+id/appodealMrecView"
android:layout_width="300dp"
android:layout_height="250dp" />
- Установите view id перед инициализацией SDK:
- Kotlin
- Java
Appodeal.setMrecViewId(R.id.appodealMrecView)
Appodeal.setMrecViewId(R.id.appodealMrecView);
- Теперь вы можете показать
MREC
в указанном view (убедитесь, что нужный view находится на экране):
- Kotlin
- Java
Appodeal.show(this, Appodeal.MREC)
Appodeal.show(this, Appodeal.MREC);
Метод возвращает boolean значение, указывающее, был ли передан вызов метода show соответствующему SDK.
MrecView
должен находиться на вершине иерархии и не может перекрываться другими представлениями.Показ рекламы в программно созданном View
- Создайте и добавьте
com.appodeal.ads.MrecView
в ваш root view:
- Kotlin
- Java
val adView = Appodeal.getMrecView(this)
rootLayout.addView(adView)
MrecView adView = Appodeal.getMrecView(this);
rootLayout.addView(adView);
- Теперь вы можете показать
MREC
в указанном view (убедитесь, что нужный view находится на экране):
- Kotlin
- Java
Appodeal.show(this, Appodeal.MREC)
Appodeal.show(this, Appodeal.MREC);
Метод возвращает boolean значение, указывающее, был ли передан вызов метода show соответствующему SDK.
MrecView
должен находиться на вершине иерархии и не может перекрываться другими представлениями.Проверка загруженной рекламы
Вы можете проверить статус загрузки перед показом. Этот метод возвращает boolean значение, указывающее, загружен ли MREC.
- Kotlin
- Java
Appodeal.isLoaded(Appodeal.MREC)
Appodeal.isLoaded(Appodeal.MREC);
Мы рекомендуем всегда проверять загружен ли MREC баннер, прежде чем пытаться его показать.
- Kotlin
- Java
if (Appodeal.isLoaded(Appodeal.MREC)) {
Appodeal.show(this, Appodeal.MREC)
}
if (Appodeal.isLoaded(Appodeal.MREC)) {
Appodeal.show(this, Appodeal.MREC);
}
Показ рекламы с плейсментом
Appodeal SDK позволяет помечать каждый показ указанным плейсментом. Для использования плейсментов вам необходимо сначала их создать в Appodeal Dashboard. Подробнее о местах размещения.
- Kotlin
- Java
Appodeal.show(this, Appodeal.MREC, "yourPlacementName")
Appodeal.show(this, Appodeal.MREC, "yourPlacementName");
Если загруженное объявление не может быть показано для определенного плейсмента, ничего не будет показано. Если автоматическое кеширование включено, SDK начнет кэшировать другое объявление, что может повлиять на display rate. Чтобы сохранить загруженное объявление для использования в будущем (например, для другого места размещения), перед вызовом метода show проверьте, можно ли показывать объявление:
- Kotlin
- Java
if (Appodeal.canShow(Appodeal.MREC, "yourPlacementName")) {
Appodeal.show(this, Appodeal.MREC, "yourPlacementName")
}
if (Appodeal.canShow(Appodeal.MREC, "yourPlacementName")) {
Appodeal.show(this, Appodeal.MREC, "yourPlacementName");
}
Вы можете настроить логику показа для каждого плейсмента.
Если у вас нет плейсментов, или вы вызовете Appodeal.show
метод с плейсментом, которого не
существует, показ будет помечен с использованием плейсмента default
и будут
применены его настройки.
Плейсменты влияют ТОЛЬКО на представление рекламы, но не на загрузку или кеширование.
Методы обратного вызова
- Kotlin
- Java
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
}
})
Appodeal.setMrecCallbacks(new MrecCallbacks() {
@Override
public void onMrecLoaded(boolean isPrecache) {
// Called when MREC is loaded
}
@Override
public void onMrecFailedToLoad() {
// Called when MREC failed to load
}
@Override
public void onMrecShown() {
// Called when MREC is shown
}
@Override
public void onMrecShowFailed() {
// Called when MREC show failed
}
@Override
public void onMrecClicked() {
// Called when MREC is clicked
}
@Override
public void onMrecExpired() {
// Called when MREC is expired
}
});
Вcе callback методы вызываются в главном потоке
Ручное кеширование рекламы
По умолчанию автоматическое кэширование включено: Appodeal SDK начинает загружать MREC сразу после вызова метода инициализации.
Следующий MREC начинает загружаться сразу после вызова метода show.
Чтобы отключить автоматическое кеширование для MREC, вызовите следующий код до инициализации SDK:
- Kotlin
- Java
Appodeal.setAutoCache(Appodeal.MREC, false)
Appodeal.setAutoCache(Appodeal.MREC, false);
Для кэширования MREC используйте:
- Kotlin
- Java
Appodeal.cache(this, Appodeal.MREC)
Appodeal.cache(this, Appodeal.MREC);
Более подробную информацию о ручном кешировании рекламы вы можете найти в нашем FAQ.
Проверка инициализации
Чтобы проверить, инициализирован ли MREC, вы можете использовать метод:
- Kotlin
- Java
Appodeal.isInitialized(Appodeal.MREC)
Appodeal.isInitialized(Appodeal.MREC);
Возвращает true
, если MREC был проинициализирован.
Проверка типа кеширования
Чтобы проверить, включено ли автоматическое кеширование для MREC, вы можете использовать метод:
- Kotlin
- Java
Appodeal.isAutoCacheEnabled(Appodeal.MREC)
Appodeal.isAutoCacheEnabled(Appodeal.MREC);
Возвращает true
, если автоматическое кеширование включено для MREC.
Получение прогнозируемого eCPM
Для того, чтобы получить прогнозируемый eCPM для MREC для следующего блока в очереди на опрос, вы можете использовать метод:
- Kotlin
- Java
Appodeal.getPredictedEcpm(Appodeal.MREC)
Appodeal.getPredictedEcpm(Appodeal.MREC);
Обработка состояния "onPaused" в Activity
Мы будем автоматически обрабатывать состояние паузы и возобновления для уже отображаемых MREC в activity, в котором они были отображены, однако мы не восстанавливаем отображаемые MREC после восстановления activity (например: изменения ориентации), и мы не показываем MREC во вновь созданных activity.
Для показа рекламы во вновь созданной Activity просто вызовите метод Appodeal.show()
, если необходимо:
- Kotlin
- Java
override fun onResume() {
super.onResume()
Appodeal.show(this, Appodeal.MREC)
}
@Override
public void onResume() {
super.onResume();
Appodeal.show(this, Appodeal.MREC);
}
Это поведение можно изменить, вызвав
Appodeal.setSharedAdsInstanceAcrossActivities(true)
(Узнать больше: Логика одного экземпляра MrecView для всех activity)
Скрытие рекламы
- Kotlin
- Java
Appodeal.hide(this, Appodeal.MREC)
Appodeal.hide(this, Appodeal.MREC);
Удаление рекламы
Если вы хотите скрыть MREC во всех activity и очистить память, вызовите код ниже:
- Kotlin
- Java
Appodeal.destroy(Appodeal.MREC)
Appodeal.destroy(Appodeal.MREC);
Логика одного экземпляра MrecView для всех activity
Appodeal SDK связывает Banner/MREC
с activity, которое было передано в метод Appodeal.show
.
Чтобы вам было проще управлять логикой отображения View объявлений во всех activities, мы добавили новый метод в Appodeal класс:
- Kotlin
- Java
Appodeal.setSharedAdsInstanceAcrossActivities(sharedAdsInstanceAcrossActivities: Boolean)
Appodeal.setSharedAdsInstanceAcrossActivities(boolean sharedAdsInstanceAcrossActivities);
- Когда этот метод используется с параметром
true
, SDK будет показыватьMREC
во всех новых activities без вызова дополнительного кода с вашей стороны. - Если вы хотите контролировать отображение MREC самостоятельно, вы можете передавать параметр
false
.предупреждениеВ случае передачи параметра
false
, будьте осторожны с изменением ориентации или переходом к новой activity,Banner/MREC
не будет отображаться автоматически, так как он был привязан к предыдущей activity. Если вы хотите скрытьBanner/MREC
, вам нужно вызвать методAppodeal.hide()
с параметром activity, к которому был привязанBanner/MREC
.
Вы так же можете проверить текущее состояние этой логики:
- Kotlin
- Java
Appodeal.isSharedAdsInstanceAcrossActivities()
Appodeal.isSharedAdsInstanceAcrossActivities();
Shared View Ads Instance Across Activities отключена по умолчанию
Отслеживание показа
Вы всегда можете проверить в логах, был ли отслежен показ и видна ли ваша реклама.
В случае успешного отслеживания показов вы увидите лог Mrec [Notify Shown].
- Log
Appodeal com.example.app D Mrec [Notify Shown]