Перейти к основному содержимому
осторожно
Android SDK 3.0.2 устарела. Stable версия - здесь.
Версия: 3.0.2

Реклама с наградой за просмотр

Реклама с наградой за просмотр — это инициированная пользователями реклама, в которой пользователи могут получать вознаграждение в приложении в обмен на просмотр видео.

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

Demo App

Показ рекламы

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

Appodeal.show(this, Appodeal.REWARDED_VIDEO)
SDK не может отображать рекламу без подключения к сети!

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

Проверка загруженной рекламы

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

Appodeal.isLoaded(Appodeal.REWARDED_VIDEO)

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

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

Показ рекламы с плейсментом

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

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

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

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

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

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

Важно!

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

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

Appodeal.setRewardedVideoCallbacks(object : RewardedVideoCallbacks {
override fun onRewardedVideoLoaded(isPrecache: Boolean) {
// Called when rewarded video is loaded
}
override fun onRewardedVideoFailedToLoad() {
// Called when rewarded video failed to load
}
override fun onRewardedVideoShown() {
// Called when rewarded video is shown
}
override fun onRewardedVideoShowFailed() {
// Called when rewarded video show failed
}
override fun onRewardedVideoClicked() {
// Called when rewarded video is clicked
}
override fun onRewardedVideoFinished(amount: Double, currency: String?) {
// Called when rewarded video is viewed until the end
}
override fun onRewardedVideoClosed(finished: Boolean) {
// Called when rewarded video is closed
}
override fun onRewardedVideoExpired() {
// Called when rewarded video is expired
}
})
к сведению

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

Ручное кеширование рекламы

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

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

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

Appodeal.setAutoCache(Appodeal.REWARDED_VIDEO, false)

Для кеширования рекламы с наградой за просмотр используйте метод:

Appodeal.cache(this, Appodeal.REWARDED_VIDEO)

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

Обратные вызовы на сервер (Server-to-Server Callbacks)

Для обеспечения безопасности экономики вашего приложения мы предлагаем обратные вызовы для S2S вознаграждений. Для проверки каждого вознаграждения вам необходимо настроить URL обратного вызова на вашем сервере, который будет получать информацию о вознаграждении. Мы передадим данные о пользователе на ваш URL обратного вызова, после чего вам нужно будет проверить и скорректировать баланс пользователя соответственно.

  1. Создайте URL обратного вызова для вознаграждений на вашем сервере, который будет получать информацию о вознаграждении.

  2. Заполните созданный URL и ключ шифрования в настройках приложения на вашей панели управления.

  3. Обратный вызов вознаграждения будет отправлен на ваш URL с использованием GET-запроса с двумя параметрами:

{http:/example.com/reward}?data1={data1}&data2={data2}
  1. Ваш URL должен расшифровать данные и проверить их подлинность.

  2. Проверьте уникальность impression_id и сохраните его в вашей системе, чтобы избежать дублирования транзакций.

Для установки идентификатора пользователя используйте метод Appodeal.setUserID("User#123") перед инициализацией SDK.

Мы предоставляем образцы скриптов на Go, PHP, Ruby, Java, Node.js, Python 3 и C#, которые помогут вам расшифровать данные. Если вам нужны образцы на других языках, пожалуйста, свяжитесь с нашей службой поддержки, и мы предоставим их вам.

Получение данных о вознаграждении для плейсментa

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

val reward: Reward = Appodeal.getReward("yourPlacementName")
val amount: Double = reward.amount
val currency: String? = reward.currency

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

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

Appodeal.isInitialized(Appodeal.REWARDED_VIDEO)

Возвращает true, если рекламы с наградой за просмотр была проинициализирована.

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

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

Appodeal.isAutoCacheEnabled(Appodeal.REWARDED_VIDEO)

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

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

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

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

Отключение звука в рекламе в бесшумном режиме

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

Appodeal.muteVideosIfCallsMuted(true)
примечание

Этот метод работает, если на устройство пользователя активирован бесшумный режим или включена только вибрация.

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

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

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

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