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

S2S-биддинг

Серверный биддинг (server-to-server, S2S) позволяет серверу вашего приложения проводить аукцион с BidMachine вместо его проведения на клиенте. Клиентский SDK предоставляет bid-токен, ваш сервер использует его для запроса ставок, а выигрышный bid payload передаётся обратно клиенту для загрузки рекламы.

Поток

  1. Получите bid-токен — клиентский SDK генерирует непрозрачный токен, кодирующий сигналы устройства/сессии.
  2. Проведите серверный аукцион — сервер вашего приложения отправляет токен на эндпоинт аукциона BidMachine и получает payload с ответом ставки.
  3. Загрузите рекламу — клиент передаёт bid payload в Load(bidPayload) вместо вызова Load().

Шаг 1 — Получение bid-токена

Клиентский API токена в разработке

Публичный генератор bid-токенов находится в разработке и будет добавлен в одном из будущих релизов. Тем временем получайте bid-токен вне приложения (например, через вашу серверную интеграцию с BidMachine) и используйте часть Load(bidPayload) ниже, которая доступна уже сегодня.

Шаг 2 — Серверный аукцион

Сервер вашего приложения отправляет bid-токен на эндпоинт S2S-аукциона BidMachine. Ответ содержит строку bid payload, которую вы передаёте обратно клиенту. Детали эндпоинта см. в документации BidMachine S2S API.

Шаг 3 — Загрузка с bid payload

Передайте bid payload в Load(bidPayload) на любом рекламном юните. Используются те же события, что и при обычном вызове Load() — изменяется только вызов Load.

var banner = new BannerAd(sdk, placementId: "YOUR_PLACEMENT_ID", size: BannerAdSize.Banner);

banner.Loaded += (s, e) => banner.Show(BannerPosition.HorizontalBottom);
banner.LoadFailed += (s, e) => Debug.LogError($"Banner load failed: {e.Error.Message}");

banner.Load(bidPayload);

Interstitial

var ad = new InterstitialAd(sdk, placementId: "YOUR_PLACEMENT_ID");

ad.Loaded += (s, e) => ad.Show();
ad.LoadFailed += (s, e) => Debug.LogError($"Interstitial load failed: {e.Error.Message}");

ad.Load(bidPayload);

Rewarded

var ad = new RewardedAd(sdk, placementId: "YOUR_PLACEMENT_ID");

ad.Loaded += (s, e) => ad.Show();
ad.UserQualifiedForReward += (s, e) => { /* grant reward to the user */ };
ad.LoadFailed += (s, e) => Debug.LogError($"Rewarded load failed: {e.Error.Message}");

ad.Load(bidPayload);