买方 SDK 广告格式

买方 SDK 广告使用通过您自己的 SDK 呈现的广告素材。

由集成了您的出价功能的发布商提供的移动应用广告资源 适配器可以接受出价 与买方 SDK 呈现的广告格式相关联。它们的呈现方式取决于您的 SDK 实施和SDKRenderedAd您在 出价响应。

您可以在出价时加入买方 SDK 呈现的广告或任何其他广告 格式 Google 移动广告 SDK 支持,但任何 则同时包含这两者的出价会被滤除。

要求

买方 SDK 广告可供已获批准的买方使用。这种格式要求 需要付出的所有努力请与您的技术支持客户经理联系, 针对买方 SDK 广告配置您的账号。然后,您可以使用基于价值的出价策略 适配器,让您的 SDK 与 Google 移动广告 SDK 进行通信。发布商需要集成 将 SDK 和适配器导入他们的移动应用

我们建议您为 审核 然后再将其添加到出价响应中。请与您的技术支持客户经理联系 如果您在出价时不知道广告素材类型。

如果出价请求支持此广告格式,您可以指定呈现 设置 sdk_rendered_ad 字段,从而实现与 SDK 集成的 响应

出价请求

针对移动应用广告资源的出价请求包括 SDK 的详细信息以及 可用于在以下展示位置中呈现的发布商应用中的适配器 字段:

SDK ID

您可以使用出价请求查找您必须在出价中提供的id。 对买方 SDK 呈现的广告的响应。

请参阅以下字段:

  • OpenRTB:BidRequest.app.ext.installed_sdk
  • Google 实时出价协议(已弃用):BidRequest.mobile.installed_sdk

有关 InstalledSdk 消息的详情,请参阅 OpenRTBGoogle 协议指南。

广告单元映射

您可以使用出价请求来读取与出价位置匹配的广告单元映射。

请参阅以下字段:

  • OpenRTB:BidRequest.imp.ext.ad_unit_mapping
  • Google 实时出价协议(已弃用):BidRequest.AdSlot.ad_unit_mapping

如需详细了解 AdUnitMapping 对象,请参阅 OpenRTBGoogle 协议指南。

安全信号

发布商可与出价方共享安全信号。您可以从 OpenRTB 的 BuyerGeneratedRequestData 对象或来自已弃用的 Google RTB 协议的 SecureSignal 对象。

请参阅以下字段:

  • OpenRTB:BidRequest.imp.ext.buyer_generated_request_data.data
  • Google 实时出价协议(已弃用):BidRequest.AdSlot.SecureSignal.data

如需详细了解安全信号的表示方式,请参阅 OpenRTBGoogle 协议指南。

测试请求

您可以阅读“测试请求”字段,了解出价请求是否属于 测试。

请参阅以下字段:

  • OpenRTB:BidRequest.test
  • Google 实时出价协议(已弃用):BidRequest.is_test

如需详细了解 Test 字段,请参阅 OpenRTBGoogle 协议指南。

出价请求示例

id: "<bid_request_id>"
imp {
  id: "1"
  banner {
    w: 320
    h: 50
    ...
  }
...
  adx_ext {
   ...
    ad_unit_mapping {
      keyvals {
        key: "key_1"
        value: "value_1"
      }
      keyvals {
        key: "key_2"
        value: "value_2"
      }
      ...
      format: FORMAT_BANNER
    }
  }
}
app {
 ...
  adx_ext {
    installed_sdk {
      id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
      sdk_version {
        major: 1
        minor: 2
        micro: 30
      }
      adapter_version {
        major: 1
        minor: 2
        micro: 3000
      }
    }
    installed_sdk {
    ...
    }
    ...
  }
}
device {
  ...
}
user {
  ...
  }
  adx_ext {
    eids {
      source: "com.google.ads.mediation.partner.PartnerMediationAdapter"
      uids {
        id: "<partner_signal_string>"
      }
    }
  }
}
at: 1
tmax: 1000
cur: "USD"
test: 1
...
adx_ext {
  google_query_id: "<query_string>"
  ...
}

出价响应

以下字段是出价响应中必填字段:

  • OpenRTB:
    • BidResponse.seatbid.bid.adomain
    • BidResponse.seatbid.bid.ext.billing_id
    • BidResponse.seatbid.bid.crid
    • BidResponse.seatbid.bid.w
    • BidResponse.seatbid.bid.h
  • Google 实时出价协议(已弃用):
    • BidResponse.Ad.click_through_url
    • BidResponse.Ad.AdSlot.billing_id
    • BidResponse.Ad.buyer_creative_id
    • BidResponse.Ad.width
    • BidResponse.Ad.height

此外,您的出价响应必须包含带有SdkRenderedAd 以下:

