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

S2S биддинг

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

Поток

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

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

API генерации токена на стороне клиента в разработке

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

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

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

Шаг 3 — Загрузка с bid-пейлоадом

Передайте bid-пейлоад в load(bidPayload:) на любом рекламном юните (селектор Obj-C loadWithBidPayload:). Он использует те же коллбэки делегата, что и обычный вызов load(). Эта половина публична и работает уже сегодня.

Единственное отличие от обычной загрузки — вызов load; подключение делегата идентично Интеграции рекламы.

// Banner
let banner = BannerAd(sdk, placementId: "YOUR_PLACEMENT_ID", size: .banner)
banner.delegate = self
banner.load(bidPayload: bidPayload)

// Interstitial
let interstitial = InterstitialAd(sdk, placementId: "YOUR_PLACEMENT_ID")
interstitial.delegate = self
interstitial.load(bidPayload: bidPayload)

// Rewarded
let rewarded = RewardedAd(sdk, placementId: "YOUR_PLACEMENT_ID")
rewarded.delegate = self
rewarded.load(bidPayload: bidPayload)