文档

​
​

Development

User Acquisition

Monetization

工业

增长

Unity Ads Android SDK

Unity Ads iOS SDK

LevelPlay SDK

打开 Unity Dashboard(Unity 后台)

增长

Programmatic Ads
​
​
概览
  • Unity Exchange 简介
  • 开始使用 Unity Exchange
集成
  • 集成指南
  • 广告请求
  • 广告返回
    • 竞价失败通知
广告素材格式
  • 广告素材格式指南
  • 视频广告
  • 展示性广告
  • 横幅广告
  • 试玩广告
广告体验
  • 广告体验指南
  • Auto StoreKit
  • SKOverlay
  • 自定义产品页面
  • 可点击视频
  • 深度链接
  • 号召性用语文本支持
Unity 程序化广告后台
  • 程序化广告后台概述
  • 开始使用
  • 测试广告返回
隐私
  • 隐私概述
  • 数据隐私
  • iOS SKAdNetwork 支持
参考
  • IAB 类别映射
  • 常见问题解答
  1. 实现游戏增长
  2. 程序化广告服务
  3. Unity Exchange 简介

广告返回

帮助需求合作伙伴构建符合广告竞价和广告投放要求的有效响应。
阅读时间29 分钟
最后更新于 2 天前

对于广告返回数据,Unity 支持 JSON 格式。标准 JSON 表示法的 MIME 类型为
application/json
,并在
HTTP
标头字段中指定为:
contentType: application/json
应用程序收到对其专用终端的广告请求后,应用程序必须在最大 200 毫秒内发出广告返回或指示无出价。Unity 在请求中发送 Accept-Encoding GZIP 压缩数据,推荐的最佳实践是对响应进行压缩。如需了解更多信息,请参阅 OpenRTB 规范的第 2.4 节。
注意
推荐的最佳实践是 DSP 服务器(包括负载均衡器)激活 HTTP 持久连接(也称为 Keep-Alive),并预防自动
IdleConnTimeout
至少 90 秒。此功能对整体性能意义重大,既可以减少联机管理费用,也可以提高接口两端的 CPU 利用率。
以下部分将详细介绍响应对象及其属性。描述字段指出了必需的属性。推荐的最佳实践是包含所有属性。

响应对象

一种描述出价者对广告请求的响应的对象类。

属性

类型

示例

描述

id
字符串
"id":"7jrUifdKuw3HDIR9dbqDVJ"
Unity 生成的 ID,随广告请求一起传递,需要随广告返回一起发回。
重要
此属性为响应中的必填项。
cur
字符串
"cur": "USD"
使用 ISO 货币代码表示的货币类型。Unity 支持美元 (
USD
) 以及其他货币(如
CNY
)。确保此字段与
adsource
配置中定义的货币字段匹配,并且
exchange_rate
不为空,否则 Unity 将忽略广告返回。
重要
此属性为响应中的必填项。
bidid
字符串
"bidid": "CHYr9b0ODI8OGLpedtfCpuCH"
出价者生成的响应 ID,有助于进行记录和追踪。
nbr
整型
"nbr": 6
拒绝出价的原因。如需查看支持值的完整列表,请参阅 OpenRTB API 指南中的表 5.24。另请参阅有关无广告返回的部分。
seatbid
对象数组如需了解更多信息,请参阅有关
seatbid
对象
的部分。
Unity Exchange 允许在一个响应中存在多个
seatbid
对象,但目前仅仅只会使用一个
seatbid
对象数组。选择的 seatbid 对象包含一个等于
impression.id
的
bid.id
。如果多个
seatbid
对象均满足此条件,Unity Exchange 则会随机选择其中一个。
重要
此属性为响应中的必填项。

seatbid 对象

一种包含
bid
对象
数组(允许合作伙伴代表多个帐户进行出价)的对象类。

属性

类型

示例

描述

