Интеграция биддинга "сервер-сервер"

Собственная агрегация не является общедоступной

Собственный биддинг в Audience Network сейчас проходит закрытое бета-тестирование и не является общедоступным. Мы будем держать вас в курсе всех изменений.

В качестве альтернативы вы можете получить доступ к биддингу в Audience Network через одну из платформ агрегации, с которыми мы сотрудничаем.

В Facebook Audience Network реализован протокол ORTB для проведения аукционов, который поддерживает как прямую интеграцию с клиентом, так и интеграцию "сервер-сервер". В этом руководстве рассказывается, как интегрировать биддинг с сервера аукциона.

В режиме интеграции "сервер-сервер" сервер аукциона вызывает конечную точку биддинга в Facebook Audience Network и все прочие источники спроса, чтобы получить отклики со ставками. После этого сервер проводит аукцион и выбирает ставку-победителя. Сервер аукциона может быть собственным, со своей логикой проведения аукциона, или сторонним, интегрированным с биддингом для приложений Audience Network. Благодаря этому вы можете использовать ресурсы сервера и доступную сеть для вызова конечных точек биддинга для источников спроса. Вы также можете вносить изменения в интеграцию этих конечных точек без обновления клиента.

Предварительные требования

Перед началом работы ознакомьтесь с обзором биддинга в Audience Network и рекомендациями по интеграции биддинга.

Android

iOS

Подготовка

Для подготовки к интеграции собственного биддинга "сервер-сервер" необходимо выполнить следующие действия:

Регистрация компании

Каждый издатель должен создать ID компании Audience Network, который мы занесем в список разрешенных для биддинга. С этим ID компании вы можете создавать различные свойства, использующие конечную точку биддинга.

  • Откройте документацию по Facebook Audience Network и нажмите кнопку Начать, чтобы создать новый ID компании, либо воспользуйтесь существующим.
  • Вы можете создавать свойства, используя один и тот же ID компании, однако все их необходимо регистрировать (подробнее см. в статье о Monetization Manager).
  • Сообщите нам свой ID компании (это ваш ID издателя).
  • Вы можете управлять доступом пользователей к вашей компании или приложению.

Создание приложения безопасности Facebook

Все издатели собственных серверных приложений обязаны создавать приложение безопасности Facebook на сайте https://developers.facebook.com. После его создания нужно получить ID и секрет этого приложения. Секрет приложения используется в каждом запросе для создания ключа аутентификации, подтверждающего подлинность отправителя.

Убедитесь, что вы используете правильный хэш (см. ниже). Если хэш начинается с 0, он не будет потерян.

Чтобы создать приложение безопасности и связать его со своей компанией, выполните следующие действия:

  1. Войдите на страницу https://developers.facebook.com.
  2. В меню Мои приложения нажмите "Создать приложение".
  3. Выберите Бизнес и нажмите Далее.
  4. Укажите для приложения имя с префиксом AN_SECURITY_APP и нажмите Создать ID приложения.
  5. В меню слева выберите Настройки → Основное.
  6. В поле Секрет приложения нажмите Показать. Запишите ID и секрет приложения.
  7. Перейдите на страницу https://business.facebook.com и выберите свою компанию.
  8. В меню слева нажмите Настройки компании.
  9. В меню слева на странице Настройки компании выберите Аккаунты → Приложения.
  10. В области Приложения нажмите Добавить → Добавить приложение.
  11. Введите ID приложения безопасности и нажмите Добавить приложение. После этого приложение AN_SECURITY_APP должно появиться рядом с вашей компанией.

Связанный с запросом идентификатор authentication_id генерируется с применением алгоритма HMAC-SHA256. Этот алгоритм использует следующие входные данные:

  • ID запроса в качестве сообщения;
  • секрет приложения в качестве ключа.
      authentication_id = HMAC_SHA256(request_id, app_secret)
    

Затем сгенерированный ID добавляется в расширение запроса ставки OpenRTB верхнего уровня в поле authentication_id. Например, для ID запроса 9r90wurjqw и секрета приложения 12345asdfg генерируется следующее значение authentication_id:

      authentication_id = HMAC_SHA256(9r90wurjqw, 12345asdfg) = 39bbe40bc68899a9356085ca8c81
    

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

      {
      "id": "9r90wurjqw",
      ...
      "ext": {
      "authentication_id": "39bbe40bc68899a9356085ca8c81d3021cfa124f2a2b3c68c88f95fb4cde40a4",
      "security_app_id": "AN_SECURITY_APP_MY_SECURITY_APP_ID" 
      ...
      }
      }
    

Передача ключа идентификационных данных участнику аукциона

Участник аукциона ожидает передачи ключа идентификационных данных в поле user.buyeruid запроса ORTB. Для разных платформ этот ключ генерируется по-разному.

Android

Вызовите метод com.facebook.ads.BidderTokenProvider.getBidderToken() из SDK Audience Network для Android в фоновом потоке. Этот ключ необходимо запрашивать для каждого запроса ставки. Кроме того, передайте IDFA в поле device.ifa в AdvertisingIdClient.getAdvertisingIdInfo(context).getId().

iOS

Вызовите [FBAdSettings bidderToken] из SDK Audience Network для iOS. Этот ключ необходимо запрашивать для каждого запроса ставки. Кроме того, передайте IDFA в поле device.ifa с помощью [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString].