内部中介不公开提供
内部 Audience Network 竞价现在处于封测阶段,不公开提供。如有变化,我们将提供最新信息。
作为替代方案,您可以通过与我们合作的中介平台访问 Audience Network 竞价。
Facebook Audience Network 的开放实时竞价 (ORTB) 工具支持直接客户端集成和服务器到服务器集成。本指南将介绍如何集成竞拍服务器竞价。
在服务器到服务器集成中,竞拍服务器会调用 Facebook Audience Network 竞价端点和其他所有需求来源来获取竞价响应。然后,竞拍服务器会执行竞拍,并选择中标的竞价。此竞拍服务器可以是运行您构建的竞拍逻辑的内部服务器,也可以是与 Audience Network 的应用竞价集成的第三方服务器。这样,您可以利用服务器资源和可用网络来调用需求来源的竞价端点。此外,您还可以更改这些端点集成,而无需更新客户端。
准备内部服务器到服务器竞价时,必须执行以下步骤:
每位发行商都需要创建一个 Audience Network 公司编号,我们会将其添加到竞价白名单中。您可以使用此公司编号创建多个利用竞价端点的资产。
所有服务器端的内部发行商都必须在 https://developers.facebook.com 创建 Facebook 安全应用。创建应用后,您将需要获取安全应用的应用编号和应用密钥。在每个请求中,系统都将使用应用密钥创建身份验证口令,以验证请求的发起者。
请确保使用的散列值正确无误(下方已指定),如果散列值以 0 开头,则表示未丢失。创建安全应用并将其与您的公司关联:
系统会使用 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 版 Audience Network SDK 中调用 com.facebook.ads.BidderTokenProvider.getBidderToken()
。对于每个竞价请求,都必须请求此口令。同时,请将 device.ifa
字段中的 IDFA 传递给 AdvertisingIdClient.getAdvertisingIdInfo(context).getId()
。
从 iOS 版 Audience Network SDK 中调用 [FBAdSettings bidderToken]
。对于每个竞价请求,都必须请求此口令。同时,请通过 [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]
传递 device.ifa
字段中的 IDFA。