Подключение рекламы с вознаграждением

Внимание.

Это архивная версия документации. Актуальная документация по всем платформам находится здесь.

Реклама с вознаграждением (Rewarded Ad) — настраиваемое объявление, отображаемое на весь экран. За просмотр такой рекламы пользователь получает вознаграждение.

Чтобы подключить рекламу:

Создание RewardedAd

  1. Добавьте объект класса RewardedAd.

    mRewardedAd = new RewardedAd(this);
  2. Установите AdUnitId, используя метод setAdUnitId.

    mRewardedAd.setAdUnitId(AdUnitId);

    AdUnitId — уникальный идентификатор рекламного места, который выдается в Партнерском интерфейсе и имеет вид: R-M-XXXXXX-Y.

  3. Если вы используете механизм награждения на стороне приложения («client-side reward»), реализуйте метод интерфейса onRewarded. Он вызывается, когда показ засчитан и пользователь может быть награжден за просмотр рекламы. Используйте этот момент, чтобы выдать награду пользователю приложения.

После создания и настройки объекта класса RewardedAd, для отслеживания событий (открытие или закрытие рекламы, выход из приложения, успешная и не успешная загрузка рекламы), на объект рекламы необходимо установить слушатель RewardedAdEventListener интерфейса.

Загрузка рекламы

Примечание.

Все вызовы Mobile Ads SDK следует выполнять с главного потока.

После создания и настройки объекта класса RewardedAd, рекламу необходимо загрузить. Для загрузки рекламы, используйте метод loadAd, принимающий в качестве параметра объект AdRequest (Builder, опционально принимающий данные для таргетирования рекламы).

Отображение рекламы

Загрузка рекламы с вознаграждением происходит в фоновом потоке сразу после вызова метода loadAd. Чтобы показать рекламу с вознаграждением необходимо вызвать метод show.

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

Примечание.

Такая проверка не требуется, если метод show вызывается после срабатывания callback об окончании загрузки onAdLoaded.

Пример работы с рекламой с вознаграждением

Следующий код демонстрирует создание и настройку объекта RewardedAd, регистрацию слушателя, а также загрузку и отображение рекламы с вознаграждением:

...
public class RewardedAdExample extends Activity {
    ...
    private static final String AdUnitId = "YOUR_AdUnitId";
    private RewardedAd mRewardedAd;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        ...
        // Создание экземпляра RewardedAd.
        mRewardedAd = new RewardedAd(this);
        mRewardedAd.setAdUnitId(AdUnitId);
                
        // Создание объекта таргетирования рекламы.
        final AdRequest adRequest = new AdRequest.Builder().build();
                
        // Регистрация слушателя для отслеживания событий, происходящих в рекламе.
        mRewardedAd.setRewardedAdEventListener(new RewardedAdEventListener() {
            @Override
            public void onLoaded() {
                mRewardedAd.show();
            }
            
            @Override
            public void onRewarded(final Reward reward) {
                ...
            }
            
            @Override
            public void onAdFailedToLoad(final AdRequestError adRequestError) {
                ...
            }
            
            @Override
            public void onAdShown() {
                ...
            }
            
            @Override
            public void onAdDismissed() {
                ...
            }
            
            @Override
            public void onLeftApplication() {
                ...
            }
            
            @Override
            public void onReturnedToApplication() {
                ...
            }
        });
                
        // Загрузка объявления.
        mRewardedAd.loadAd(adRequest);
    }
}

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

Чтобы посмотреть, как реклама будет отображаться в приложении, используйте демонстрационный AdUnitId:
  • demo-rewarded-yandex