# Работа с рекламой

## Идентификаторы из личного кабинета

### Идентификатор паблишера (publisher\_id)

Для инициализации SDK вам потребуется идентификатор паблишера (`publisher_id`)&#x20;

Ваш `publisher_id` находится в разделе "Настройки" в личном кабинете Yabbi.

<figure><img src="/files/zpjujJTekWlhxHP8EPch" alt=""><figcaption></figcaption></figure>

### Идентификатор рекламного блока (placement\_name)

При использовании методов SDK вам потребуется идентификатор рекламного блока (`placement_name`) рекламного блока.

`placement_name` - это ID рекламного блока. Рекламные блоки создаются в личном кабинете Yabbi.

<figure><img src="/files/S42GjpTHCMCHLYjpTPs1" alt=""><figcaption></figcaption></figure>

## Тестовые идентификаторы

В процессе интеграции SDK для стабильного получения тестовой рекламы рекомендуем использовать специальные `publisher_id` и `placement_name`.

`Publisher ID` - `65057899-a16a-4877-989b-38c432a7fa15`

#### Формат Interstitial

`Yabbi Interstitial ID` - `b8359c60-9bde-47c9-85ff-3c7afd2bd982`

`Yandex Interstitial ID` - `cd1dff91-76d0-44c2-a6ca-fd3f446ef9b5`

`IronSource Interstitial ID` - `ec9decde-58c8-4d1b-885f-479b05f39dcb`

#### Формат Rewarded Video

`Yabbi Rewarded ID` - `eaac7a7f-b0b0-46d2-ac95-bd58578e9e29`

`Yandex Rewarded ID` - `7e6334fc-ef08-45e9-9581-d18026a2fadb`

`IronSource Rewarded ID` - `9b45ac1a-ca72-4d57-9f0f-7bab924ad1b4`

#### Формат Banner&#x20;

`Yabbi Banner ID` - `27668678-d138-4af4-84f4-891252086125`

## Форматы рекламы

Рекламная сеть Yabbi поддерживает 3 формата рекламы.

### Полноэкранный баннер (Interstitial)

Реклама показывается на весь экран, содержит баннер, интерактивный баннер или видео. По тапу происходит переход по ссылке, указанной рекламодателем.

Пользователь может закрыть баннер через 3 секунды.

Такой формат обычно используется при запуске приложения, либо при переходах между экранами приложения.

Вот пример вызова действия для показа рекламы такого формата.

<figure><img src="/files/1bpXh2zMIQpmp6MqKGfa" alt=""><figcaption></figcaption></figure>

### Видео с вознаграждением (rewarded video)

Реклама показывается на весь экран, содержит видео или интерактивный баннер. По тапу происходит переход по ссылке, указанной рекламодателем.

Пользователь может прекратить просмотр рекламы, однако в этом случае он увидит диалоговое окно, предупреждающее об отсутствии награды при закрытии видео до его завершения.

<figure><img src="/files/OP6GOSnjKBKWolcbUXwN" alt=""><figcaption></figcaption></figure>

Для того, чтобы узнать, выдавать пользователю награду, или нет, используйте событие `OnUserRewarded`.

