通过单个卖方进行基于浏览器的竞价

在本文档中,您可以大致了解使用 单个卖方的 Protected Audience 数据,如在 Protected Audience API。一个卖方的竞价可以是 是涉及多个卖方的更复杂的竞价的一部分。在本课中, 单一卖方竞价称为“成分竞价” 可以为“顶级竞价”提供候选广告有多个卖家 。

阅读开发者指南,了解 Protected Audience API 的整个生命周期。 并参阅 Protected Audience API 说明文档,深入了解 以及卖方如何进行设备端竞价的讨论。

Protected Audience API 广告竞价的六个阶段

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder"></ph> Protected Audience API 广告竞价的六个阶段
此图概述了 Protected Audience API 广告竞价的每个阶段。
  1. 用户访问一个展示广告的网站。
  2. 卖方的代码执行 navigator.runAdAuction()。该参数指定了 可供销售的广告空间以及出价的竞争者。卖方还必须添加脚本 为各个出价都指定了高分:scoreAd()
  3. 执行受邀买方的代码,以便为相关广告生成出价和网址 广告素材和其他数据出价脚本可以查询实时数据, (例如,广告系列的剩余预算) 键值对服务
  4. 卖方代码会为每次出价评分并选择胜出者。此逻辑使用 出价值和其他数据返回出价的可接受程度。无法胜出的广告 内容相关胜出者被拒。卖方可以使用自己的 键值对服务:适用于实时数据。
  5. 胜出的广告以不透明值的形式返回,该值显示在 fenced frame:卖方和 发布商将无法查看此值。
  6. 系统会将竞价报告给卖方和胜出的买方。

当用户导航到展示广告的页面时,就可能发生竞价。 可以提前进行竞价,以便在广告出现时,广告素材已准备就绪 广告位进入可见区域。

卖方发起广告竞价,并使用提供的自定义逻辑为候选广告评分 作为 scoreAd() 函数,并负责报告 和胜出的买方进行竞价销售人员还可以 根据发布商scoreAd() 函数。

卖家可以提及:

  • 以自身网站托管广告内容的内容发布商
  • 供应方平台 (SSP),与广告发布商合作并提供其他服务
  • 第三方脚本,代发布商参与广告竞价。

开展竞价的前提条件

卖方需要定义两个 JavaScript 函数才能运行竞价:

  • scoreAd(),对候选广告进行评分
  • reportResult():负责向卖方自己报告竞价结果

这些脚本需要从卖方拥有的单个端点提供。

scoreAd()

卖方需要定义一个从端点提供的 scoreAd() 函数 所有资源该端点在竞价配置中被指定为 decisionLogicUrlscoreAd() 函数具有以下签名:

scoreAd(
  adMetadata,
  bid,
  auctionConfig,
  trustedScoringSignals,
  browserSignals,
  directFromSellerSignals)

scoreAd() 参数如下:

  • adMetaData: 买方提供的所有广告资源这是一个可序列化的 JSON 对象,卖家和 买方需要定义并同意该结构
  • bid:一个数值,表示出价。
  • auctionConfig:用于执行竞价的竞价配置。
  • trustedScoringSignals:在竞价时从 卖方的键值对服务器。平台将使用renderUrl 作为此查询的键的候选广告。
  • browserSignals:一个由浏览器构建的对象,包括 以及卖方的竞价脚本 需要验证。
  • directFromSellerSignals 是可能包含以下字段的对象: ** sellerSignals:与 auctionConfig.sellerSignals 类似,但使用 directFromSellerSignals 机制。 ** auctionSignals:与 auctionConfig.auctionSignals 类似,但使用 directFromSellerSignals 机制。

以下是 browserSignals 的一个示例。请注意,renderUrl 候选广告可通过以下信号获得:

{ 'topWindowHostname': 'www.example-publisher.com',
  'interestGroupOwner': 'https://www.example-buyer.com',
  'renderURL': 'https://cdn.com/render_url_of_bid',
  'renderSize': {width: 100, height: 200}, /* if specified in the bid */
  'adComponents': ['https://cdn.com/ad_component_of_bid',
                   'https://cdn.com/next_ad_component_of_bid',
                   ...],
  'biddingDurationMsec': 12,
  'bidCurrency': 'USD', /* bidCurrency returned by generateBid, or '???' if none */
  'dataVersion': 1, /* Data-Version value from the trusted scoring signals server's response */
}

reportResult()

卖方需要定义一个通过reportResult() 端点。端点在竞价配置中指定 用作 decisionLogicUrlreportResult() 函数具有以下特征 签名:

reportResult(auctionConfig, browserSignals) {
  ...
  return signalsForWinner;
}

reportResult() 参数如下:

  • auctionConfig:用于执行竞价的竞价配置。
  • browserSignals:一个由浏览器构建的对象,包括 以及卖方的竞价脚本 需要验证。这与传递给 scoreAds() 函数的对象相同。

reportResult() 会返回 signalsForWinner,这是一个任意 JSON 对象 传递给胜出买方的报告函数其中应包含以下内容: 卖方可以提供的任何与竞价相关的信息 所需的全部信息

开展 Protected Audience API 竞价

卖方必须执行四个主要步骤才能开展竞价。请注意,这些 步骤假设卖方已设置端点,以返回所需的 JavaScript 。

  1. 配置竞价。此步骤包括创建 auctionConfig 对象。 这样卖方就可以指定哪些买方应该参与 并在出价期间提供任何可能相关的信号 或广告评分。
  2. 通过调用 navigator.runAdAuction() 执行竞价,传入 您在上一步中创建的配置这会启动买方链 生成出价,然后进行评分。此步骤的最终结果是一个候选广告 可用于展示广告
  3. 在围栏框架或 iframe 中呈现胜出的广告
  4. 报告竞价结果。这里有一个函数 navigator.sendReportTo(),这将启动报告。销售人员始终会 接收竞价结果报告仅限在竞价中胜出的买方 将收到报告这会使用卖方之前所述的 reportResult() 将其报告给服务器。