S2S-биддинг
Серверный биддинг (server-to-server, S2S) позволяет серверу вашего приложения проводить аукцион с BidMachine вместо его проведения на клиенте. Клиентский SDK предоставляет bid-токен, ваш сервер использует его для запроса ставок, а выигрышный bid payload передаётся обратно клиенту для загрузки рекламы.
Поток
- Получите bid-токен — клиентский SDK генерирует непрозрачный токен, кодирующий сигналы устройства/сессии.
- Проведите серверный аукцион — сервер вашего приложения отправляет токен на эндпоинт аукциона BidMachine и получает payload с о тветом ставки.
- Загрузите рекламу — клиент передаёт bid payload в
Load(bidPayload)вместо вызоваLoad().
Шаг 1 — Получение bid-токена
Публичный генератор bid-токенов находится в разработке и будет добавлен в одном из будущих релизов. Тем временем получайте bid-токен вне приложения (например, через вашу серверную интеграцию с BidMachine) и используйте часть Load(bidPayload) ниже, которая доступна уже сегодня.
Шаг 2 — Серверный аукцион
Сервер вашего приложения отправляет bid-токен на эндпоинт S2S-аукциона BidMachine. Ответ содержит строку bid payload, которую вы передаёте обратно клиенту. Детали эндпоинта см. в документации BidMachine S2S API.
Шаг 3 — Загрузка с bid payload
Передайте bid payload в Load(bidPayload) на любом рекламном юните. Используются те же события, что и при обычном вызове Load() — изменяется только вызов Load.
Banner
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);