使用条款
Mix-Mind系统公司(以下简称“Mix-Mind”)所有文档,接收者有保密义务。未经Mix-Mind书面许可,任何人或任何机构不得向第三方披露、泄露有关本文件的任何内容或细节。Mix-Mind拥有修改、调整、增补本文件的权利。Mix-Mind系统™和Mix-Mind Systems™及相关延展标识为Mix-Mind公司在中国和/或其他国家或地区的注册商标或商标。
目录
AdExchange
RTB原生广告接口文档
总述
AdExchange
RTB原生广告接口文档是的补充子协议说明文档,包括RTB协议原生广告BidRequest
NativeAd Object对象的定义和说明,以及原生广告投放BidResponse中NativeAd
Object对象的定义和说明。
数据格式符合AdExchange对DSP广告交易平台RTb接口文档中的定义。
原生广告Request定义
NativeAd Object
原生广告的RTB竞价请求NativeAd Object必须包含在Impression
Object。Impression Object只能包含Banner Object、Video Object、NativeAd
Object中的一个对象,不能同时包含。
结构图:
1
字段名称 |
类型 |
描述 |
是否必填 |
assets |
array of objects |
Asset Object数组,描述原生广告展示需要的素材 |
required |
ext |
object |
扩展对象 |
optional |
Asset Object
Asset
Object主要定义了请求中原生广告可以包含的素材特定要求。每项Asset对象只能包含{title,img,video,data}中的某一个类型对象,其他类型的字段必须不存在或这为空。每项Asset对象必须设置不重复的id,用于Bid
Response区分素材。
字段名称 |
类型 |
描述 |
是否必填 |
id |
integer |
由Exchange平台定义的唯一不重复的asset
ID(素材ID),一般是数组中该元素的计数。 |
required |
required |
boolean |
默认为False。设置为True表示该元素必填(Exchange会忽略缺少必填元素的BidResponse返回,视为无效返回) |
optional |
title |
object |
标题内容素材 |
optional |
img |
object |
图片内容素材 |
optional |
video |
object |
视频内容素材 |
optional |
data |
object |
数据内容素材 |
optional |
ext |
object |
扩展对象 |
optional |
nativead.Ext Object
字段名称 |
类型 |
描述 |
是否必填 |
type |
integer |
0:常规信息流 1:普通博文 2:card样式博文 3:不区分类型 |
required |
Title Object
字段名称 |
类型 |
描述 |
是否必填 |
len |
integer |
最大允许的标题字符个数 |
required |
Image Object
字段名称 |
类型 |
描述 |
是否必填 |
type |
integer |
图片类型,详见附录一,默认值1 |
optional |
img_num |
integer |
图片个数,默认值1 |
optional |
w |
integer |
允许图片宽度 |
optional |
h |
integer |
允许图片高度 |
optional |
mimes |
array of strings |
允许的图片类型,例:[“png”,“jpg”] |
optional |
Video Object
字段名称 |
类型 |
描述 |
是否必填 |
mimes |
array of strings |
允许的视频格式,例:[“flv”,“mp4”] |
required |
minduration |
integer |
允许最小视频时长秒数 |
required |
maxduration |
integer |
允许最大视频时长秒数 |
required |
w |
integer |
允许视频宽度 |
optional |
h |
integer |
允许视频高度 |
optional |
Data Object
字段名称 |
类型 |
描述 |
是否必填 |
type |
integer |
数据类型,详见附录二 |
required |
len |
integer |
最大允许的字符个数 |
optional |
NativeAdRequest示例
{
"id": "auction-server-1.2-sandbox-1-t12-1387962585-0-702",
"app": {
"name": "test_app",
"bundle": "com.test.cn",
"cat": [
"IAB1",
"IAB2"
]
},
"device": {
"devicetype": 0,
"ip": "59.108.43.2",
"ua": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36"
},
"user": {
"id": "qfHdV0ez0N10",
"ext": {
"models": [
"10000",
"10002"
]
}
},
"imp": [
{
"id": "00448754623f45c7a245274392213a0f",
"tagid": "319",
"bidfloor": 1,
"nativead": {
"assets": [
{
"id": 1,
"required": true,
"title": {
"len": 30
}
},
{
"id": 2,
"required": true,
"data": {
"type": 3,
"len": 10
}
},
{
"id": 3,
"required": true,
"img": {
"type": 3,
"img_num": 3,
"w": 64,
"h": 64,
"mimes": [
"png",
"jpg" ]
}
},
{
"id": 4,
"required": true,
"video": {
"minduration": 15,
"maxduration": 30,
"w": 640,
"h": 360,
"mimes": [
"mp4"
]
}
},
{
"id": 5,
"required": false,
"data": {
"type": 2,
"len": 10
}
}
]
},
"ext": {
"showtype": 20
}
}
]
}
原生广告Response定义
原生广告的BidResponse接口和内容定义和OpenRTB标准定义相同。原生创意内容通过Bid
Object.adm字段返回,数据格式为URLEncode处理的字符串。
Native Ad Creative Json
原生广告BidResponse.seatbid.bid.adm字段返回的原生创意内容是包含以下定义的json数据。
字段名称 |
类型 |
描述 |
是否必填 |
nativead |
object |
NativeAd Object定义的最外层 |
required |
NativeAd Object
字段名称 |
类型 |
描述 |
是否必填 |
assets |
array of objects |
原生广告的多个素材数组 |
required |
link |
object |
目标连接对象 |
required |
imptrackers |
array of strings |
展示曝光URL数组 |
|
event |
array of objects |
描述 监测事件或监测触发时间点。目前只对视频信息流广告有效。event
object
可以有多个;目前支持event监测事件的视频信息流媒体:今日头条、搜狐;其它视频信息流暂不支持 |
optional |
Asset Object
对应请求中的Asset Object素材要求。BidResponse Asset
Object必须包括Exchange平台或媒体渲染原生广告需要的素材的值。每项Asset对象只能包含{title,img,video,data}中的某一个类型对象,其他类型的字段必须不存在或为空。每项Asset必须对应请求体中的assetID,用于区分素材。
字段名称 |
类型 |
描述 |
是否必填 |
id |
integer |
由Exchange平台定义的唯一不重复的asset
ID(素材ID),对应请求体中的assetID |
required |
required |
boolean |
设置为True表示该元素必填,对应请求体 |
optional |
title |
object |
标题文本内容 |
optional |
img |
object |
图片内容 |
optional |
video |
object |
视频内容 |
optional |
data |
object |
数据内容 |
optional |
link |
object |
不同素材用户行为记录的连接对象,当点击动作执行时调用。如果素材没有定义点击对象,使用上层的NativeAdResponse中的链接地址(目前Mix-Mind平台暂时不处理该字段,不支持素材绑定自定义链接对象) |
optional |
Title Object
字段名称 |
类型 |
描述 |
是否必填 |
text |
string |
标题文本内容 |
required |
Image Object
字段名称 |
类型 |
描述 |
是否必填 |
type |
integer |
图片类型,详见附录一 |
required |
urls |
array of strings |
图片素材地址,返回的图片个数与请求体中的img_num对应,图片尺寸要求相同 |
required |
w |
integer |
图片宽度 |
recommended |
h |
integer |
图片高度 |
recommended |
Video Object
字段名称 |
类型 |
描述 |
是否必填 |
url |
string |
视频素材地址 |
required |
cover_img_url |
string |
视频信息流cover覆盖地址 |
required |
logo_url |
string |
视频信息流广告主logo url |
recommended |
w |
integer |
视频宽度 |
recommended |
h |
integer |
视频高度 |
recommended |
duration |
integer |
视频时长 |
recommended |
vfile_size |
integer |
视频文件大小,单位KB |
recommended |
Data Object
字段名称 |
类型 |
描述 |
是否必填 |
value |
string |
格式化数据文本内容,可以包括格式化的值,比如”$10” |
required |
Link Object
字段名称 |
类型 |
描述 |
是否必填 |
url |
string |
点击跳转URL地址(落地页) |
required |
deeplinkurl |
string |
应用直达URL,当返回了deeplinkurl,优先唤醒本地app,如果无法唤醒,则调用ldp(打开或者下载) 搜狐、腾讯、美团、微博这些媒体投放统一使用物料上传时指定的deeplinkurl,其他媒体投放使用RTB接口实时返回的deeplinkurl |
optional |
ulk |
string |
IOS的universal link 链接 |
optional |
program_id |
String |
微信小程序ID,示例:gh_18991c977786 |
|
program_path |
String |
微信小程序页面路径,示例:pages/remind/questionnaire/index?source=tencent |
|
clicktrackers |
点击监播地址 |
|
optional |
action |
Integer |
信息流广告操作行为:1.download—下载类广告
2.landingpage—打开落地页型广告 4.微信小程序 详见附录三 5.点击不跳转 |
required |
downloadurl |
string |
应用下载类广告下载url,应用下载广告必填 |
required |
pkg_name |
string |
包名,action=1或deeplinkurl!=““时必填 |
|
developer |
string |
开发者公司名称,action=1或deeplinkurl!=““时必填 |
|
appname |
string |
应用名称,action=1或deeplinkurl!=““时必填 |
|
app_desc |
string |
应用描述,action=1或deeplinkurl!=““时必填 |
|
app_ver |
string |
应用版本号,action=1或deeplinkurl!=““时必填 |
|
app_size |
string |
下载类应用文件大小,单位KB,action=1或deeplinkurl!=““时必填 |
|
app_icon |
string |
下载应用图标,action=1或deeplinkurl!=““时必填 |
|
privacy |
string |
下载类应用隐私协议,action=1或deeplinkurl!=““时必填 |
|
app_permission_url |
string |
下载类应用权限url,action=1或deeplinkurl!=““时必填 |
|
intro_url |
string |
Android应用下载介绍页面 |
Android应用下载类required |
app_icp_number |
string |
下载应用备案号 LCP,action=1或deeplinkurl!=““时必填 |
|
event object
字段名称 |
类型 |
描述 |
是否必填 |
t |
float |
描述监测事件节点:0-start、0.25-firstQuartile、0.5-midpoint、0.75-thirdQuartile、1-complete、2-主动播放(只对头条媒体有效)、3-有效结算监测(只对爱奇艺媒体有效)。目前只对视频信息流广告有效。4-deeplink调起成功、5-deeplink调起失败
4、5事件对非视频也有效;下载类事件:6-开始下载、7-下载完成、8-开始安装、9-安装完成、10-应用激活 |
optional |
point |
integer |
描述监测触发秒数(s)。事件节点t=3时,取监测触发秒数;其它事件节点秒数不生效(仍然以事件节点处理) |
|
tm |
array of strings |
事件监测url |
optional |
原生BidResponse示例
{
"id":"auction-server-1.2-sandbox-1-t12-1387962585-0-702",
"bidid":"100002_200004_1000014",
"seatbid":[{
"bid":[{"adm":"%7b%22nativead%22%3a%7b%22imptrackers%22%3a%5b%22http%3a%2f%2ftest.xxx.com%3fid%3d%24%7bAUCTION_ID%7d%26bidid%3d%24%7bAUCTION_BID_ID%7d%26impid%3d%24%7bAUCTION_IMP_ID%7d%26price%3d%24%7bAUCTION_PRICE%7d%22%2c%22http%3a%2f%2fa.com%2fa%22%2c%22http%3a%2f%2fb.com%2fb%22%5d%2c%22link%22%3a%7b%22url%22%3a%22deeplink%3a%2f%2fdeeplink%2furl%2finto%2fapp%22%2c%22clicktrackers%22%3a%5b%22http%3a+%2f%2fa.com%2fa%22%2c%22http%3a+%2f%2fb.com%2fb%22%5d%7d%2c%22event%22%3a%5b%7b%22tm%22%3a%5b%22http%3a%2f%2ftest1%22%2c%22http%3a%2f%2ftest2%22%5d%2c%22t%22%3a0%7d%5d%2c%22assets%22%3a%5b%7b%22id%22%3a1%2c%22title%22%3a%7b%22text%22%3a%22Install+BOA%22%7d%7d%2c%7b%22id%22%3a2%2c%22data%22%3a%7b%22value%22%3a5%7d%7d%2c%7b%22id%22%3a3%2c%22img%22%3a%7b%22url%22%3a%5b%22http%3a%2f%2fcdn.mobad.com%2fad.png%22%2c%22http%3a%2f%2fimg2.com%22%5d%2c%22w%22%3a1200%2c%22h%22%3a627%7d%7d%2c%7b%22id%22%3a4%2c%22video%22%3a%7b%22url%22%3a%22http%3a%2f%2fvideo.com%22%2c%22cover_img_url%22%3a%22http%3a%2f%2fimg.com%22%2c%22w%22%3a640%2c%22h%22%3a480%2c%22duration%22%3a15%7d%7d%2c%7b%22id%22%3a5%2c%22data%22%3a%7b%22value%22%3a%22Click%22%7d%7d%5d%7d%7d",
"id":"100002_200004_1000014_0",
"impid":"297902be955e49a291bcc44c7f13448c",
"nurl":"",
"price":600,
"crid":"1000014",
"ext":{
"ldp":"",
"pm":[],
"cm":[]
}
}]
}]
}
NativeAdResponse
in BidResponse.adm Field示例
{
"nativead": {
"imptrackers": [
"http://test.xxx.com?id=${AUCTION_ID}&bidid=${AUCTION_BID_ID}&impid=${AUCTION_IMP_ID}&price=${AUCTION_PRICE}",
"http://a.com/a",
"http://b.com/b"
],
"link": {
"url": "deeplink://deeplink/url/into/app",
"clicktrackers": [
"http: //a.com/a",
"http: //b.com/b"
]
},
"event": [
{
"tm": [
"http://test1",
"http://test2"
],
"t": 0
}
],
"assets": [
{
"id": 1,
"title": {
"text": "Install BOA"
}
},
{
"id": 2,
"data": {
"value": 5
}
},
{
"id": 3,
"img": {
"urls": [
"http://cdn.mobad.com/ad.png",
"http://img2.com"
],
"w": 1200,
"h": 627
}
},
{
"id": 4,
"video": {
"url": "http://video.com",
"cover_img_url": "http://img.com",
"logo_url": "http://img.com"
"w": 640,
"h": 480,
"duration": 15
}
},
{
"id": 5,
"data": {
"value": "Click"
}
}
]
}
}
DSP投放
新浪微博信息流资源协议注意点
(具体请求和响应参见下面示例)
- BidRequest
nativead.Ext Object
字段 |
类型 |
描述 |
是否必填 |
type |
Integer |
0:常规信息流 1:普通博文 2:card样式博文 3:不区分类型
type=1,type=2,type=3为新浪微博信息流请求(默认 type=3) |
必填 |
2.BidResponse
字段 |
处理 |
adm |
adm字段返回监测信息,创意信息不用返回 |
crid |
DSP平台的创意ID必须返回 |
ext.ldp |
新浪微博投放忽略该字段 |
ext.pm |
新浪微博投放忽略该字段,曝光监测返回通过bidresponse.adm.nativead.imptrackers |
ext.cm |
新浪微博投放忽略该字段,点击监测返回通过bidresponse.adm.nativead.link.clicktrackers |
BidRequest示例
{
"id": "y051-test-t24-1468814385-0-290",
"device": {
"ip": "10.209.65.168",
"ua": "",
"didmd5": "bb4348834cb9c00032273700a09310f0",
"model": "Xiaomi_MINOTELTE",
"os": "Android",
"osv": "4.4.4",
"connectiontype": 2,
"devicetype": 1
},
"user": {
"id": "",
"ext": {
"models": []
}
},
"app": {
"name": "weibo",
"content": {
"ext": {
"copyright": 0,
"quality": 2
}
},
"cat": [],
"itid": "iamappidinwax"
},
"imp": [
{
"id": "c266d749041a4d33865c6aaadcaf6d82",
"tagid": "577",
"bidfloor": 100,
"ext": {
"showtype": 11,
"has_winnotice": 1,
"has_clickthrough": 0
},
"pmp": {
"deals": [
{
"id": "301730",
"at": 1,
"bidfloor": 1000,
"wseat": [
"Mix-Mind",
"人民网"
]
}
],
"private_auction": 0
},
"nativead": {
"ext": {
"type": 3
}
}
}
]
}
BidResponse示例
{
"id": "y051-test-t24-1470101319-0-580",
"seatbid": [
{
"bid": [
{
"id": "y051-test-t24-1470101319-0-580_45f2518289ec4b1da2b8a5fb07e6fbf8",
"impid": "45f2518289ec4b1da2b8a5fb07e6fbf8",
"price": 13,
"adm": "%7B%22nativead%22%3A%7B%22link%22%3A%7B%22url%22%3A%22http%3A%2F%2Fwww.sina.com%22%2C%22clicktrackers%22%3A%5B%22http%3A%2F%2Fclick1.com%22%5D%2C%22action%22%3A2%7D%2C%22imptrackers%22%3A%5B%22http%3A%2F%2Fimp1.com%22%5D%7D%7D",
"crid": "133",
"ext": {
"ldp": "http://www.sina.com",
"pm": [],
"cm": []
}
}
]
}
],
"bidid": "bid_response_y051-test-t24-1470101319-0-580"
}
adm decode 结果:
{
"nativead": {
"link": {
"url": "http://www.sina.com",
"clicktrackers": [
"http://click1.com"
],
"action": 2
},
"imptrackers": [
"http://imp1.com"
]
}
}
附录一-图片素材类型
类型ID |
名称 |
描述 |
1 |
Icon |
Icon图片 |
2 |
Logo |
Logo图片 |
3 |
Main |
广告大图 |
附录二-数据类型
1-12为OpenRTB定义,50x为Exchange平台自定义类型。
类型ID |
名称 |
类型描述 |
数据格式 |
1 |
sponsored |
赞助商名称 |
文本 |
2 |
desc |
广告描述文本 |
文本 |
3 |
rating |
广告产品的评级,比如 APP评级的是0-5 |
数字 |
4 |
likes |
用户喜欢评级 |
数字 |
5 |
downloads |
下载量或安装量 |
数字 |
6 |
price |
产品/APP/应用内价格,显示时加上本地价格单位。 |
数字 |
7 |
saleprice |
售价,可能是price的折扣价,显示时加上本地价格单位 |
数字 |
8 |
phone |
电话号码 |
格式化文本 |
9 |
address |
地址 |
文本 |
10 |
desc2 |
附加广告描述文本 |
文本 |
11 |
displayurl |
广告上显示出对应的广告内容网址 |
文本 |
12 |
ctatext |
动作行为按钮显示文本 |
文本 |
501 |
ad_text |
广告语,搜狐APP开屏资源必填 |
文本 |
502 |
share_text |
分享语,搜狐APP开屏资源必填 |
文本 |
503 |
appname |
app名称,APP下载类广告必填 |
文本 |
504 |
package_name |
包名称或BundleID,APP下载类广告必填 |
文本 |
505 |
store |
APP应用来源,Google Play或者AppStore |
文本 |
506 |
app_size |
应用大小,APP下载类广告必填 |
文本 |
507 |
app_ver |
应用版本,APP应用下载类广告必填 |
文本 |
508 |
itunesID |
iOS_APP_Store_ID,iOS下载类应用必填 |
文本 |
目前Mix-Mind平台媒体资源信息流展示需要的Data数据类型: 1-sponsored
2-desc 503-appname 504-package name 505-store 506-app_size 507-app_ver
508-itunesID
信息流展示需要的Data数据类型—搜狐开屏资源需要以下Data数据类型:
501-ad_text 502-share_text
附录三-Action
ID |
名称 |
类型描述 |
1 |
download |
下载类广告 |
2 |
landingpage |
打开落地页型广告 |
3 |
deeplink |
deeplink类型广告 |
4 |
小程序 |
微信小程序 |
5 |
点击不跳转 |
点击不跳转 |
END.
native.png