您的应用在处理完来自 Google 的出价请求后,必须构建
并发送响应本指南介绍了如何编写应用代码
响应。
创建 BidResponse 消息
Authorized Buyers 将 BidRequest
作为
HTTP POST
。您的应用发送的响应必须包含
Content-Type
标头设为 application/octet-stream
以及由序列化协议缓冲区组成的消息正文协议
缓冲区是 BidResponse
消息,如
realtime-bidding.proto
。您的应用必须返回一个可解析对象
BidResponse
,响应每个BidRequest
。超时次数
和无法解析的响应会被视为错误,Google 会限制
错误率较高的出价工具。
如果您不想对某个展示机会出价,可以将
只保留 processing_time_ms
字段,将所有其他字段保留
为空。您可以从以下位置获取 realtime-bidding.proto
:
参考数据 页面。
广告素材 ID
您的BidResponse
通过
buyer_creative_id
字段(上限为 64 字节)。即使是类似的广告素材
如果buyer_creative_id
的值不同,则它们必须各不相同
任何显著的特征,包括但不限于:尺寸、声明的网址、
广告素材属性和供应商类型。换言之,您必须提供不同的
广告素材 ID 与符合以下条件的任意两个广告相关联:
外观或行为方式有所不同。
渲染为不同的图片。
采用不同的呈现方式(例如,一个广告包含一张图片,
另一个包含 Flash)。
在设计应用时,您应确定
生成对您计划的广告素材类型有意义的标识符
提交。
广告属性
您必须声明能够完整描述广告的广告素材属性
BidResponse.Ad.attribute
中呈现的特征及其定位。通过
必须声明的属性(另请参阅
属性
buyer-declarable-creative-attributes.txt ):
7 Tagging: IsTagged
广告包含像素标记(又称网络信标),
用于后续再营销的 Cookie ID 列表。
8 Remarketing: IsRemarketing
广告根据用户的 Cookie ID 或设备 ID 来定位他们,其中
一系列 Cookie ID 或设备 ID 代表一组
以前曾与买方拥有或代表的网站进行过互动。
9 UserInterestTargeting: IsUserInterestTargeted
广告根据用户的 Cookie ID 或设备 ID 来定位他们,其中
一系列 Cookie ID 或设备 ID 代表一组
一般兴趣群体。
30 InstreamVastVideoType: Vpaid
广告需要 VPAID 支持才能呈现。
32 MraidType: MRAID
广告需要使用 MRAID API 才能呈现。
此外,还支持以下属性,但其声明
不需要,因为 Authorized Buyers 会自动检测它们,并会屏蔽(或
允许)您的广告素材。
请参阅
广告素材 API
,了解有关如何获得有关在您的广告资源中检测到的属性的反馈
广告素材。
公开出价字段
参与公开竞价的广告交易平台和广告联盟出价方发送的出价响应
出价方式与参与标准计划的 Authorized Buyers 买方的出价类似
实时出价。公开出价客户可以指定少量
一些现有字段可能有其他用途。这些
包括:
OpenRTB
Authorized Buyers
详细信息
BidResponse.imp[].pmp.deals[].id
BidResponse.ad[].adslot[].exchange_deal_id
与此交易相关联的广告交易平台命名空间中的交易 ID
出价并报告给发布商
注意 :此字段目前仅发送给封闭式 Beta 版。
参与者。
BidResponse.seatbid[].bid[].ext.exchange_deal_type
BidResponse.ad[].adslot[].exchange_deal_type
系统向发布商报告的交易类型,此类交易类型会影响交易的方式
出价响应情况
注意 :此字段目前仅发送给封闭式 Beta 版。
参与者。
BidResponse.seatbid[].bid[].ext.third_party_buyer_token
BidResponse.ad[].adslot[].third_party_buyer_token
该令牌用于识别最终第三方买方信息,如果
而是中介。此 ID 从
第三方买方,且必须在出价中原封不动地传递给 Google
响应。
建议
出价响应示例
以下示例展示了人类可读的 Protobuf 示例,
JSON 请求。
Google
显示示例
ad {
html_snippet: "<iframe marginwidth=0 marginheight=0 height=600 frameborder=0 width=160 scrolling=no src=\"https://test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>"
adslot {
id: 1
max_cpm_micros: 10100
billing_id: 30279159795
}
click_through_url: "google.com"
attribute: 47
buyer_creative_id: "test_creative_id_766108"
advertiser_name: "Google"
width: 320
height: 50
impression_tracking_url: "https://test.com/imp?id=123456"
event_notification_token: "token"
}
processing_time_ms: 8
OpenRTB JSON
显示示例
{
"id ": "sW2R7543D2w77f0542uu0F ",
"seatbid ": [
{
"bid ": [
{
"id ": "U4495qveIO2A83s1iOs ",
"impid ": "1 ",
"price ": 0.10701 ,
"adid ": "test_creative_id_323125 ",
"adm ": "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src = \ "https : //test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>",
"adomain ": [
"google . com "
],
"cid ": "54460865479 ",
"crid ": "test_creative_id_323125 ",
"w ": 300 ,
"h ": 250 ,
"ext ": {
"app_promotion_type ": "INSTALLS ",
"impression_tracking_url ": [
"https : //test.com/impression?id=123456",
"https : //test.com/impression?id=123456 "
]
}
}
],
"seat ": "1506 : 2993 : 976791 "
}
],
"bidid ": "WN7415ff - hN7R6080 - 3 txk - r0J45ckY5970 "
}
OpenRTB 协议缓冲区
显示示例
id : "q745y3S4jz5Qg43A6izy2V "
seatbid {
bid {
id : "Fi366E0I1RN4Ofm8Ug5 "
impid : "1 "
price : 0.02
adm : "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src = \"https : // test . com / ads ? id = 123456 &curl =%% CLICK_URL_ESC %% &wprice =%% WINNING_PRICE_ESC %% \"></ iframe >"
adomain : "google . com "
cid : "51570472186 "
crid : "test_creative_id_520474 "
w : 468
h : 60
[ com . google . doubleclick . bid ] {
impression_tracking_url : "https : // test . com / impression ? id = 123456 "
impression_tracking_url : "https : // test . com / impression ? id = 123456 "
event_notification_token {
payload : "token "
}
billing_id : 51570472186
}
}
seat : "1608 : 1311 : 489067 "
}
bidid : "6930 l9D4 - 1 A9090lR - 451 S - 01 g3xTZv8382 "
[ com . google . doubleclick . bid_response ] {
processing_time_ms : 100
}
重要提示 :此处显示的 Protobuf 消息
以人类可读的文本表示。然而,这并不是
这些消息通过网络发送使用 Google 或 OpenRTB 协议缓冲区时
格式,系统就只会接受序列化的 BidResponse 消息。
您可以使用BidResponse
以下 C++ 代码:
BidResponse bid_response;
// fill in bid response with bid information
string post_response;
if (bid_response.SerializeToString(&post_response)) {
// respond to the POST with post_response as the content
} else {
// return an error to the POST
}
指定广告素材
您的出价响应会指定在出价胜出后要投放的广告素材。您的出价
必须包含一种受支持的广告格式(AMP、视频广告、原生广告)。在本课中,
我们使用 html_snippet
字段指定广告素材。
或者,您也可以使用某一种 广告素材
以下字段:
SDK 呈现的广告
<ph type="x-smartling-placeholder"></ph>BidResponse.Ad.sdk_rendered_ad
AMP 网页
<ph type="x-smartling-placeholder"></ph>BidResponse.Ad.amp_ad_url
视频
BidResponse.Ad.video_url
或
BidResponse.Ad.video_vast_xml
原生
<ph type="x-smartling-placeholder"></ph>BidResponse.Ad.native_ad
使用
BidResponse
的 html_snippet
字段。通过
代码段包含在插入到网页中的 iFrame 中,使广告
在网页加载时检索和呈现的。您必须编写 HTML
以便广告(横幅广告或插页式广告)在
且尺寸适合您要出价的广告位。
此外,出价响应中声明的广告尺寸必须与一个尺寸完全匹配
下列哪种尺寸组合?
广告是常规横幅广告(而非视频广告、原生广告或插页式广告)。
出价方已在出价响应中声明了该尺寸。尺寸声明现为
只要请求中存在多个尺寸,就必须提供。
插页式广告属于例外情况。对于插页式广告,宽度
必须至少为屏幕宽度的 50%,且高度至少为屏幕的 40%
屏幕高度
html_snippet
字段支持符合以下条件的任何有效 HTML 代码:
但要注意指定
Create BidResponse message (创建出价响应消息)部分中的 buyer_creative_id
字段。一个
将额外信息添加到
。这样,您就可以通过
有关展示的任意数据传回您自己的服务器。
出价响应中返回的 HTML 代码段的大多数政策都与
。请参阅 Authorized Buyers
计划指南 、对第三方的要求
广告投放 和声明
广告的点击后到达网址 。
指定宏
用于定义广告素材的 HTML 代码段可以包含一个或多个特殊的
称为宏的结构。在投放广告时,系统会将这些值替换为
宏。例如,您的客户端出价应用可以使用
WINNING_PRICE
宏来确定为广告支付的费用,
则会在竞价中胜出要解析此宏,您需要实施
用于解密价格确认的应用。请参阅解密价格
确认 页面。
请按以下格式指定宏作为 HTML 代码段的一部分:
%%MACRO%%
,其中 MACRO
是受支持的一种
下表中列出的宏。
注意 :对于 AMP 广告出价响应 (amp_ad_url
),
WINNING_PRICE
和 WINNING_PRICE_ESC
宏
支持。
Google 要求您使用 CLICK_URL_UNESC
或
CLICK_URL_ESC
宏。
。Google 使用 CLICK_URL
宏进行点击跟踪。
要使用宏,请将其包含在广告中,这样系统就会在发生
就会出现这种错误提取的返回值是指向另一个
您附加到 CLICK_URL
的网址。
注意 :除了这些 DoubleClick 宏之外,我们还支持
OpenRTB 宏。有关详情,请参阅 OpenRTB
规范 。
宏
说明
ADVERTISING_IDENTIFIER
允许买方在广告展示时接收 iOS IDFA 或 Android 广告 ID。
请参阅解密广告客户标识符
了解详情。
CACHEBUSTER
一个无符号的四字节随机整数字符串表示。
CLICK_URL_UNESC
广告的未转义点击跟踪网址。在代码段中,
第三方点击跟踪网址应直接跟随该宏。
例如,如果第三方点击跟踪网址是
http://my.adserver.com/some/path/handleclick?click=clk
,
则以下代码可与第三个
方点击跟踪网址:
<a href="%%CLICK_URL_UNESC%%http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>
在投放广告时,上述代码将会扩展为:
<a href="http://google-click-url?...&ad_url=http%3A%2F%2Fmy.adserver.com%2Fsome%2Fpath%2Fhandleclick%3Fclick%3Dclk"></a>
该网址会先向 Google 注册该点击,然后再重定向到第三方点击跟踪网址。
CLICK_URL_ESC
广告的转义点击跟踪网址。改用
CLICK_URL_UNESC
(如果需要首先传递值)
然后,由另一个服务器返回重定向。
例如,可以在 HTML 代码段中使用以下代码:
<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC%%"></a>
在投放广告时,上述代码将会扩展为:
<a href="http://my.adserver.com/click?google_click_url=http://google-click- url%3F...%26ad_url%3D"></a>
这会通过 my.adserver.com
记录点击,
将负责重定向到在
google_click_url
参数。这一要求假设
my.adserver.com
反转义 google_click_url
参数。
您可以将一个两次转义网址附加到
%%CLICK_URL_ESC%%
。取消转义后
my.adserver.com
,这会留下网址的单次转义版本
附加到 google_click_url
。当
google_click_url
被提取后,它将再次取消转义,然后
重定向。
CLICK_URL_ESC_ESC
广告的两次转义网址。改用
CLICK_URL_UNESC
(如果需要首先传递值)
然后,由另一个服务器返回重定向。
例如,可以在 HTML 代码段中使用以下代码:
<a href="http://my.adserver.com/click?google_click_url=%%CLICK_URL_ESC_ESC%%"></a>
在投放广告时,上述代码将会扩展为:
<a href="http://my.otheradserver.com/click?google_click_url=http%3A%2F%2Fmy.adserver.com%2Fclick%3Fgoogle_click_url%3Dhttp%3A%2F%2Fgoogle-click-%20url%253F...%2526ad_url%253D"></a>
SCHEME
如果出价请求不需要 SSL 或http:
如果出价请求需要 SSL,则为 https:
。
SITE
内容网址经过网址转义的域或匿名广告资源的匿名 ID。
SITE_URL
已弃用。已被提供相同功能的 SITE 宏替换。
TZ_OFFSET
时区偏移量。
VERIFICATION
生产的值与验证过程中扫描广告素材的时间不同
流水线。格式为 %%?VERIFICATION:true-val:false-val%%
,其中
值(宏除外)可用于 true-val
和 false-val
,
包括空字符串。对于公开出价,我们建议广告交易平台使用此宏;
一旦这样做,需求方平台无需进行任何更改。
例如,如果广告素材应包含 %%?VERIFICATION:-1:5000%%
则文本替换将5000
投放时-1
为
验证流水线。这有助于区分这两组 ping。
WINNING_PRICE
经过编码的展示机会费用(即 CPI,而不是每千次展示费用)
以账号币种的微单位表示。例如,胜出的每千次展示费用为 5 美元
相当于 5,000,000 微单位的每千次展示费用,或 5,000 个微单位的每次安装费用。解码
在本例中,WINNING_PRICE
的值为 5,000。
胜出价格以 CPI 指定。
WINNING_PRICE_ESC
经过网址转义的 WINNING_PRICE
。
宏中的网址转义使用以下方案:
系统会用加号 (+
) 代替空格字符。
字母数字字符(0-9、a-z、A-Z)和 !()*、-./:_~ 集中的字符会保持不变。
所有其他字符都会替换为 %XX
,其中 XX
为十六进制字符
代表字符的数字。
发布商限制
发布商使用 BidRequest
传递有关哪些
它们所允许的范围。您必须强制执行以下字段中的限制:
allowed_vendor_type
excluded_attribute
excluded_sensitive_category
其中一个字段指定允许使用的广告功能,另一个指定
禁用这些功能。切勿返回包含禁用功能的广告。对于已允许
则仅当其供应商类型是
BidRequest
中的 allowed_vendor_type
列表。请参阅
BidRequest
协议缓冲区中这些字段的注释
定义。
如果在 BidResponse
中返回 HTML 代码段,则您将
准确设置 attribute
、category
、
BidResponse
中的 click_through_url
字段。
如果广告的这些字段有多个适用的值,那么您必须
包含所有值。有关这些字段的注释,请参见
BidResponse
协议缓冲区定义。
未设置这些字段的响应将被舍弃。
BidRequest.excluded_attribute
可能的值包括
(请参阅 publisher-excludable-creative-attributes.txt ):
7 Tagging: IsTagged
如果广告为了创建
Cookie ID。
8 CookieTargeting: IsCookieTargeted
如果广告是根据消费者的 Cookie ID 来定位的,则相应广告将不会展示,此处的 Cookie ID 列表表示
之前与买方拥有或代表的网站进行过互动的一组消费者。
9 UserInterestTargeting: IsUserInterestTargeted
如果广告是根据消费者的 Cookie ID 来定位的,则相应广告将不会展示,此处的 Cookie ID 列表表示
被买家划入共同兴趣群体的一组消费者。
21 CreativeType: Html
不得在广告中使用 html_snippet
或 snippet_template
BidResponse.Ad
中的字段。
22 CreativeType: VastVideo
BidResponse.Ad
中不允许广告使用 video_url
字段。
30 InstreamVastVideoType: Vpaid
广告不得需要支持 VPAID 才能呈现。
32 MraidType: MRAID
不允许需要 MRAID API 才能呈现广告。
34 RichMediaCapabilityType: RichMediaCapabilityFlash
广告不得需要支持 Flash 才能呈现。
39 RichMediaCapabilityType: RichMediaCapabilityHTML5
广告不得需要 HTML5 功能才能呈现。
48 RichMediaCapabilityType: RichMediaCapabilityNonSSL
不允许广告发出非 SSL 请求。
因此,如果 excluded_attribute
字段包含值,
7,那么您不应返回使用像素标记(网络信标)的
创建列表请注意,如果广告进行此操作,则必须将
BidResponse
的属性字段。
同样,如果 excluded_attribute
字段包含值 48,
则只应返回可在 SSL 网页上呈现的广告
声明属性 47 RichMediaCapabilityType: RichMediaCapabilitySSL)。
也是excluded_sensitive_category
BidRequest
使用的代码在
ad-sensitive-categories.txt
文件,请参阅参考数据 页面。以下为扩展内容
其中一些代码的说明:
3 Politics
包括政治问题或争议性的社会问题;不包括整体来说不涉及任何党派观点的资讯组织的广告。
4 Dating
包括约会服务和在线约会社区。
5 Religion
包括宗教广告以及倡导或反对宗教观点的广告;不包括占星术或非宗派精神类。
7 Video Games (Casual & Online)
包括视频游戏、在线游戏和可下载的游戏;不包括视频游戏机。
8 Ringtones & Downloadables
铃声等手机内容以及其他可下载的内容,例如适用于台式机的屏保和壁纸以及适用于社交网络的个人资料布局和图片。
10 Get Rich Quick
承诺快速赚钱的方案。
18 Weight Loss
包括减肥、节食及相关产品和计划;不包含健康饮食或一般性健身广告。
19 Cosmetic Procedures & Body Modification
包括整容、吸脂、激光、脱毛、植发、文身和身体修形。
23 Drugs & Supplements:
包括医用药品、维生素、补充剂及相关零售商;不包括提供毒品相关信息的资源。
24 Sexual & Reproductive Health
包括性功能和生殖类广告;不包括常规怀孕资源。
35 Social Casino Games
包括没有机会赢得任何有价物品(例如现金或奖品)的模拟赌博游戏(包括但不限于:扑克、老虎机、宾果、彩票、体育博彩、比赛博彩以及其他牌类游戏和赌场游戏)。
36 Significant Skin Exposure
具有以下特点的广告图片:人体从胸骨到大腿中部的任何部位均无衣物覆盖;或者全身仅穿着内衣、泳装、女式内衣或其他透明衣物,或者穿着毛巾或床单等非衣物物品。
37 Sensationalism
旨在通过激起用户的好奇心(通常使用包含夸张语言或图像的宣传语)来吸引用户点击的广告。包括以耸人听闻为主题(如名人被捕、死亡或离婚)或旨在制造震惊效果的广告。
开放式衡量
借助 Open Measurement,您可以指定提供独立衡量和
验证服务。
目前支持的广告格式包括视频广告、横幅广告和插页式广告。更多信息
如需了解如何在包含这些格式的出价响应中使用 Open Measurement,请参阅 Open Measurement SDK 帮助中心
一篇文章。
出价响应示例
以下各部分显示了不同广告类型的出价响应示例。
应用横幅广告
Google
显示示例
ad {
html_snippet : "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src = \ "https : //test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe> "
adslot {
id : 1
max_cpm_micros : 31014
billing_id : 16751333146
}
click_through_url : "google . com "
attribute : 47
attribute : 50
category : 0
buyer_creative_id : "test_creative_id_173035 "
advertiser_name : "Google "
width : 300
height : 250
impression_tracking_url : "https : //test.com/imp?id=123456 "
event_notification_token : "token "
advertised_app_id : "APP_ID_OMITTED "
app_promotion_type : INSTALLS
}
processing_time_ms : 10
OpenRTB JSON
显示示例
{
"id ": "SwkWZ9w3I3gJ803j84253U ",
"seatbid ": [
{
"bid ": [
{
"id ": "ro22H780p349mF6oe0h ",
"impid ": "1 ",
"price ": 0.04001 ,
"adid ": "test_creative_id_978541 ",
"adm ": "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src = \ "https : //test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>",
"adomain ": [
"google . com "
],
"cid ": "82346236545 ",
"crid ": "test_creative_id_978541 ",
"w ": 390 ,
"h ": 61 ,
"ext ": {
"skadn ": {
"version ": "3.0 ",
"network ": "5 c39728P ",
"campaign ": "10199716 ",
"itunesitem ": "640052147 ",
"sourceapp ": "com . google . testapp ",
"fidelities ": [
{
"fidelity ": 1 ,
"nonce ": "9 b05b355 - a526 - 4 f7c - 9925 - ab5c91b9dbef ",
"signature ": "0 HY71438fqxkY2tqD14kV9DY1q3Fi77sc99e0D97Qo833M266T75c28Y5NM23wiL61WyNCe0277ER5eM32UxaKGf99GUM1jI ",
"timestamp ": "1714079463090 "
},
{
"fidelity ": 0 ,
"nonce ": "9 b05b355 - a526 - 4 f7c - 9925 - ab5c91b9dbef ",
"signature ": "J6RVg1KI31q1lB68f6F16fA07kY93DAYU2IL5ETDuvczR48oMr3S3X9tIohWi4L2VcE0w4mi42o0Mqa174U7o65951z44ru4 ",
"timestamp ": "1714079463090 "
}
]
},
"app_promotion_type ": "INSTALLS ",
"impression_tracking_url ": [
"https : //test.com/impression?id=123456",
"https : //test.com/impression?id=123456 "
]
}
}
],
"seat ": "4372 : 2283 : 725828 "
}
],
"bidid ": "Z8aZJEk4 - r2e3z85n - je52 - q0E586r76K4T "
}
OpenRTB 协议缓冲区
显示示例
id : "m7T91l3qg177P4b39N26W1 "
seatbid {
bid {
id : "5 viGQ43x3HI44d22DW3 "
impid : "1 "
price : 0.040404
adid : "test_creative_id_566440 "
adm : "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src =\ "https :// test . com / ads ? id = 123456 &curl =%% CLICK_URL_ESC %% &wprice =%% WINNING_PRICE_ESC %%\"></ iframe> "
adomain : "google . com "
cid : "67427969102 "
crid : "test_creative_id_566440 "
cat : "IAB3 "
cat : "IAB13 "
w : 320
h : 50
burl : "https :// test . com / imp ? id = 123456 "
[ com . google . doubleclick . bid ] {
billing_id : 67427969102
}
}
seat : "1912 : 1424 : 626226 "
group : false
}
bidid : "38508 qU5 - 957 YGflD - M2rg - 7 B19HjXU00n2 "
cur : "USD "
应用插页式广告
Google
显示示例
ad {
html_snippet : "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src = \ "https : //test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe> "
adslot {
id : 1
max_cpm_micros : 1079285
billing_id : 37034094959
currency : "TWD "
}
click_through_url : "google . com "
attribute : 105
attribute : 47
category : 7
buyer_creative_id : "test_creative_id_903208 "
advertiser_name : "Google "
width : 398
height : 744
impression_tracking_url : "https : //test.com/imp?id=123456 "
impression_tracking_url : "https : //test.com/imp?id=123456 "
event_notification_token : "token "
skadn {
version : "4.0 "
network : "41 dEOEaD "
itunesitem : "151251861 "
sourceapp : "500811620 "
fidelities {
fidelity_type : VIEW_THROUGH_ADS
nonce : "0 c9020f9 - 14 c4 - 4 dcd - 8944 - 23 ab140556a8 "
timestamp : 1714094838257
signature : "p1f6bi578Q0jX163o5ws6n630p142H1v75rziXPtoak952g0Be18230732OkYu7epL9elCJ25078L09G5Mi6u7s7MyO2j5sI "
}
fidelities {
fidelity_type : STOREKIT_RENDERED_ADS
nonce : "0 c9020f9 - 14 c4 - 4 dcd - 8944 - 23 ab140556a8 "
timestamp : 1714094838257
signature : "JFtn495ab0EX97ci69Ru9c39ot9TWn5T0052F4439Y2a9u7zN2do7Q9AH4N584irpJmS8K877980K14iQgO74I33vgx231Cf "
}
skadn_options {
always_open_appstore : true
}
source_identifier : 72
}
}
processing_time_ms : 70
OpenRTB JSON
显示示例
{
"id ": "BQig8glrLj2K7p818w3s0S ",
"seatbid ": [
{
"bid ": [
{
"id ": "v0x1j4q0B388Z5lv600 ",
"impid ": "1 ",
"price ": 0.25109 ,
"adid ": "test_creative_id_654733 ",
"adm ": "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src = \ "https : //test.com/ads?id=123456&curl=%%CLICK_URL_ESC%%&wprice=%%WINNING_PRICE_ESC%%\"></iframe>",
"adomain ": [
"google . com "
],
"cid ": "73848702501 ",
"crid ": "test_creative_id_654733 ",
"w ": 428 ,
"h ": 846 ,
"ext ": {
"skadn ": {
"version ": "4.0 ",
"network ": "43 D4r5x9 ",
"sourceidentifier ": "6217 ",
"itunesitem ": "950280085 ",
"sourceapp ": "com . google . testapp ",
"fidelities ": [
{
"fidelity ": 0 ,
"nonce ": "0 d223af6 - 1847 - 43 aa - 9 f4f - 963 de4468b68 ",
"signature ": "8 fZn83e3d0742gU7E8Ra7Vif4v1vK61X899f7G7q9Dl998035Gq81Zd4r3032814bQ03HP49709yf38n6U35YY29D0w2Ac5B ",
"timestamp ": "1714058970102 "
},
{
"fidelity ": 1 ,
"nonce ": "0 d223af6 - 1847 - 43 aa - 9 f4f - 963 de4468b68 ",
"signature ": "zs0k0e335UoH9M6mp1V228I8JAl2526LCKF0dc2l8x7o4270lsQ37B12Cf91a770RcNqSG7Kl667xsw97Eo4nA23o41h3c0H ",
"timestamp ": "1714058970102 "
}
]
},
"app_promotion_type ": "INSTALLS ",
"impression_tracking_url ": [
"https : //test.com/impression?id=123456",
"https : //test.com/impression?id=123456 "
]
}
}
],
"seat ": "9150 : 1636 : 894279 "
}
],
"bidid ": "taiup4HY - 42 ggR62I - 120 u - 3 kyZ4831M9Yt "
}
OpenRTB 协议缓冲区
显示示例
id : "wqZn032336g5U2Saroj8Lc "
seatbid {
bid {
id : "mTD7EYxAyF6n763v7pJ "
impid : "1 "
price : 0.033932000398635864
adid : "test_creative_id_237493 "
adm : "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src = \"https : // test . com / ads ? id = 123456 &curl =%% CLICK_URL_ESC %% &wprice =%% WINNING_PRICE_ESC %% \"></ iframe >"
adomain : "google . com "
adomain : "google . com "
cid : "42834631855 "
crid : "test_creative_id_237493 "
cat : "IAB2 - 18 "
cat : "IAB20 "
w : 360
h : 711
burl : "https : // test . com / imp ? id = 123456 "
[ com . google . doubleclick . bid ] {
impression_tracking_url : "https : // test . com / impression ? id = 123456 "
attribute : 8
event_notification_token {
payload : "token "
}
billing_id : 42834631855
}
}
}
bidid : "62 i6224k - ada8764U - y4Fi - 2 z760VkR3s35 "
cur : "USD "
应用插页式视频广告
Google
显示示例
ad {
adslot {
id : 1
max_cpm_micros : 5037989
billing_id : 82632801525
currency : "TWD "
}
click_through_url : "google . com "
attribute : 47
category : 7
buyer_creative_id : "test_creative_id_497252 "
advertiser_name : "Google "
width : 720
height : 1280
video_vast_xml : "OMITTED_VAST_XML "
event_notification_token : "token "
advertised_app_id : "APP_ID_OMITTED "
app_promotion_type : INSTALLS
}
processing_time_ms : 70
OpenRTB 协议缓冲区
显示示例
id : "cRPF1960K8WH788KM8ZT5k "
seatbid {
bid {
id : "99862 J52T2r9f8n6hzY "
impid : "1 "
price : 0.2873480215418293
adid : "test_creative_id_958969 "
adm : "https :// video . test . com / ads ? id = 123456 &wprice =%% WINNING_PRICE %% "
adomain : "google . com "
cid : "80831705186 "
crid : "test_creative_id_958969 "
w : 480
h : 854
}
seat : "5731 : 4728 : 218110 "
}
bidid : "dR2wx766 - 444 e907U - Xpv0 - 634 m58Wa5V73 "
cur : "USD "
应用原生
Google
显示示例
ad {
adslot {
id : 1
max_cpm_micros : 1581987
billing_id : 32132054378
}
click_through_url : "google . com "
attribute : 47
attribute : 8
buyer_creative_id : "test_creative_id_285893 "
advertiser_name : "Google "
native_ad {
headline : "Luxury Mars Cruises "
body : "Visit the planet in a luxury spaceship . "
call_to_action : "Book today "
advertiser : "Galactic Luxury Cruises "
image {
url : "https : //native.test.com/image?id=123456 "
width : 800
height : 800
}
logo {
url : "https : //native.test.com/logo?id=123456 "
width : 200
height : 200
}
price : "\ 342 \ 202 \ 254106.40 "
click_link_url : "https : //www.google.com "
}
impression_tracking_url : "https : //test.com/imp?id=123456 "
impression_tracking_url : "https : //test.com/imp?id=123456 "
ad_choices_destination_url : "https : //test.com/preferences "
event_notification_token : "token "
}
processing_time_ms : 20
OpenRTB JSON
显示示例
{
"id ": "3 u95d40fy46B0y3CEL73uy ",
"seatbid ": [
{
"bid ": [
{
"id ": "d501820Aa099K69Ia64 ",
"impid ": "1 ",
"price ": 1.63 ,
"burl ": "https : // test . com / imp ? id = 123456 ",
"adm ": "{ \"assets \": [{ \"id \": 1 , \"required \": 1 , \"title \": { \"text \": \"Luxury Mars Cruises \"}}, { \"id \": 2 , \"required \": 1 , \"data \": { \"value \": \"Visit the planet in a luxury spaceship . \", \"label \": \"\"}}, { \"id \": 3 , \"data \": { \"value \": \"Book today \", \"label \": \"\"}}, { \"id \": 4 , \"required \": 1 , \"data \": { \"value \": \"Galactic Luxury Cruises \", \"label \": \"\"}}, { \"id \": 5 , \"required \": 1 , \"img \": { \"url \": \"https : // native . test . com / image ? id = 123456 \", \"h \": 628 , \"w \": 1200 }}, { \"id \": 6 , \"img \": { \"url \": \"https : // native . test . com / logo ? id = 123456 \", \"h \": 640 , \"w \": 640 }}], \"link \": { \"url \": \"https : // www . google . com \", \"clicktrackers \": [ \"https : // native . test . com / click ? id = 123456 \"]}, \"imptrackers \": [ \"https : // test . com / impression ? id = 123456 &amt =$ { AUCTION_PRICE } \"], \"privacy \": \"\"}",
"adid ": "test_creative_id_237765 ",
"adomain ": [
"google . com "
],
"cid ": "30567639040 ",
"crid ": "test_creative_id_237765 ",
"cat ": [
"IAB8 "
],
"ext ": {
"skadn ": {
"version ": "3.0 ",
"network ": "345 vh5bv ",
"campaign ": "62744790 ",
"itunesitem ": "608550422 ",
"sourceapp ": "com . google . testapp ",
"fidelities ": [
{
"fidelity ": 0 ,
"nonce ": "88 db095e - 1022 - 48 bb - ad38 - 54 a1075886aa ",
"timestamp ": "1714430552729 ",
"signature ": "4063 Vhn5W7oGEcJ202oj6k990Y3H7f9sJ6luK3O65RbQ3S9kp45VK84le4a424c6SU79384DTdXS1cHWcxl9SB98563Y38K9 "
},
{
"fidelity ": 1 ,
"nonce ": "88 db095e - 1022 - 48 bb - ad38 - 54 a1075886aa ",
"timestamp ": "1714430552729 ",
"signature ": "r1852LY7j0f25q2s868j1Ub7r07S16e607BC5909O272F8i528732r22W7D138t3706205Ez139N73Iho3vJKp257Pp4vmet "
}
]
},
"app_promotion_type ": 1 ,
"event_notification_token ": {
"payload ": "token "
}
}
}
],
"seat ": "3512 : 7802 : 295531 "
}
],
"cur ": "USD "
}
OpenRTB 协议缓冲区
显示示例
id : "P3mh232944yQx803R73ayZ "
seatbid {
bid {
id : "79 B1S3h454910R471JL "
impid : "1 "
price : 0.044748470187187195
adomain : "google . com "
cid : "52078759229 "
crid : "test_creative_id_537521 "
cat : "IAB20 "
burl : "https : // test . com / imp ? id = 123456 "
adm_native {
ver : "1.2 "
assets {
id : 1
required : true
title {
text : "Luxury Mars Cruises "
}
}
assets {
id : 5
required : true
img {
url : "https : // native . test . com / image ? id = 123456 "
w : 1200
h : 627
type : MAIN
}
}
assets {
id : 6
required : false
img {
url : "https : // native . test . com / logo ? id = 123456 "
w : 100
h : 100
type : LOGO
}
}
assets {
id : 2
required : true
data {
value : "Visit the planet in a luxury spaceship . "
type : DESC
}
}
assets {
id : 3
required : false
data {
value : "Book today "
type : CTATEXT
}
}
assets {
id : 4
required : true
data {
value : "Galactic Luxury Cruises "
type : SPONSORED
}
}
link {
url : "https : // www . google . com "
clicktrackers : "https : // native . test . com / click ? id = 123456 "
}
eventtrackers {
event : IMPRESSION
method : IMG
url : "https : // test . com / event ? id = 123456 "
}
}
[ com . google . doubleclick . bid ] {
event_notification_token {
payload : "token "
}
billing_id : 52078759229
}
}
seat : "2237 : 7356 : 617887 "
}
cur : "USD "
网络视频
Google
显示示例
ad {
adslot {
id: 1
max_cpm_micros: 16000000
billing_id: 34223090460
deal_id: 17775265
}
click_through_url: "google.com"
attribute: 47
attribute: 8
video_url: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%"
buyer_creative_id: "test_creative_id_551392"
advertiser_name: "Google"
event_notification_token: "token"
}
processing_time_ms: 7
广告交易平台出价工具的移动网站横幅广告
OpenRTB 协议缓冲区
显示示例
id : "878 w58e050dSf05LS9l424 "
seatbid {
bid {
id : "478 u6K990C990n7FPTX "
impid : "1 "
price : 0.03
adm : "<iframe marginwidth = 0 marginheight = 0 height = 600 frameborder = 0 width = 160 scrolling = no src = \"https : // test . com / ads ? id = 123456 &curl =%% CLICK_URL_ESC %% &wprice =%% WINNING_PRICE_ESC %% \"></ iframe >"
adomain : "google . com "
cid : "46483683815 "
crid : "test_creative_id_527097 "
w : 320
h : 50
[ com . google . doubleclick . bid ] {
impression_tracking_url : "https : // test . com / impression ? id = 123456 "
impression_tracking_url : "https : // test . com / impression ? id = 123456 "
event_notification_token {
payload : "token "
}
billing_id : 46483683815
}
}
seat : "6954 : 3639 : 781296 "
}
bidid : "7 a2CAWgt - IKR8mp06 - 0E3 d - TPNq4zO9l767 "
[ com . google . doubleclick . bid_response ] {
processing_time_ms : 120
}