bid
对象数组如需了解更多信息,请参阅有关
bid
对象
的部分。
一个或多个出价。进行多个出价时,请包含最高出价以最大限度赢得广告竞价。
重要
此属性为响应中的必填项。
seat
字符串
"seat": "1234"
买家席位的 ID,或委托您代表出价的广告主或代理商。
重要
此属性为响应中的必填项。

bid 对象

一种包含买家出价相关信息的对象类。

属性

类型

示例

描述

id
字符串
"bidid": "1234567890123456789"
出价者生成的出价 ID,有助于进行记录和追踪。
重要
此属性为响应中的必填项。
impid
字符串
"impid": "1"
与此出价相关的广告展示的 ID。该值与广告请求中提供的广告展示 ID 匹配。
重要
此属性为响应中的必填项。
price
浮点
"price": 0.78
以每千次广告展示成本 (CPM) 为单位的出价。Unity Exchange 会忽略等于或小于零的值或加密的值。
重要
此属性为响应中的必填项。
注意
Unity 最多接受三位小数位,但首选两位。
adid
字符串
"adid": "12345678"
出价获胜时由出价者生成的待投放预加载广告 ID。
nurl
字符串
"nurl":"https://bidder.com/win?${AUCTION_PRICE}"
当广告向用户展示时,Unity 会触发该获胜通知 URL。此属性仅用于可计费广告展示计数器。
注意
Unity 会在展示广告时触发
nURL
,并用实际的中标价格替换出价宏 (
${AUCTION_PRICE}
)。
重要
当响应中没有
bURL
时,此属性是唯一的 Unity Exchange 要求。
burl
字符串
"burl": "https://fake-test.com/imp?${AUCTION_PRICE}"
当中标出价可计费时,由 Unity Exchange 调用的计费通知 URL。该操作基于广告交易平台特有的业务政策。可包括替换宏。
重要
当响应中没有
imptrackers
属性时,此属性是唯一的 Unity Exchange 要求。
注意
Unity 会在展示广告时触发
bURL
,并用实际的中标价格替换出价宏 (
${AUCTION_PRICE}
)。
iurl
字符串
"iurl": "https://secure-datacenter.dsp.com/cr?id=12345678"
连接到代表广告系列内容图片(用于广告质量和安全性检查)的 URL,未缓存。
cid
字符串
"cid": "1234"
出价者生成的广告系列 ID,用于协助进行广告质量检查。
iURL
图像应表示该内容集合。
crid
字符串
"crid": "12345678"
合作伙伴提供的广告素材 ID,有助于进行广告质量检查。
dealid
字符串
"dealid": "Unity-MM-0034"
直接交易(如果适用)的唯一标识符。
注意
此 ID 必须与广告请求中发送的交易 ID 匹配。
cat
字符串数组
"cat": ["IAB3-12", "IAB21-2", "IAB10-9" "NEX3-102"]
适用于广告素材的 IAB 内容类别。如需查看支持值的完整列表,请参阅 OpenRTB API 指南中的表 5.1。
重要
此属性为响应中的必填项。
adm
字符串如需了解更多示例,请参阅广告返回示例部分。
出价获胜时用于传达广告标记的属性。
重要
此属性为响应中的必填项。
adomain
字符串数组
正确:
  • "adomain": ["yourgame.com"]
  • "adomain": ["studio.yourgame.com"]
错误:
  • "adomain": ["yourgame.com/something"]
  • "adomain": ["www.yourgame.com"]
广告主域名,用于检查屏蔽列表。广告素材不可轮换,并且只允许一个域名。格式必须仅是根域名,不含协议(请注意,如果不是“www”,则可以包括子域名)。
重要
此属性为响应中的必填项。
bundle
字符串
Google 示例:
  • "bundle": "com.unityexample.game"
Apple 示例:
  • "1198634425"
