Реализация Rewarded Ads для мобильной игры

Игрок только что проиграл — и в этот момент правильная rewarded ads может превратить фрустрацию в доход, не разрушая лояльность. Мы реализуем вознаграждаемую рекламу под ключ для мобильных игр на Unity и AdMob, с интеграцией IronSource и SSV-верификацией. Наша команда берёт на себя весь цикл — от выбора точек показа до настройки и последующей поддержки, чтобы решение стабильно работало и масштабировалось вместе с вашим проектом.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Реализация Rewarded Ads для мобильной игры
Простой
~2-3 дня
Часто задаваемые вопросы

Игрок только что проиграл на 10-м уровне — потратил 15 минут, злость и желание бросить. Правильно размещённая Rewarded Ads превращает эту фрустрацию в доход без потери лояльности. Но неверная интеграция рушит баланс экономики и уменьшает retention. Мы занимаемся rewarded-интеграцией 5+ лет, реализовали 30+ проектов для iOS и Android — от гиперказуальных до RPG. Один из кейсов: после настройки continue-after-fail retention вырос на 12%, а eCPM увеличился на 25%. Средний рост eCPM после нашей настройки — 25-40% (например, с $6 до $9 для одного из проектов). Разберём технические нюансы и подводные камни.

Как выбрать placement для Rewarded Ads?

Placement — это точка в игровом цикле, где у игрока возникает потребность, которую он готов «оплатить» просмотром рекламы. Самые эффективные:

  • Continue after fail — конверсия 30–50% при условии, что игрок не видел рекламу на этом экране ранее. Показываем после onGameOver, до экрана результатов. Лимит: 1–2 раза за попытку.
  • Daily bonus multiplier — «смотри рекламу — получи x3 к ежедневной награде». Не нарушает баланс, конверсия стабильно высокая.
  • Extra currency / chest unlock — конкретное предложение: «+50 gems» вместо «бонус». Работает в главном меню или после уровня.
Placement Конверсия Влияние на Retention Рекомендуемый лимит
Continue after fail 30–50% Нейтральное (при лимите) 1–2 за попытку
Daily bonus multiplier 20–35% Положительное 1 раз в день
Extra currency 15–25% Нейтральное 3–5 раз в день

Как технически интегрировать rewarded на Unity?

Используем SDK AdMob (Google Mobile Ads) или IronSource (LevelPlay). Для AdMob инициализация:

private RewardedAd rewardedAd;
public void LoadRewardedAd()
{
    var adUnitId = Application.platform == RuntimePlatform.Android ? "ca-app-pub-xxx/yyy" : "ca-app-pub-xxx/zzz";
    RewardedAd.Load(adUnitId, new AdRequest(), (ad, error) =>
    {
        if (error != null)
        {
            Debug.LogWarning($"Rewarded load failed: {error}");
            return;
        }
        rewardedAd = ad;
        RegisterRewardedAdEvents(rewardedAd);
    });
}
private void RegisterRewardedAdEvents(RewardedAd ad)
{
    ad.OnAdFullScreenContentClosed += () =>
    {
        LoadRewardedAd();
    };
}
public void ShowRewardedAd(System.Action<int> onRewarded)
{
    if (rewardedAd == null || !rewardedAd.CanShowAd())
    {
        Debug.Log("Rewarded not ready");
        return;
    }
    rewardedAd.Show(reward =>
    {
        onRewarded?.Invoke(reward.Amount);
    });
}

IronSource (LevelPlay) требует вызова IronSource.Agent.loadRewardedVideo() заранее, а кнопку показывать только при IronSource.Agent.isRewardedVideoAvailable() == true.

void Start() {
    IronSource.Agent.loadRewardedVideo();
}

public void OnShowRewardedClicked() {
    if (IronSource.Agent.isRewardedVideoAvailable()) {
        IronSource.Agent.showRewardedVideo();
    }
}