Подробнее работа с событиями описана [ниже](#otslezhivanie-reklamnykh-sobytii).

### Баннер 320x50 (banner)

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

Вот пример вызова действия для показа рекламы такого формата.

<figure><img src="/files/NToMNPG7SnqHsVcPtePY" alt=""><figcaption></figcaption></figure>

### Пользовательская настройка баннера 320x50

#### **Автообновление рекламы в баннере**

Для увеличения вашей прибыли мы разработали функцию автоматической смены контента в баннере.

Для настройки укажите интервал в секундах (минимум 10 секунд).

#### **Место для показа баннера**

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

#### **Показ кнопки закрытия**

По умолчанию кнопка закрытия баннера не показывается, но вы можете влючить её.

<figure><img src="/files/KnOMjCRphnIpmPPHvd8U" alt=""><figcaption></figcaption></figure>

## Действия SDK

Работа с рекламой сводится к работе с действиями Yabbi SDK.

<figure><img src="/files/J5y79zCliVm7iFW2ZEHe" alt=""><figcaption></figcaption></figure>

1. `Initialize` (обязательный). Инициализирует SDK. Достаточно один раз вызвать это действие при старте макета или перед первой загрузкой рекламы.
2. `LoadInterstitialAd / LoadRewardedAd / LoadBannerAd` (обязательный). Загружает рекламу с сервера. Обычно этот метод вызывается заранее, чтобы к моменту показа контент был загружен. В таком случае время ожидания пользователем показа рекламы будет минимальным.
3. `ShowInterstitialAd / ShowRewardedAd / ShowBannerAd` (обязательный). Вызывает показ рекламы при помощи плеера, встроенного в SDK.
4. `DestroyInterstitialAd / DestroyRewardedAd / DestroyBannerAd` (необязательный). Уничтожает рекламный контейнер. Вы можете работать с несколькими рекламными блоками одновременно, однако мы настоятельно рекомендуем уничтожать ненужные во избежание проблем с памятью и других неприятностей.
5. `SetBannerCustomSettings` (необязательный). Предназначен для установки пользовательских настроек для баннера 320x50.
6. `SetUserConsent` (необязательный). Предназначен для передачи статуса согласия пользователя на сбор, обработку и использование персональных данных. По умолчанию - `false`, т.е. пользователь не дал согласия на использование его данных в рекламных и иных целях.\
   \
   Рекомендуем вам использовать это действие для повышения качества рекламной монетизации.

## Использование нескольких рекламных блоков

Вы можете работать с несколькими рекламными блоками асинхронно, то есть вызывать действия с разными `placement_name` и форматами независимо друг от друга с помощью действий `LoadInterstitialAd / LoadRewardedAd / LoadBannerAd` асинхронно, то есть загружать несколько рекламных блоков одновременно.

## Отслеживание рекламных событий

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

Для отслеживания событий необходимо предоставить класс для работы.

Учтите, что рекламные события отрабатывают на любой рекламный блок.

Т.е. если вы вызываете загрузку 2 рекламных блоков одновременно, событие загрузки отработает 2 раза, для каждого блока.

Вот примеры установки существующих рекламных событий.

{% tabs %}
{% tab title="Interstitial" %}

<figure><img src="/files/m85AvyQlomEowJ8s2YLj" alt=""><figcaption></figcaption></figure>

* `IsInterstitialAdReady` - проверяет статус загрузки рекламного блока. \
  \
  Условие возвращает `true` либо `false`. При отрицательном ответе попытка показать рекламу ни к чему не приведёт.

  Несмотря на то, что использование этого метода необязательно, мы настоятельно рекомендуем проверять статус загрузки рекламы, прежде чем пытаться её показать.
* `OnInterstitialLoaded` - вызывается когда реклама загружена и готова к показу.
* `OnInterstitialLoadFailed` - вызывается если в загрузке рекламы произошла ошибка.
* `OnInterstitialShown` - вызывается когда начался показ рекламы.
* `OnInterstitialShowFailed` - вызывается если в загрузке рекламы произошла ошибка.
* `OnInterstitialClosed` - вызывается когда реклама была закрыта пользователем.
  {% endtab %}

{% tab title="Rewarded Video" %}

<figure><img src="/files/l2WQn3h0BQwDzmiWoZx7" alt=""><figcaption></figcaption></figure>

* `IsRewardedAdReady` - проверяет статус загрузки рекламного блока. \
  \
  Условие возвращает `true` либо `false`. При отрицательном ответе попытка показать рекламу ни к чему не приведёт.\
  \
  Несмотря на то, что использование этого метода необязательно, мы настоятельно рекомендуем проверять статус загрузки рекламы, прежде чем пытаться её показать.
* `OnRewardedLoaded` - вызывается когда реклама загружена и готова к показу.
* `OnRewardedLoadFailed` - вызывается если в загрузке рекламы произошла ошибка.
* `OnRewardedShown` - вызывается когда начался показ рекламы.
* `OnRewardedShowFailed` - вызывается если в загрузке рекламы произошла ошибка.
* `OnRewardedVideoStarted` - вызывается когда рекламное видео начало воспроизводиться
* `OnRewardedVideoCompleted` - вызывается когда рекламное видео закончилось.
* `OnUserRewarded` - тут вы можете выдать пользователю награду.
* `OnRewardedClosed` - вызывается когда реклама была закрыта пользователем.
  {% endtab %}

{% tab title="Banner" %}

<figure><img src="/files/D75sTa1GBQ4AQEyCohdc" alt=""><figcaption></figcaption></figure>

* `IsBannerAdReady` - проверяет статус загрузки рекламного блока. \
  \
  Условие возвращает `true` либо `false`. При отрицательном ответе попытка показать рекламу ни к чему не приведёт.

  Несмотря на то, что использование этого метода необязательно, мы настоятельно рекомендуем проверять статус загрузки рекламы, прежде чем пытаться её показать.
* `OnBannerLoaded` - вызывается когда реклама загружена и готова к показу.
* `OnBannerLoadFailed` - вызывается если в загрузке рекламы произошла ошибка.
* `OnBannerShown` - вызывается когда начался показ рекламы.
* `OnBannerShowFailed` - вызывается если в загрузке рекламы произошла ошибка.
* `OnBannerClosed` - вызывается когда реклама была закрыта пользователем.
  {% endtab %}
  {% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://yabbi.gitbook.io/yabbi-documentation/construct3-addon/rabota-s-reklamoi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