SDK ID

使用 id 字段提供 SDK 以呈现广告。

您可以通过以下字段在出价请求中找到该 ID:

  • OpenRTB:BidRequest.app.ext.installed_sdk
  • Google 实时出价协议(已弃用):BidRequest.mobile.installed_sdk

有关 InstalledSdk 消息的详情,请参阅 OpenRTBGoogle 协议指南。

声明的广告

使用 declared_ad 字段提供符合出价请求的 CreativeEnforcementSettings要求,并且代表了广告的 呈现数据。只能是 html_snippetvideo_urlvideo_vast_xml 或 应填充 native_response

如果您不填充 declared_ad,我们将无法审核该广告素材,并且 相应广告素材的所有出价都将被滤除而无法参与竞价。

呈现数据

使用 rendering_data 字段提供相应数据,以供买方 SDK 来呈现您的广告

  • OpenRTB:BidResponse.seatbid.bid.ext.sdk_rendered_ad.rendering_data
  • Google 实时出价协议(已弃用):BidResponse.ad.sdk_rendered_ad.rendering_data

投放买方 SDK 广告的出价必须在declared_ad中指定广告素材 字段。声明的广告必须准确反映 rendering_data

下面是一个示例 SdkRenderedAd 对象:

{
  "id": "1234567",
  "rendering_data": "\xd58...,\xd4\x89\xd\xf9",
  "declared_ad": {
    "html_snippet": "<iframe src=\"https://example.com/ads?id=123&
      curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>",
  }
}

我们建议使用 Real-time Bidding API提交 审核 然后再将其添加到出价响应中。

请参阅 GoogleOpenRTB 协议指南 ,详细了解 SdkRenderedAd 字段。

出价响应示例

以下是每种广告格式的出价响应示例:

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 99
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 320
    h: 50
    burl: "https://abc.com/billing?td=fn&win_price=${AUCTION_PRICE}"
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          html_snippet: "<!doctype html> <html> ... </html>"
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
      billing_id: 141763360450
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

插页式广告

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 400
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 412
    h: 775
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          video_vast_xml: "<VAST version=\"2.0\"><Ad>...</Ad></VAST>"
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

激励视频

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 400
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 412
    h: 775
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          video_vast_xml: "<VAST version=\"2.0\"><Ad>...</Ad></VAST>"
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

原生

id: "<bid_request_id>"
seatbid {
  bid {
    id: "<bidder_generated_response_id>"
    impid: "1"
    price: 400
    adomain: "https://play.google.com/store/apps/details?id=com.test.app"
    cid: "<billing_id>"
    crid: "<creative_id>"
    w: 1200
    h: 627
    adx_ext {
      sdk_rendered_ad {
        id: "com.google.ads.mediation.partner.PartnerMediationAdapter"
        rendering_data: "<rendering_data_string>"
        declared_ad {
          click_through_url: "https://play.google.com/store/apps/details?id=com.test.app"
          native_response {
            ...
            assets {
              id: 1
              title {
                text: ""
              }
            }
            assets {
              id: 2
              data {
                value: "<some_string>"
              }
            }
            assets {
              id: 3
              data {
                value: "View now"
              }
            }
            assets {
              id: 4
              img {
                url: "<valid_image_url>"
                w: 1200
                h: 627
                type: 3
              }
            }
            assets {
              id: 5
              img {
                url: "<valid_image_url>"
                w: 100
                h: 100
                type: 1
              }
            }
            assets {
              id: 6
              data {
                value: ""
              }
            }
            assets {
              id: 7
              data {
                value: "<some_string>"
              }
            }
            link {
              url: "<destination_link>"
            }
          }
        }
      }
      event_notification_token {
        payload: "<payload_string>"
      }
    }
  }
}
bidid: "<bidder_generated_response_id>"
cur: "USD"

广告素材审核

广告素材在投放之前接受审核,以确保符合我们的 合作规范和发布商 设置。

您可以通过以下两种方式提交广告素材以供审核:

Real-time Bidding API(推荐)

您可以使用 buyers.creatives.create Real-time Bidding API 方法 提交广告素材以供审核

在该 API 中,每个广告素材只需提交一次,可让您查看 广告素材的审核状态

出价响应

您可以直接在出价响应中提交新的广告素材。

您必须使用 SdkRenderedAd 对象的 declared_ad 字段才能提交 包含买方 SDK 广告素材的出价响应以供审核。

在出价响应中提交的广告素材只有在多次出价后才会得到审核。 在审核完成前放置的所有出价都会被滤除而无法参与竞价。 您可以使用实时出价界面实时出价 API 以了解广告素材在审核开始后的状态。

请参阅广告素材指南