平台特定的应用程序标识符(Apple App Store 或 Google Play 的 Store ID),是应用程序唯一的标识,且与广告交易平台无关。此功能也可用于检查广告质量。
重要
对于应用程序广告,此属性是唯一的 Unity Exchange 要求。
attr
整型数组
"attr": [1, 13]
一个描述广告素材的属性的数组。如需查看支持值的完整列表,请参阅 OpenRTB API 指南中的表 5.3。
w
整型
"h": 568
广告素材的宽度(以设备独立像素 (DIPS) 为单位)。
重要
对于横幅广告,此属性必填。对于其他广告类型,非必填但建议使用。
h
整型
"w": 320
广告素材的高度(以设备独立像素 (DIPS) 为单位)。
重要
对于横幅广告,此属性必填。对于其他广告类型,非必填但建议使用。
api
整型
"api":7
此广告展示支持的 API 框架。值为
7
表示支持 Open Measurement (OM)。有关更多信息,请参阅有关 OM 扩展 的文档。

bid.ext objects

一种用于扩展
bid
对象的对象子类。
重要
为了在 iOS14 中支持 SKAdNetwork,您必须将 ext 属性添加为对象。

属性

类型

示例

描述

appid
字符串
"appid": "1234567890123"
推广的应用的 App Store ID(如果适用)。如需进一步了解如何查找 App Store ID,请参阅 Unity Ads Monetization(变现)后台文档中有关 Store ID 的内容(/grow/dashboard/get-started/project/settings#store-ids)。
appname
字符串
"appname": "Example Game"
推广的应用程序的应用程序名称(如果适用)。
storeurl
字符串
"storeurl": "https://itunes.apple.com/us/app/trash-dash/id1198634425?mt=8"
推广的应用程序的 App Store URL(如果适用)。
重要
对于应用程序广告,此属性是唯一的 Unity Exchange 要求。
imptrackers
字符串数组
["https://ad.doubleclick.net/ddm/trackimp","https://dsp.com/amet?et=show&id=60e47b64b59Q"]
一系列广告展示追踪器(用于第一方和第三方),在 Unity 记录可计费广告展示事件时做同步追踪。可用于代替
bURL
。
重要
当响应中没有
burl
属性时,此属性是唯一的 Unity Exchange 要求。
length
整型
"length": 15
以秒为单位的视频长度(如果适用)。
crtype
字符串
"crtype": "VAST 3.0"
广告资源的广告素材类型。以下类型有效:
  • VAST
  • VAST 2.0
  • VAST 3.0
  • VAST 4.0
  • VAST VPAID
  • MRAID playable
  • MRAID 2.0
  • BANNER
  • HTML
  • HTML5
  • JS
重要
这些值不区分大小写。此属性为响应中的必填项。
ext.skadn.skoverlay.show
整数
1
指示是否显示 SKOverlay。
  • 1
    表示是。
  • 0
    表示否。
重要
在 show(显示)= 1 且其余属性为空的情况下,Unity 显示默认值。
ext.skadn.skoverlay.position
整数
1
指示 SKOverlay 的位置。
  • 0
    表示底部。
  • 1
    表示底部凸起。
  • 默认值为 0。
ext.skadn.skoverlay.dismissable
整数
1
指示用户是否可以关闭 SKOverlay。
  • 0
    表示否(静态)。
  • 1
    表示是(可关闭)。
  • 默认值为 1。
ext.skadn.skoverlay.video_delay
整数
1
指示显示 SKOverlay 前的延迟时间(以秒为单位),0 表示立即显示。
  • 默认值为 5,最大值为 60。
ext.skadn.productpageid
字符串
00d00d1e-ff93-67fc-653f-8ggd1eeghcdf
请参阅 Apple 的配置多个产品页面版本,以了解更多信息。
ext.skadn.ext.ask
整数
1
表示不同版本的 Auto Storekit。
  • 1
    表示当用户跳过视频时显示 Storekit。通过跳过操作打开 Storekit 时不会发送点击事件。
  • 2
    表示当用户跳过视频或结束观看视频时显示 Storekit。通过跳过操作打开 Storekit 时不会发送点击事件。
  • 3
    表示当用户跳过视频时显示 Storekit。通过跳过操作打开 Storekit 时,将发送点击事件。
  • 4
    表示当用户跳过视频或结束观看视频时显示 Storekit。通过跳过操作打开 Storekit 时,将发送点击事件。
ext.clickablevideo
整数
1
指示是否启用可点击视频体验。
  • 1
    表示是。
  • 0
    表示否。

广告返回示例

试玩广告响应

{ "id": "7jrUifdKuw3HDIR9dbqDVJ", "seatbid": [{ "bid": [{ "id": "1234567890123456789", "impid": "1", "price": 0.78, "adid": "12345678", "nurl": "https://secure-datacenter.dsp.com/ab?e=wqT_3FL5gUgASotCQAAAQZjkxNjQ.\\u0026referrer=play.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.any.game\\u0026pp=${AUCTION_PRICE}\\u0026label=nurl", "burl": "https://secure-datacenter.dsp.com/ab?e=wqT_3FL5gUgASotCQAAAQZjkxNjQ.\\u0026referrer=play.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.any.game\\u0026pp=${AUCTION_PRICE}\\u0026pplabel=burl", "adm": "<img src=\"https://my.impression.com/custom/pixel?1234%3D\" style=\"display: none;\">\n <a href=\"https:/my.custom.click/event?&partner=myDSP\"><div style=\"position: fixed; top:0; left:0; width:100vw; height: 100vh; background-position: center center; background-image: url('https://ex_assets.com/ad_assets/files/000/897/403/original/.jpg?c=1595511733'); background-size: contain;\"> </Important>ript type=\"application/javascript\"> bmTrackViewableChange=function(e){mraid.addEventListener(\"viewableChange\",function(){console.log(\"empty viewableChange.....event\")}),e&&bmSendImpression()},bmSubscribeViewableEvent=function(){bmSendFill(),bmSubscribeClickEvent(),mraid.addEventListener(\"ready\",function(){console.log(\"empty ready event\")}),mraid.isViewable()?bmSendImpression():(mraid.addEventListener(\"viewableChange\",function(){}),mraid.addEventListener(\"viewableChange\",bmTrackViewableChange))},bmSubscribeClickEvent=function(){window.addEventListener(\"click\",function(e){bmSendClick()},!1)};bmAddContextToUrl(),\"loading\"===mraid.getState()?(mraid.addEventListener(\"ready\",function(){}),mraid.addEventListener(\"ready\",bmSubscribeViewableEvent)):bmSubscribeViewableEvent();\n</script>", "adomain": ["viaplay.fi"], "bundle": "com.unityexample.game", "iurl": "https://secure-datacenter.dsp.com/cr?id=12345678", "cid": "1234", "crid": "12345678", "cat": ["IAB3-12", "IAB3-8", "IAB21-2", "IAB10-9", "IAB3", "NEX3-101", "IAB3-11", "IAB3-10", "NEX3-102", "IAB3-5", "IAB3-6"], "attr": [], "h": 320, "w": 480, "appcategory": ["Games"], "appsubcategory": ["Adventure", "Action"], "ext": { "appname": "Example Game", "storeurl": "https://play.google.com/store/apps/details?id=com.unityexample.game", "crtype": "PLAYABLE" } }], "seat": "1234" }], "bidid": "CHYr9b0ODI8OGLpedtfCpuCH", "cur": "USD",}

VAST 响应

{ "id": "7jrUifdKuw3HDIR9dbqDVJ", "bidid": "CHYr9b0ODI8OGLpedtfCpuCH", "cur": "USD", "seatbid": [{ "seat": "Example Partner", "bid": [{ "impid": "1", "adomain": ["examplegame.com"], "iurl": "https://secure-datacenter.dsp.com/cr?id=12345678", "crid": "12345678", "cid": "1234", "adid": "87654321", "cat": ["IAB9-25", "IAB9-25"], "bundle": "com.unityexample.game", "attr": [], "h": 568, "w": 320, "id": "unrtb-com.unityexample.game-320x568-1ADJE5D8721B3-453S-9DYA-B0AVD69AA1A1", "price": 15.04, "nurl": "https://secure-datacenter.dsp.com/ab?e=wqT_3FL5gUgASotCQAAAQZjkxNjQ.\\u0026referrer=play.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.any.game\\u0026pp=${AUCTION_PRICE}\\u0026label=nurl", "burl": "https://secure-datacenter.dsp.com/ab?e=wqT_3FL5gUgASotCQAAAQZjkxNjQ.\\u0026referrer=play.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.any.game\\u0026pp=${AUCTION_PRICE}\\u0026pplabel=burl", "adm": "<?xml version=\"1.0\"?><VAST version=\"2.0\"><Ad id=\"179e7ee9\"><InLine><AdSystem>yourdsp</AdSystem><Error><![CDATA[https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=err]]></Error><Impression><![CDATA[https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=1234567890&adgroupID=180968&ra=&code=impression]]></Impression><Creatives><Creative AdID=\"179e7ee9\"><Linear><Duration>00:00:15</Duration><TrackingEvents><Tracking event=\"skip\"><![CDATA[https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123456789&adgroupID=180968&ra=&code=skip&s=]]></Tracking><Tracking event=\"engagedView\"><![CDATA[https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123456789&adgroupID=180968&ra=&code=engagedView&s=]]></Tracking><Tracking event=\"creativeView\"><![CDATA[https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=creativeView&s=]]></Tracking><Tracking event=\"start\"><![CDATA[https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=start&s=]]></Tracking><Tracking event=\"firstQuartile\"><![CDATA[https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=firstQuartile&s=]]></Tracking><Tracking event=\"midpoint\"><![CDATA[https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=midpoint&s=]]></Tracking><Tracking event=\"thirdQuartile\"><![CDATA[https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=thirdQuartile&s=]]></Tracking><Tracking event=\"complete\"><![CDATA[https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=complete&s=]]></Tracking></TrackingEvents><VideoClicks><ClickThrough><![CDATA[https://c.yourdsp.com/ads/c.php?a=unrtb&b=unrtb-com.catchall.game-320x568&c=179e7ee9&d=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&ct=0&nb=0&its=1499375139&gf=https%3A%2F%2Fcdngs.yourdsp.com%2F1028%2F768x1024_Unsub_NewGame_Video_All_ZHCN_MZCA02xbqA4.ipad_20170629_09_44_11_.mp4&f=&ra=&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&campaignID=123184311&adgroupID=180968&adgroup=NewGame_iOS_NL&defcpa=0&defcpc=0&appid=1186994231&creativeID=329c8ef3&adType=5&countrycode=NL&ccimpid=X96142d9408c8a40179e7ee907061405&accountid=1028&siteaccountid=4917655231945&pubappid=&sg=&it=&inf=0&price=0.04800847457627119&cg=New,Set&creativeID=329c8ef3]]></ClickThrough><ClickTracking><![CDATA[https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=click]]></ClickTracking></VideoClicks><MediaFiles><MediaFile delivery=\"progressive\" type=\"video/mp4\" bitrate=\"500\" width=\"768\" height=\"1024\" scalable=\"true\" maintainAspectRatio=\"true\"><![CDATA[https://cdngs.yourdsp.com/1028/768x1024_Unsub_NewGame_Video_All_ZHCN_MZCA02xbqA4.ipad_20170629_09_44_11_.mp4]]></MediaFile></MediaFiles></Linear></Creative><Creative AdID=\"179e7ee9\"><CompanionAds><Companion width=\"768\" height=\"1024\"><StaticResource creativeType=\"image/jpeg\"><![CDATA[]]></StaticResource><TrackingEvents><Tracking event=\"creativeView\"><![CDATA[https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=engagedView]]></Tracking></TrackingEvents><CompanionClickThrough><![CDATA[https://c.yourdsp.com/ads/c.php?a=unrtb&b=unrtb-com.catchall.game-320x568&c=179e7ee9&d=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&ct=0&nb=0&its=1499375139&gf=https%3A%2F%2Fcdngs.yourdsp.com%2F1028%2F768x1024_Unsub_NewGame_Video_All_ZHCN_MZCA02xbqA4.ipad_20170629_09_44_11_.mp4&f=&ra=&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&campaignID=123184311&adgroupID=180968&adgroup=NewGame_iOS_NL&defcpa=0&defcpc=0&appid=1186994231&creativeID=329c8ef3&adType=5&countrycode=NL&ccimpid=X96142d9408c8a40179e7ee907061405&accountid=1028&siteaccountid=4917655231945&pubappid=&sg=&it=&inf=0&price=0.04800847457627119&cg=New,Set&creativeID=329c8ef3]]></CompanionClickThrough></Companion></CompanionAds></Creative></Creatives></InLine></Ad></VAST>", "ext": { "advertisername": "One Cool Advertiser", "appid": "1234567890123", "appname": "Example Game", "storeurl": "https://itunes.apple.com/us/app/trash-dash/id1198634425?mt=8", "length": 15, "crtype": "VAST" "clickablevideo": 1, "deeplinking": 1, "cta_text": "Shop Now", "skadn": { "ext": { "ask": 2 }, "productpageid": "00d00d1e-ff93-67fc-653f-8ggd1eeghcdf", "skoverlay": { "show": 1, "position": 0, "dismissable": 0, "video_delay": 5, } } } }] }] }

无广告返回 (NBR)

对于无出价,Unity Exchange 支持多种响应类型。使用这些响应之一来明确表示您希望不对广告展示出价对于我们来说很重要,否则该响应可能会被认为是超时错误。

响应

示例

无内容
HTTP 204 No Content
空 JSON 对象
{}
格式正确的广告返回(带有或不带有原因代码)
{"id": "1234567890", "seatbid": {}, "nbr": 2}
其他
  • 200 OK
  • 302 Redirect
如需了解更多信息,请参阅 OpenRTB 规范的第 7.1 节。

NBR 原因代码

值

描述

0
未知错误
1
技术错误
2
无效请求
3
已知的网络蜘蛛
4
疑似非人为流量
5
云端、数据中心或代理 IP
6
不受支持的设备
7
屏蔽的发布者或站点
8
不匹配的用户

价格加密处理

发送
nURL
时,推荐的最佳实践是用
${AUCTION_PRICE:BF}
值实施加密处理,以确保敏感价格信息在客户端的安全。这是可选功能。

方法

为了对数据进行加密处理,Unity 在 ECB 模式下使用 Blowfish,将 PKCS5 填充(8 字节块大小的 PKCS7 填充)应用于输入数据。然后对数据进行 base64 URL 编码,使二进制数据在 URL 中有效。可根据需要索取源代码以进行故障排除。
base64_URLEncode(blowfish_ecb_encrypt_pkcs5_padding(plaintext))

参数

示例值

key
"encryption_key"
plaintext
"10.20"
encrypted、base64 URL encoded
"z5eznndAkpE="
注意
Unity 在实际生产环境中使用不同的加密密钥。

解密

要解密数据,对输入字符串应进行 base64 URL 解码。然后,从加密的数据中移除 PKCS5 填充,再逆向处理 Blowfish ECB 加密。
blowfish_ecb_decrypt_pkcs5_padding(base64_URLDecode(encodedtext))

Copyright © 2026 Unity Technologies
法律信息隐私政策CookiesDocumentation Terms of Use请勿出售或分享我的个人信息您的隐私选择(Cookie 设置)

“Unity”、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属公司在美国和其他地方的商标或注册商标(此处查看更多信息)。其他名称或品牌是其各自所有者的商标。

为方便起见,一些页面是机器翻译的,可能包含不准确的内容。如有信息不一致的情况,以英文版本为准。

  • 在本页上
    • 响应对象

    • seatbid 对象

    • bid 对象

      • bid.ext objects

    • 广告返回示例

      • 试玩广告响应

      • VAST 响应

    • 无广告返回 (NBR)

      • NBR 原因代码

    • 价格加密处理

      • 方法

      • 解密


报告此页面的问题