-
Notifications
You must be signed in to change notification settings - Fork 28
/
rtb.proto
225 lines (187 loc) · 8.35 KB
/
rtb.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
//Copyright 2019 iwanvi.com All right reserved.
syntax = "proto2";
option java_outer_classname = "NvwaRtb";
option java_package = "com.iwanvi.nvwa.rtb.proto";
package com.iwanvi.nvwa.rtb.proto;
//竞价请求对象
message BidRequest {
required string id = 1; //竞价请求id, 由adx自动生成
repeated Imp imp = 2;
//站点对象, 网站流量使用
optional Site site = 3;
//移动应用,移动app流量使用
optional App app = 4;
//设备对象
optional Device device = 5;
//用户对象
optional User user = 6;
optional bool test = 7;
//竞价方式:1-一价;2-二价
optional uint32 at = 8;
//扩展字段
//map<string, string> ext = 9;
//保留扩展,扩展协议字段编号
extensions 200 to 299;
message Imp {
required string id = 1;
optional Banner banner = 2;
optional Video video = 3;
//oneof ad {
// Banner banner = 2; //Banner广告(图片广告)
// Video video = 3; //视频广告
//}
optional Pmp pmp = 6; //私有竞价相关定义
optional string tagid = 7; //媒体广告位id,由Ad-Exchange定义
optional float bidfloor = 8; //媒体广告位底价
optional string bidfloorcur = 9;
//是否使用https, 0-不启用安全链接, 1-启用安全链接
optional uint32 secure = 10;
optional bool is_native_ad = 12; //是否原生广告,原生广告dsp平台可以根据tagid来进行匹配
//map<string, string> ext = 11; //扩展字段
optional NativeAd nativeAd = 13; //原生广告请求
//protobuf扩展
extensions 200 to 299;
//图片广告位请求定义
message Banner {
optional uint32 w = 1; //banner广告位宽
optional uint32 h = 2; //banner广告位高
optional uint32 pos = 3; //广告位置
repeated string mimes = 4; //广告位支持mime类型
//如:image/jpeg
//协议扩展定义
extensions 200 to 299;
}
//视频广告位请求定义
message Video {
repeated string mimes = 1; //支持媒体类型
optional uint32 minduration = 2; //视频最小时长
optional uint32 maxduration = 3; //视频最大时长
optional uint32 w = 4; //视频宽
optional uint32 h = 5; //视频高
//协议保留扩展
extensions 200 to 299;
}
message NativeAd {
//原生广告位规格id, 同一个原生广告广告位同时可能支持多种广告样式
repeated string template_id = 1;
}
//私有竞价定义
message Pmp {
repeated Deal deals = 1;
//协议扩展定义
extensions 200 to 299;
message Deal {
//私有化交易id
required string id = 1;
}
}
}
//end imp
message App {
optional string id = 1; //appid, 由Ad-Exchange定义
optional string name = 8;
optional string bundle = 2; //应用包名,对安卓是应用包名,如:com.iqiyi,ios为appstore id
repeated string cat = 3; //App分类列表
optional string ver = 4; //App版本
optional Content content = 6; //App内容相关
optional string keywords = 7; //app关键字,多个关键字逗号分隔
extensions 200 to 299;
}
//站点对象定义
message Site {
optional string id = 1; //站点id
optional string name = 2; //站点名称
optional string domain = 3; //站点域名
repeated string cat = 4; //站点分类
optional Content content = 8; //网站内容
optional string keywords = 9; //网站关键字,多个关键字逗号分隔
extensions 200 to 299;
}
message Content {
optional string id = 1;
optional string title = 2;
optional string keywords = 3;
}
//设备对象
message Device {
optional string ua = 1; //设备ua
optional Geo geo = 2; //地理位置对象
optional string ip = 3; //设备ip
optional string ipv6 = 4; //ipv6地址
optional uint32 devicetype = 5; //设备类型, 1-phone,2-pad,3-pc,4-tv
optional string make = 6; //设备制造商
optional string model = 7; //设备型号, 如:iPhone
optional string os = 8; //操作系统,如:ios/Android
optional string osv = 9; //操作系统版本
optional string carrier = 10; //运营商, 0-未知,1-移动,2-联通,3-电信
optional uint32 connectiontype = 11; //网络连接类型, 1-wifi; 2-2G;3-3G;4-4G;5-5G; 0-未知
optional string ifa = 12; //明文设备码,如安卓的imei或ios的idfa
optional string didmd5 = 13; //md5设备码
optional string mac = 14; //mac地址明文
optional string macmd5 = 15; //md5 mac地址
optional string adid = 16; //安卓id
optional uint32 h = 17; //设备屏幕高
optional uint32 w = 18; //设备屏幕宽
//协议保留扩展
extensions 200 to 299;
}
message Geo {
optional float lat = 1; //纬度
optional float lon = 2; //经度
optional string country = 3; //国家编码
optional string region = 4; //地区编码
optional string city = 5; //城市编码
//6位地域码
optional uint32 area_code = 6; //6位地域码
extensions 200 to 299;
}
message User {
optional string id = 1; //Ad-Exchange用户标识
extensions 200 to 299;
}
}
message BidResponse {
//竞价请求id, 和BidRequest的id保持一致
required string id = 1;
repeated SeatBid seatbid = 2; //针对单个广告位的竞价响应
required string bidid = 3; //dsp生成的竞价响应id
//协议保留扩展
extensions 200 to 299;
message NativeAdResponse {
optional string icon = 1;
optional string title = 2;
optional string desc = 3;
repeated string imgs = 4;
optional string ctatext = 5;
//原生广告模板id
optional string template_id = 6;
}
message SeatBid {
repeated Bid bid = 1; //同一个广告位的多个出价
optional string seat = 2; //广告位名称
message Bid {
required string id = 1; //dsp平台参与出价id
required string impid = 2; //曝光id, 关联竞价请求中Imp中id
required float price = 3; //广告出价, 单位是分
required string crid = 4; //dsp平台创意id
optional string dealid = 5; //请求pmp dealid
repeated string imptrackers = 6; //曝光监测
repeated string clktrackers = 7; //点击监测
repeated string dltrackers = 17; //下载监测
repeated string dpstrackers = 18; //deeplink成功监测
repeated string dpftrackers = 19; //deeplink失败监测
optional string ldp = 8; //广告落地页
optional string creative_url= 9; //广告创意地址
optional uint32 click_type = 10; //点击类型:1-浏览器打开 2-安卓应用下载 3-deeplink,4-ios应用
//安卓应用包名或者ios的appid, 点击类型为安卓应用下载和ios应用时候,bundle必填
optional string bundle = 11;
optional string adm = 12; //动态广告代码
optional NativeAdResponse nativeAd = 13; //原生广告响应
optional string app_download_url = 14; //应用下载地址
optional string app_name = 15; //应用名称
optional string deeplink = 16; //deeplink链接
//协议保留扩展
extensions 200 to 299;
}
}
}