private void OnRewardedVideoAdRewarded(IronSourcePlacement placement) {
    int rewardAmount = placement.getRewardAmount();
    // начислить награду
}
SDK SSV-поддержка Простота интеграции eCPM (среднее)
AdMob + (ECDSA) Средняя $8-12
Unity Ads + Простая $6-10
IronSource + (LevelPlay) Сложная (требуется настройка waterfall) $10-15

Почему серверная верификация (SSV) обязательна?

Если rewarded даёт твёрдую валюту (gems, crystals) — без SSV награды накручиваются инструментами типа Frida за несколько минут. AdMob SSV обрабатывает callback быстрее IronSource, что снижает задержку начисления на 200 мс. Схема:

  1. Клиент передаёт userId и уникальный nonce в customData при запросе рекламы.
  2. AdMob/IronSource включают их в SSV-callback на ваш backend с ECDSA-подписью.
  3. Сервер проверяет подпись, уникальность nonce (чтобы один callback не прошёл дважды) и начисляет валюту.

Реализация клиента — 0.5 дня, серверная часть — 1 день с тестированием.

Пример обработки SSV-коллбэка на Python
from flask import Flask, request
from ecdsa import VerifyingKey
import json

app = Flask(__name__)

@app.route('/ssv_callback', methods=['POST'])
def ssv_callback():
    data = request.json
    signature = data['signature']
    payload = data['payload']
    vk = VerifyingKey.from_pem(open('public_key.pem').read())
    if vk.verify(signature, payload.encode()):
        # Проверить nonce в Redis
        return 'OK', 200
    return 'Invalid signature', 400

Какие лимиты показов ставить?

Лимиты должны быть на сервере, а не только на клиенте (PlayerPrefs сбрасываются). В проекте с MMO-игрой мы настроили лимиты через Redis, чтобы гарантировать уникальность nonce даже при высоком RPS. Типичные: 5–10 rewarded/день для валюты, 1–2/день для continue. Жёсткий лимит убивает доход, мягкий — разрушает экономику. Рекомендуем начинать с 8 rewarded/день и A/B-тестировать шаг в ±2. A/B-тестирование позволяет найти баланс между доходом и экономикой без риска.

Как мы интегрируем rewarded ads: пошаговый процесс

  1. Аудит текущей интеграции (если есть) и рекомендации по увеличению eCPM.
  2. Подбор placement под вашу игровую экономику.
  3. Реализация на Unity (AdMob, IronSource) или нативных SDK (iOS/Android).
  4. Настройка SSV-бэкенда (любой стек: Node.js, Python, Go).
  5. A/B-тестирование placement и лимитов.
  6. Документация и 1 месяц поддержки.

Что вы получаете в результате

После завершения работы вы получаете:

  • Рабочие rewarded placements с оптимизированным временем показа.
  • Серверную верификацию SSV с защитой от накруток.
  • Документацию по ключевым скриптам и конфигам.
  • Доступ к бэкенд-коду для самостоятельной доработки.
  • 1 месяц технической поддержки и консультаций.

Сроки ориентировочно

Базовая интеграция с 2–3 placement и лимитами — от 2 дней. С SSV и серверной логикой наград — от 3 дней. Стоимость рассчитывается индивидуально.

Закажите аудит вашей текущей интеграции — оценим проект. Свяжитесь с нами для консультации.

Наши компетенции:

Последние работы

  • Разработка мобильного приложения для компании FEEDME
    Разработка мобильного приложения для компании FEEDME
    1010
  • Разработка мобильного приложения для компании XOOMER
    Разработка мобильного приложения для компании XOOMER
    903
  • Разработка мобильного приложения для компании RHL
    Разработка мобильного приложения для компании RHL
    1332
  • Разработка мобильного приложения для компании ZIPPY
    Разработка мобильного приложения для компании ZIPPY
    1180
  • Разработка мобильного приложения для компании Affhome
    Разработка мобильного приложения для компании Affhome
    1107
  • Разработка мобильного приложения для компании FLAVORS
    Разработка мобильного приложения для компании FLAVORS
    714