Реклама с наградой за просмотр
Реклама с наградой за просмотр — это инициированная пользователями реклама, в которой пользователи могут получать вознаграждение в приложении в обмен на просмотр видео.
Вы можете использовать наше демо приложение в качестве примера по интеграции.
Демо приложение
Проверка Загрузки
Вы можете проверить статус загрузки перед показом. Этот метод возвращает boolean значение, указывающее, загружена ли реклама с наградой за просмотр.
- Kotlin
- Java
Appodeal.isLoaded(Appodeal.REWARDED_VIDEO)
Appodeal.isLoaded(Appodeal.REWARDED_VIDEO);
Мы рекомендуем всегда проверять загружена ли реклама с наградой за просмотр, прежде чем пытаться его показать.
- Kotlin
- Java
if (Appodeal.isLoaded(Appodeal.REWARDED_VIDEO)) {
Appodeal.show(this, Appodeal.REWARDED_VIDEO)
}
if (Appodeal.isLoaded(Appodeal.REWARDED_VIDEO)) {
Appodeal.show(this, Appodeal.REWARDED_VIDEO);
}
Отображение
Чтобы показать рекламу с наградой за просмотр, вам нужна вызвать следующий код в activity:
- Kotlin
- Java
Appodeal.show(this, Appodeal.REWARDED_VIDEO)
Appodeal.show(this, Appodeal.REWARDED_VIDEO);
Метод возвращает boolean значение, указывающее, был ли передан вызов метода show соответствующему SDK.
Ручное Кэширование
По умолчанию автоматическое кэширование включено: Appodeal SDK начинает загружать рекламу с наградой за просмотр сразу после вызова метода инициализации.
Следующая реклама с наградой за просмотр начинает загружаться сразу после вызова метода show.
Чтобы отключить автоматическое кеширование для рекламы с наградой за просмотр, вызовите следующий код до инициализации SDK:
- Kotlin
- Java
Appodeal.setAutoCache(Appodeal.REWARDED_VIDEO, false)
Appodeal.setAutoCache(Appodeal.REWARDED_VIDEO, false);
Для кеширования рекламы с наградой за просмотр используйте метод:
- Kotlin
- Java
Appodeal.cache(this, Appodeal.REWARDED_VIDEO)
Appodeal.cache(this, Appodeal.REWARDED_VIDEO);
Более подробную информацию о ручном кешировании рекламы вы можете найти в нашем FAQ.
Методы Обратного Вызова
- Kotlin
- Java
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
}
})
Appodeal.setRewardedVideoCallbacks(new RewardedVideoCallbacks() {
@Override
public void onRewardedVideoLoaded(boolean isPrecache) {
// Called when rewarded video is loaded
}
@Override
public void onRewardedVideoFailedToLoad() {
// Called when rewarded video failed to load
}
@Override
public void onRewardedVideoShown() {
// Called when rewarded video is shown
}
@Override
public void onRewardedVideoShowFailed() {
// Called when rewarded video show failed
}
@Override
public void onRewardedVideoClicked() {
// Called when rewarded video is clicked
}
@Override
public void onRewardedVideoFinished(double amount, String name) {
// Called when rewarded video is viewed until the end
}
@Override
public void onRewardedVideoClosed(boolean finished) {
// Called when rewarded video is closed
}
@Override
public void onRewardedVideoExpired() {
// Called when rewarded video is expired
}
});
Вcе callback методы вызываются в главном потоке
Плейсменты
Appodeal SDK позволяет помечать каждый показ указанным плейсментом. Для использования плейсментов вам необходимо сначала их создать в Appodeal Dashboard. Подробнее о плейсментах.
- Kotlin
- Java
Appodeal.show(this, Appodeal.REWARDED_VIDEO, "yourPlacementName")
Appodeal.show(this, Appodeal.REWARDED_VIDEO, "yourPlacementName");
Если загруженное объявление не может быть показано для определенного плейсмента, ничего не будет показано. Если автоматическое кеширование включено, SDK начнет кэшировать другое объявление, что может повлиять на display rate. Чтобы сохранить загруженное объявление для использования в будущем (например, для другого плейсмента), перед вызовом метода show прове рьте, можно ли показывать объявление:
- Kotlin
- Java
if (Appodeal.canShow(Appodeal.REWARDED_VIDEO, "yourPlacementName")) {
Appodeal.show(this, Appodeal.REWARDED_VIDEO, "yourPlacementName")
}
if (Appodeal.canShow(Appodeal.REWARDED_VIDEO, "yourPlacementName")) {
Appodeal.show(this, Appodeal.REWARDED_VIDEO, "yourPlacementName");
}
Вы можете настроить логику показа для каждого плейсмента.
Если у вас нет плейсментов, или вы вызовете Appodeal.show
метод с плейсментом, которого не
существует, показ будет помечен с использованием плейсмента default
, и будут
применены его настройки.
Настройки плейсментов влияют ТОЛЬКО на представление рекламы, но не на загрузку или кеширование.
Методы Обратного Вызова Server-to-Server
Для обеспечения безопасности экономики вашего приложения мы предлагаем обратные вызовы для S2S вознаграждений. Для проверки каждого вознаграждения вам необходимо настроить URL обратного вызова на вашем сервере, который будет получать информацию о вознаграждении. Мы передадим данные о пользователе на ваш URL обратного вызова, после чего вам нужно будет проверить и скорректировать баланс пользователя соответственно.
-
Создайте URL обратного вызова для вознаграждений на вашем сервере, который будет получать информацию о вознаграждении.
-
Заполните созданный URL и ключ шифрования в настройк ах приложения на вашей панели управления.
-
Обратный вызов вознаграждения будет отправлен на ваш URL с использованием GET-запроса с двумя параметрами:
{http:/example.com/reward}?data1={data1}&data2={data2}
-
Ваш URL должен расшифровать данные и проверить их подлинность.
-
Проверьте уникальность
impression_id
и сохраните его в вашей системе, чтобы избежать дублирования транзакций.
Для установки идентификатора пользователя используйте метод Appodeal.setUserID("User#123")
перед инициализацией SDK.
Мы предоставляем образцы скриптов на Go, PHP, Ruby, Java, Node.js, Python 3 и C#, которые помогут вам расшифровать данные. Если вам нужны образцы на других языках, пожалуйста, свяжитесь с нашей службой поддержки, и мы предоставим их вам.
-
Пример на PHP: reward.php.
-
Пример на Ruby: reward.rb.
-
Пример на Java: reward.java.
-
Пример на Node.js: reward.js .
-
Пример на Python 3: reward.py.
-
Пример на C#: reward.cs.
-
Пример на Go: reward.go.