服务器到服务器竞价集成

内部中介不公开提供

内部 Audience Network 竞价现在处于封测阶段,不公开提供。如有变化,我们将提供最新信息。

作为替代方案,您可以通过与我们合作的中介平台访问 Audience Network 竞价。

Facebook Audience Network 的开放实时竞价 (ORTB) 工具支持直接客户端集成和服务器到服务器集成。本指南将介绍如何集成竞拍服务器竞价。

在服务器到服务器集成中,竞拍服务器会调用 Facebook Audience Network 竞价端点和其他所有需求来源来获取竞价响应。然后,竞拍服务器会执行竞拍,并选择中标的竞价。此竞拍服务器可以是运行您构建的竞拍逻辑的内部服务器,也可以是与 Audience Network 的应用竞价集成的第三方服务器。这样,您可以利用服务器资源和可用网络来调用需求来源的竞价端点。此外,您还可以更改这些端点集成,而无需更新客户端。

前提条件

开始之前,请阅读 Audience Network 竞价概览竞价集成最佳实践

Android

iOS

准备工作

准备内部服务器到服务器竞价时,必须执行以下步骤:

注册公司

每位发行商都需要创建一个 Audience Network 公司编号,我们会将其添加到竞价白名单中。您可以使用此公司编号创建多个利用竞价端点的资产。

创建 Facebook 安全应用

所有服务器端的内部发行商都必须在 https://developers.facebook.com 创建 Facebook 安全应用。创建应用后,您将需要获取安全应用的应用编号和应用密钥。在每个请求中,系统都将使用应用密钥创建身份验证口令,以验证请求的发起者。

请确保使用的散列值正确无误(下方已指定),如果散列值以 0 开头,则表示未丢失。

创建安全应用并将其与您的公司关联:

  1. 登录到 https://developers.facebook.com
  2. 我的应用菜单中,点击“创建应用”。
  3. 选择公司,然后点击下一步
  4. 为应用命名,并添加前缀“AN_SECURITY_APP”,然后点击创建应用编号
  5. 在左侧菜单中,选择设置 → 基础
  6. 应用密钥字段中,点击显示,写下您的应用编号和应用密钥。
  7. 前往 https://business.facebook.com,然后选择公司。
  8. 在左侧菜单中,点击公司设置
  9. 公司设置页面的左侧菜单中,选择帐户 → 应用
  10. 应用面板中,点击添加 → 添加应用
  11. 输入安全应用的应用编号,然后点击添加应用。此时,AN_SECURITY_APP 应该会显示在您的公司下方。

系统会使用 HMAC-SHA256 算法生成特定于请求的 authentication_id。此算法会使用以下输入内容:

  • 以请求编号作为消息
  • 以应用密钥作为密钥
      authentication_id = HMAC_SHA256(request_id, app_secret)
    

生成的编号随后会添加至顶层 OpenRTB 竞价请求扩展的 authentication_id 字段中。例如,如果请求编号是“9r90wurjqw”,应用密钥是“12345asdfg”,则会生成如下 authentication_id

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

此口令将与安全应用的应用编号一起包含在每个请求中。

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

将身份口令传递给竞价工具

我们的竞价工具需要在 ORTB 请求的 user.buyeruid 字段中获得身份口令。不同平台的口令生成方式各有不同。

Android

在后台线程中,从 Android 版 Audience Network SDK 中调用 com.facebook.ads.BidderTokenProvider.getBidderToken()。对于每个竞价请求,都必须请求此口令。同时,请将 device.ifa 字段中的 IDFA 传递给 AdvertisingIdClient.getAdvertisingIdInfo(context).getId()

iOS

从 iOS 版 Audience Network SDK 中调用 [FBAdSettings bidderToken]。对于每个竞价请求,都必须请求此口令。同时,请通过 [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString] 传递 device.ifa 字段中的 IDFA。