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

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

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

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

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

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

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

Appodeal.isLoaded(Appodeal.REWARDED_VIDEO)

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

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

Отображение

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

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

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

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

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

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

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

Appodeal.setAutoCache(Appodeal.REWARDED_VIDEO, false)

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

Appodeal.cache(this, Appodeal.REWARDED_VIDEO)

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

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

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 позволяет помечать каждый показ указанным плейсментом. Для использования плейсментов вам необходимо сначала их создать в 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, и будут применены его настройки.

Важно!

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

Методы Обратного Вызова Server-to-Server

Для обеспечения безопасности экономики вашего приложения мы предлагаем обратные вызовы для 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#, которые помогут вам расшифровать данные. Если вам нужны образцы на других языках, пожалуйста, свяжитесь с нашей службой поддержки, и мы предоставим их вам.

Получение Награды Для Плейсмента

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

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

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

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

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

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

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

Appodeal.isInitialized(Appodeal.REWARDED_VIDEO)

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

Проверка Типа Кэширования

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

Appodeal.isAutoCacheEnabled(Appodeal.REWARDED_VIDEO)

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

Отключение Звука В Рекламе В Бесшумном Режиме

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

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

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

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

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

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

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