Proto文件历史版本及更新内容
V1.4
当前线上版本 /openrtb/protofile/
V1.3
Diff with V1.2 @ 2024-10-15
优化Response响应返回的诉求表达
1.响应字段Bid中增加evoke_monitor_urls,用于APP唤起成功监测
2.响应字段Bid中增加evoke_fail_monitor_urls,用于APP唤起失败监测
V1.2
Diff with V1.1 @ 2023-11-08
新增Request中参数支持拼多多归因的校验
1.请求字段Device中新增birth_ts,用于生成拼多多归因参数paid
2.请求字段Device中新增paid_1_3和paid_1_4,用于按照拼多多归因规则生成的paid校验
3.Geo对象中经纬度由string改为float类型
V1.1
Diff with V1.0 @ 2023-09-19
优化Response响应返回的诉求表达
1.响应字段Adm中link修改为landing_page
2.响应字段Adm中增加app_info,用于下载类广告的合规信息填充
3.响应字段Adm中增加download_monitor,用于下载类广告监测链接
4.响应字段Adm中增加action_type,用于广告的交互类型
5.响应字段Adm中增加optimization_goal,用于广告推广优化目标的明示
6.响应字段Adm中增加小程序相关字段: mini_program_info
7.整体文件根据yoheimuta/protolint进行lint,确保字段命名清晰准确
V1.0
Protocol Buffer
syntax = "proto3";
package com.ximalaya.bidding;
option java_outer_classname = "XimalayaBidding";
message BidRequest {
string id = 1; // 本次请求的唯一id
string api_version = 2; //协议版本(目前为"v1.0")
int32 request_type = 3; // 请求类型(1: 正式环境; 2: ping,测试RTT; 4: 测试广告,不计费; 8:其他)
repeated Imp imp = 4; // 曝光机会列表
App app = 5; // APP信息
Device device = 6; // 设备信息
User user = 7; // 设备信息
Geo geo = 8; // 地理位置信息
uint32 timeout = 9; // 请求预留的时间,单位为ms
Ext ext = 10; // 扩展参数
message Imp {
string id = 1; // 标识唯一一次曝光机会
string tag_id = 2; // 广告位ID
int32 ad_type = 3; // 广告类型(1:开屏、2:信息流、3:激励视频、4:贴片、5:banner)
int32 bid_type = 4; // 出价类型, 0:cpm 1:cpc 当前仅支持cpm
int64 bid_floor = 5; // 底价,分/千次曝光
repeated Asset asset = 6; // 模版信息,详见模版资源映射表
message Asset {
string template_id = 1; // 广告位模版ID, 详见模版资源映射表
int32 width = 2; // 广告位模版宽度
int32 height = 3; // 广告位模版高度
}
}
message App {
string name = 1; // 应用名称:例如:喜马拉雅FM
string bundle = 2; // 应用程序包名:例如:com.ximalaya.iting
string version = 3; // 应用版本号: 例如: 8.0.1
}
message Device {
string ua = 1; // UA信息
optional string ipv4 = 2; // 用户设备ipv4地址
optional string ipv6 = 3; // 用户设备ipv6地址
int32 carrier = 4; // 运营商(0:未知;1:移动; 2:联通;3:电信; 4: 广电)
int32 network_type = 5; //网络连接类型(0:未知; 1:Ethernet/Wifi;2:2G;3:3G;4:4G; 5: 5G; 6: 6G[预留], 7: 移动网络未知)
string make = 6; // 手机品牌,如:iPhone,Xiaomi
string model = 7; // 手机型号,如:iPhoneX, KNT-AL10
string os = 8; // 操作系统名称(ios|android|windows|macos|linux, 均为小写)
string osv = 9; // 操作系统版本
int32 device_type = 10; // 设备类型(0:手机;1:平板; 2: 电脑; 3: other)
optional int32 screen_height = 11; // 屏幕的物理高度,以像素为单位
optional int32 screen_width = 12; // 屏幕的物理宽度,以像素为单位
optional string imei = 13; // Android IMEI原始值明文
optional string imei_md5 = 14; // IMEI MD5, 小写
// @exclude Android Criteria
optional string android_id = 15; // AndroidId原始值明文
optional string android_id_md5 = 16; // AndroidId MD5, 小写
optional string oaid = 17; // Android OAID原始值明文
optional string oaid_md5 = 18; // Android OAID MD5, 小写
optional string hms_version = 19; // 华为机型HMS Core版本号,华为设备必填
optional string ag_version = 20; // 设备应用市场版本号,华为设备必填
optional string ag_country_code = 21; // 应用市场中设置的国家和地区,华为设备必填
optional string oppo_store_version = 22; // oppo应用商店版本号,oppo设备必填
optional string vivo_store_version = 23; // vivo应用商店版本号,vivo设备必填
optional string mi_store_version = 24; // 小米应用商店版本号,小米设备必填
optional string miui_version = 25; // 小米系统版本,miui系统必填
optional string boot_ts = 26; // 设备启动时间
optional string update_ts = 27; // 设备系统更新时间
// @exclude iOS Criteria
optional string idfa = 28; // IDFA原始值明文
optional string idfa_md5 = 29; // IDFA MD5, 小写
repeated Caid caid = 30; // CAID 对象数组
optional CAIDCriteria caid_criteria = 31; // caid相关参数
message CAIDCriteria {
string caid_boot_sec = 1; // 设备启动时间 UnixTimestamp eg: 1691052221
string caid_country_code = 2; // 国家 eg: CN
string caid_language = 3; // 语言 eg: zh-Hans-CN
string caid_device_name_md5 = 4; // 设备名称MD5 eg: e910dddb2748c36b47fcde5dd720eec1
string caid_system_version = 5; // 系统版本 eg: 14.0
string caid_hardware_machine = 6; // 设备 Machine, eg: iPhone10,3
string caid_carrier_info = 7; // 运营商信息 eg: 中国移动
string caid_physical_memory_byte = 8; // 物理内存容量 eg: 3955589120
string caid_harddisk_size_byte = 9; // 硬盘容量 eg: 63900340224
string caid_system_update_sec = 10; // 系统更新时间, 保留小数点后 6 位,如不够需补 0
string caid_hardware_model = 11; // 设备 Model eg: D22AP
string caid_time_zone = 12; // 时区 eg: 28800
string caid_mnt_id = 13; // mnt_id eg: 30225948939346695D0D744027A07803D5F8410346398776C879B727@/dev/disk1s1
string caid_file_init_time = 14; // 设备初始化时间 eg: 1632467920.301150749
}
}
message Caid {
string id = 1; // caid 的值
string version = 2; // caid 版本
}
message User {
string id = 1; // [保留字段] 用户唯一标识
string app_list = 2; // 用户已安装app列表
}
message Geo {
int32 type = 1; // 坐标系: 经纬度有值时必传,坐标系类型 0:GCJ-02; 1:WGS-84; 2:bd09ll
string lat = 2; // 纬度 latitude
string lon = 3; // 经度 longitude
}
message Ext {
map<string, string> extra = 1; // Extra自定义Map
}
}
message BidResponse {
string id = 1; // 请求ID,需与BidRequest.id一致
int32 code = 3; // 广告响应状态码
string bid_id = 2; // 喜马联盟侧生成的竞价ID
repeated SeatBid seat_bid = 4; //喜马联盟侧生成的竞价信息,目前只有一个
message SeatBid {
repeated Bid bid = 1; // DSP参与竞价的位置,与BidRequest.imp对应,每个imp最多只可返回一个bid
}
message Bid {
string id = 1; // dsp侧针对这次竞价的ID
string imp_id = 2; // 曝光ID,对应BidRequest.imp.id,必填
string ad_id = 3; // 广告id
int64 price = 4; // DSP出价,单位:分/千次曝光
repeated string win_notice_url = 5; // 竞价成功通知地址
repeated string loss_notice_url = 6; // 可选。竞价失败通知的url列表
repeated string imp_trackers = 7; // 曝光监测地址
repeated string clk_trackers = 8; // 点击监测地址
Adm adm = 9; // 创意物料信息
//物料信息
message Adm {
string template_id = 1; // 模版ID
string creative_id = 2; // 可选。广告物料的唯一标识
string title = 3; // 标题
string desc = 4; // 描述
repeated Image image = 5; // 图片信息
Video video = 6; // 视频信息
string deep_link = 7; // 客户端优先跳转deeplink链接,其次跳转普通网址类或应用下载类的落地页
string link = 8; // 落地页url
string download_url = 9; // 应用下载必填。应用下载url
string app_name = 10; // 针对应用下载类广告
message Image {
string url = 1; // 图片URL
int32 width = 2; // 图片宽度
int32 height = 3; // 图片高度
string mime = 4; // 图片类型, 如:JPG/JPEG/PNG
}
message Video {
string video_url = 1; // 视频URL
int32 width = 2; // 视频宽度
int32 height = 3; // 视频高度
int32 duration = 4; // 视频素材的播放时长,单位:秒
int32 size = 5; // 视频文件的大小,单位Byte
string mime = 6; // 视频素材类型,以MIME类型表示
string cover = 7; // 视频封面图
}
}
}
}