腾讯优量汇 Media API 接入文档
Version: 1.1.9
法律声明
对需要对接腾讯优量汇(以下简称优量汇)Media API的客户,优量汇提供此文档作为对接的指引文档。未经优量汇书面许可,不得以任何形式向第三方披露、泄露有关本文档的任何内容。优量汇拥有修改、调整、增补本文档的权利,并在法律允许范围内对本文档拥有最终解释权。
版本管理
本API文档目前统一为1.1.9版本,所有接口于2020年9月11日统一升级为1.1版本,其中,
- 媒体创建接口和修改接口、报表接口、图片接口1.1版本均兼容1.0版本;
- 广告位创建接口和修改接口1.1版本不兼容1.0版本,1.0版本不再维护,请开发者尽快将广告位创建接口和修改接口升级到1.1版本。
更新日志
版本 | 更新日期 | 更新说明 |
---|---|---|
1.1.9 | 2021年3月31日 | 1. 媒体下线keywords、description参数 2. 废弃参数download_confirm(下载二次确认);新增参数 download_land_page(App广告跳落地页确认) |
1.1.8 | 2021年2月25日 | 1. 新增查询美元汇率接口 2. 广告位支持价格策略设置 3. 激励视频支持设置服务器端校验 |
1.1.7 | 2020年12月21日 | 查询报表接口增加美元汇率以及ecpm、revenue、cpc美元折算价 |
1.1.6 | 2020年12月3日 | 1.新增媒体查询接口 2.新增广告位查询接口 |
1.1.5 | 2020年11月16日 | 1. 报表查询支持最大可查询30天数据;支持多阶价报表分层标签纬度数据 2. 查询报表接口:增加Content-Type格式要求为application/json;不再支持multipart/form-data格式 |
1.1.4 | 2020年9月11日 | 媒体创建和修改接口、报表接口、图片接口均升级到1.1版本 |
1.1.3 | 2020年7月15日 | 1. 广告场景替代广告位类型 2. 广告位创建和修改接口版本号升级到1.1 3. 广告位截图使用单独图片上传接口,并将返回的图片Id作为标识用于广告位创建接口和修改接口 4. 广告位创建接口和修改接口请求body改成json,接口协议字段重新规划命名 |
1.1.2 | 2020年6月16日 | 修复了报表接口填充率计算,新增两个返回字段 |
1.1.1 | 2020年6月4日 | 统一使用app_id作为媒体id的唯一标识;明确RTB对接时创建广告位细分场景 |
1.0 | 2020年3月27日 | 提供媒体、广告位创建功能;报表查看功能 |
重要知会
1.1.5版本变更关键点
- 查询报表接口:增加Content-Type格式要求为application/json;不再支持multipart/form-data格式;请开发者做相应调整。
1.1.3版本变更关键点
- 广告场景替代广告位类型的概念,开发者可根据自身需求创建不同的广告场景下的广告位。广告场景与广告位类型的映射关系参见附录5
- 广告位模块切换:
- 对外发布的文档更新为新接口;
- 旧接入的开发者,新旧两套接口都支持调用;
- 新接入的开发者,仅支持新接口调用;
- 新接口创建和更新的请求body改为json格式;
- 1.0版本旧接口不再维护升级,后续下线;
- 目前报表模块依然提供按照不同广告位类型的广告效果数据,后续提供按照不同广告场景的广告效果数据;
1.1.1版本变更关键点
- Media API中过去以mediumid和app_id两个参数均指代媒体id,为了减少混淆进行了优化,统一使用app_id作为媒体id的唯一标识,提醒开发者注意并修改:
- 识别媒体id只需要以app_id为准;
- app_id值与以前mediumid值是不同的值;
1. 关于文档
流量主可以通过对接Media API拥有强大的系统管理能力,更便捷地进行流量管理及快速对接广告统计数据,帮助流量主提升流量变现效率。
Media API提供的功能包含以下部分:
- 媒体模块:创建媒体、修改媒体
- 广告位模块:创建广告位、修改广告位
- 报表模块:查询广告效果数据
2. 背景知识
2.1 术语介绍
- 媒体:包括移动应用(APP)和移动网站;
- 广告场景定义:
- 开屏:APP开启后全屏沉浸式展示广告
- 动态信息流:广告与APP内容高度自然融合的信息流广告
- 激励视频:完整观看视频广告以免费获得游戏奖励的广告
- 横幅:以较大的矩形区域展示的横幅广告
- Banner:在APP顶/中/底部悬浮且可关闭的边栏广告
- 插屏:在弹出窗口上展示的广告
- 视频贴片:在视频片头片尾或随片播放的广告
2.2 模块介绍
本节对Media API的各个模块分别做简单介绍,以便对接人员快速了解每个模块的大致功能。
根据接口功能不同,系统可分为媒体模块、广告位模块 、报表模块3类。各模块功能简介如下:
- 媒体模块:媒体创建和媒体信息修改功能;
- 广告位模块:广告位创建和广告位信息修改功能;
- 报表模块:查询一定时间段内不同媒体、不同广告位类型、不同广告位的广告效果数据;
2.3 技术准备
本API文档所涉及接口均遵循HTTP协议。
调用方应根据具体接口的要求设置 HTTP Method为 GET或POST。
您可以使用任何支持HTTP协议和JSON格式的编程语言开发应用程序。
有关标准HTTP协议,可参考 RFC2616 或 维基百科-HTTP 相关介绍。
有关JSON数据格式,可参考 JSON.ORG 或 维基百科–JSON 相关介绍。
3. 对接流程
第1步,开通Media API权限:开发者向运营接口人提供相关信息(优量汇会员id和账户名称)获得相应的Media API授权;
第2步,开发对接:对接过程中如果遇到疑问,可联系运营接口人进行相关的产品和技术答疑;
第3步,测试联调:在开发完成,开发者部署好服务器后,优量汇可支持开发者进行测试联调,测试环境使用公共账号和密钥联调;
第4步,正式环境上线:测试联调通过后,向运营接口人申请线上正式环境密钥,并上线。
4. 接口详述
4.1 通用声明
4.1.1 权限认证
Media API 通过授权令牌(TOKEN)进行权限控制。TOKEN需要在每次请求时通过Header中 token 字段来传递,提供测试域名:test-api.adnet.qq.com;测试memberid:608070200058;secret:M#z_:cS7ME.^*;_Abi;r/32n!D}>9JVx。
4.1.2 编码方式
若无特殊说明或响应头中的Content-Type未指定编码,请求和响应中的字符编码均使用 UTF-8(无 BOM 头)。
4.1.3 URL定义
请求URL参考RESTful风格,约定了使用的协议、域名、模块、版本、资源及动作,详细定义如下:
https://api.adnet.qq.com/open/API_VERSION/RESOURCE_NAME/RESOURCE_ACTION
其中:
协议:必须使用HTTPS
API_VERSION:版本号,当前版本号码为 v1
RESOURCE_NAME:表示要操作的资源,如medium、placement
RESOURCE_ACTION:表示对资源的动作,如add、update
RESOURCE_NAME目前支持如下资源:
资源 | 描述 |
---|---|
medium | 媒体模块 |
placement | 广告位模块 |
report | 报表模块 |
RESOURCE_ACTION目前支持如下基本动作:
动作 | 描述 |
---|---|
add | 新增 |
update | 更新 |
get | 读取 |
4.1.4 通用参数
以下是每个接口都会用到的通用参数,详细定义为:
名称 | 类型 | 必填 | 限制 | 描述 |
---|---|---|---|---|
token | string | 是 | 有效期20分钟,失效后需要重新生成 | 授权令牌,由调用方自行生成 |
通用参数并不在API请求的body中,而是放在请求头传输,例:curl --location --request POST 'https://test-api.adnet.qq.com/open/v1.1/medium/add' --header 'token:cnRiLDE1ODQ0MzU0MTYsN2MwNWFlMjhlNDM1ZGYwOWM5MmY2MjkxMjEwMGM3ZTQ4NmU1MzgxNQ==' token是合作伙伴重要的身份标识,优量汇会对 token的使用进行校验,请妥善保管好优量汇接口人提供的生成token的关键信息和 token生成算法,防止泄露。一旦发现token泄露,请立即联系优量汇接口人报备处理。
token 生成规则如下:
token = base64('memberid','time','sign');
其中:
memberid:账户ID,由开发者在优量汇开发者平台( https://e.qq.com/dev/index.html )注册获得;
time:发起请求时的unix时间戳(精确到秒),此值跟接收到请求时的服务器时间戳值偏差(正负), 超过1200秒(20分钟)时,请求会被忽略,要求调用方重新组合token(请使用 Asia/Shanghai时区);
sign: 签名字符串,sign = sha1(memberid. secret. time),secret为约定的私钥, 合作伙伴申请 API接口时,由优量汇提供,sign是在时间戳的基础上进行加密的,当时间戳超过系统设定时间间隔之后,请求会被拒绝,要求调用方重新组合 token,加密算法可采用 sha1。
以上参数中,memberid、secret 这两个参数是优量汇生成token的关键参数,请联系优量汇接口人获取secret。
下面举例说明如何生成token(python2语言为例)。
假设生成 token的各个参数取如下数值:
memberid:12345
secret:032742947398^*
生成token代码:
import hashlib
import base64
import time
memberid="12345"
secret="032742947398^*"
timestamp=int(time.time()) //时间戳,精确到秒
sign = hashlib.sha1( memberid + secret + str(timestamp) ).hexdigest()
list_v = [memberid, str(timestamp), sign]
plain = ','.join(list_v)
token = base64.b64encode(plain)
print token
这样,我们就生成了本次API请求的token了。
4.1.5 API请求
HTTP Method
如无特殊说明,add、update API请求的HTTP Method为POST;get API请求的HTTP Method均为GETHTTP Header
调用方应遵循HTTP协议设置相应的Header,目前支持的Header有:Content-Type用于指定数据格式。POST请求数据默认格式为:multipart/form-data ,具体情况请参考接口的详细说明文档。HTTP Header示例
Content-Type: multipart/form-data
4.1.6 API响应
- HTTP状态码
支持HTTP标准状态码,具体如下:
状态码 | 名称 | 描述 |
---|---|---|
200 | 成功 | 当 API 请求被正确处理,且能按设计获取结果时,返回该状态码; 亦适用于批量接口返回部分结果 |
3xx | 跳转 | 在特定情况下,API 可能会返回这些状态码; 建议调用方按照 HTTP 标准来处理 |
4xx | 客户端错误 | 由客户端原因造成的错误 |
5xx | 服务器端错误 | API 或其下层服务发生内部错误 |
其中,4xx 和 5xx 的状态码仅用于辅助调用方快速识别问题,不作为包含实际语义的错误码,若有调整也不另行通知,实际操作结果以API返回的数据为准。调用方也应能够识别和处理由于网络异常等因素导致的,由非API 服务返回的 HTTP 状态码,如 504 Gateway Timeout 等。
- HTTP Header
目前API响应的Content-Type为application/json。
- HTTP Body
响应的JSON数据中包含三部分内容,分别为返回码、返回信息和数据,如下表所示:
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
code | int32 | 是 | 返回码:0表示成功 |
message | string | 是 | 返回信息:若有错误,此字段为详细的错误信息 |
data | json array 或 json object | 否 | 结果数据 |
4.2 媒体模块
规则说明:
- 建修改媒体,以app_id作为媒体id的唯一识别;
- 只有审核通过的媒体才可以修改。
4.2.1 创建媒体
请求URL:https://api.adnet.qq.com/open/v1.1/medium/add
请求方法:POST
Content-Type:multipart/form-data
请求字段:
参数名称 | 参数类型 | 参数描述 | 参数限制 | 是否必填 |
---|---|---|---|---|
member_id | int64 | 会员ID | 必填 | |
medium_name | string | 媒体名字 | 必填 | |
industry_id | int32 | 媒体所属2级行业id,参见附录2 | 必填 | |
os | int32 | 操作系统,数字含义1-Android, 2-iOS, 3-H5 | 必填 | |
detail_url | string | 详情页url | 支持的各个商店域名约束 | 当OS不为H5时必填 |
affiliation | string | 媒体隶属关系 | 详见附录7 | 必填 |
package_name | string | 包名 | 符合包名规范 | 当OS不为H5时必填 |
wechat_app_id | string | 微信开放平台AppId | 非必填 | |
wechat_universal_link | string | 微信开放平台Universal link | 非必填,IOS媒体可用 | |
domain | string | 网站域名 | 当OS为H5时必填 | |
icp | string | 网站备案 | 当OS为H5时必填 | |
icp_picture | file | 网站备案截图 | 当OS为H5时,icp_picture和icp_pictrue_id 两者不能同时为空 | |
icp_picture_img_id | int64 | icp备案图片ID | 当OS为H5时,icp_picture和icp_pictrue_id 两者不能同时为空 | |
soft_right_img_id | int64 | 软件著作权证明图片ID | 通过image/upload接口上传图片,获取图片ID | 非必填 |
company_ship_img_id | int64 | 公司关联关系证明图片ID | 通过image/upload接口上传图片,获取图片ID | 非必填 |
biz_right_img_id | int64 | 授权或代理证明图片ID | 通过image/upload接口上传图片,获取图片ID | 非必填 |
game_isbn_img_id | int64 | 游戏版号图片ID | 通过image/upload接口上传图片,获取图片ID | 非必填 |
应答字段:
名称 | 类型 | 描述 |
---|---|---|
app_id | int64 | 媒体id |
请求示例:
curl --location --request POST 'https://test-api.adnet.qq.com/open/v1.1/medium/add' \
--header 'token: cnRiLDE1ODQzNzc0MTcsZDVjNjIzNWRkZTY1MTFmMGJmMWQyNzlkMTE0ZjI3M2ZmYzgyMGIxMA==' \
--header 'Content-Type: multipart/form-data' \
--form 'member_id=2763558177' \
--form 'medium_name=腾讯视频' \
--form 'icp_picture=@/Users/Desktop/WechatIMG197.jpeg' \
--fom 'os=1' \
--form 'industry_id=50401' \
--form 'detail_url=https://android.myapp.com/test' \
--form 'affiliation=Own' \
--form 'soft_right_img_id=1' \
--form 'biz_right_img_id=2' \
--form 'package_name=com.tencent.live'
应答示例:
{
"code": 0,
"message": "ok",
"data": {
"app_id": 1110525172
}
}
4.2.2 修改媒体
请求URL:https://api.adnet.qq.com/open/v1.1/medium/update
请求方法:POST
Content-Type:multipart/form-data
请求字段:
参数名称 | 参数类型 | 参数描述 | 参数限制 | 是否必填 |
---|---|---|---|---|
member_id | int64 | 开发者账号 | 必填 | |
app_id | int64 | 媒体id | 根据创建接口返回的app_id指定需要修改的媒体id | 必填 |
medium_name | string | 40个字以内;媒体名字在同一个会员同一个操作系统下是唯一的,不能重复 | 非必填 | |
industry_id | int32 | 媒体所属2级行业id | 参见附录2 | 非必填 |
affiliation | string | 媒体隶属关系 | 详见附录7 | 必填 |
package_name | string | 包名 | 符合包名规范 | 当OS不为H5时必填 |
wechat_app_id | string | 微信开放平台AppId | 非必填 | |
wechat_universal_link | string | 微信开放平台Universal link | 非必填,IOS媒体可用 | |
detail_url | string | 详情页url | 支持的各个商店域名约束,必须为商店名录重的地址类型 | 当OS不为H5时必填 |
icp_picture_img_id | int64 | icp备案图片ID | 当OS为H5时,icp_picture和icp_pictrue_id 两者不能同时为空 | |
soft_right_img_id | int64 | 软件著作权证明图片ID | 通过image/upload接口上传图片,获取图片ID | 非必填,不填或填0时为清空该字段 |
company_ship_img_id | int64 | 公司关联关系证明图片ID | 通过image/upload接口上传图片,获取图片ID | 非必填,不填或填0时为清空该字段 |
biz_right_img_id | int64 | 授权或代理证明图片ID | 通过image/upload接口上传图片,获取图片ID | 非必填,不填或填0时为清空该字段 |
game_isbn_img_id | int64 | 游戏版号图片ID | 通过image/upload接口上传图片,获取图片ID | 非必填,不填或填0时为清空该字段 |
应答字段:
名称 | 类型 | 描述 |
---|---|---|
code | int32 | 返回码: 0表示成功 具体见返回码列表 |
message | string | 返回信息: 若有错误,此字段为详细的错误信息 |
请求示例:
curl --location --request POST 'https://api.adnet.qq.com/open/v1.1/medium/update' \
--header 'token: cnRiLDE1ODQyODMzMzgsODUzODhjZTcxMmJmYWZlNmI5NzlmOTNkZGE3Mzk1NTFhZTRhMDc2Ng==' \
--header 'Content-Type: application/json' \
--form 'member_id=2763558177' \
--form 'industry_id=50401' \
--form 'detail_url=https://android.myapp.com/test' \
--form 'package_name=com.tencent.live' \
--form 'affiliation=Agency' \
--form 'app_id=1110525172'
应答示例:
{
"code": 0,
"message": "ok"
}
4.2.3 获取媒体
请求URL:https://api.adnet.qq.com/open/v1.1/medium/list
请求方法:POST
Content-Type:application/json
请求字段:
参数名称 | 参数类型 | 参数描述 | 参数限制 | 是否必填 |
---|---|---|---|---|
member_id | int64 | 开发者账号 | 必填 | |
filtering | struct[] | 过滤条件 | 过滤结构参数限制如下 | 选填,若此字段不传或传空,则视为无限制条件 |
- field | string | 过滤字段 | 可选值:app_id、medium_name、os、status、industry_id | |
- operator | enum | 操作符 | - 当field取值app_id时,枚举列表:{EQUALS, IN} - 当field取值medium_name时,枚举列表:{CONTAINS} - 当field取值os时,枚举列表:{EQUALS, IN} - 当field取值status时,枚举列表:{EQUALS} - 当field取值industry_id时,枚举列表:{EQUALS} |
|
page | int32 | 搜索页码 | 默认值:1 | 选填 |
page_size | int32 | 每页显示的数据条数 | 默认值:20,最大值 100 | 选填 |
应答字段:
名称 | 类型 | 描述 |
---|---|---|
list | struct[] | 返回媒体列表,结构如下 |
- app_id | int64 | 媒体id |
- medium_name | string | 媒体名字 |
- status | enum | 媒体状态 |
- industry_id | int32 | 媒体所属2级行业id |
- os | int32 | 操作系统 |
- detail_url | string | 详情页url(非H5媒体有效) |
- affiliation | enum | 媒体隶属关系 |
- package_name | string | 包名(非H5媒体有效) |
- wechat_app_id | string | 微信开放平台AppId(非H5媒体有效) |
- wechat_universal_link | string | 微信开放平台Universal link(IOS媒体) |
- domain | string | 网站域名(H5媒体有效) |
- icp | string | 网站备案(H5媒体有效) |
- soft_right_img_id | int64 | 软件著作权证明图片ID |
- company_ship_img_id | int64 | 公司关联关系证明图片ID |
- biz_right_img_id | int64 | 授权或代理证明图片ID |
- game_isbn_img_id | int64 | 游戏版号图片ID |
page_info | struct[] | 分页配置信息 |
- page | int32 | 网站域名(H5媒体有效) |
- page_size | int32 | 每页显示的数据条数 |
- total_number | int32 | 总条数 |
- total_page | int32 | 总页数 |
4.3 广告位模块
4.3.1 创建广告位
请求URL:https://api.adnet.qq.com/open/v1.1/placement/add
请求方法:POST
Content-Type:application/json
请求字段:
参数名称 | 参数类型 | 参数描述 | 参数限制 | 是否必填 |
---|---|---|---|---|
member_id | int64 | 开发者账号 | 必填 | |
app_id | int64 | 媒体id | 根据创建接口返回的app_id指定需要在哪个媒体下创建广告位 | 必填 |
placement_name | string | 广告位名字 | 最大30个字符(15个汉字或者30个英文字符);同一个媒体下广告位名字不能重复 | 必填 |
scene | enum | 广告场景 | 取值范围参见场景 | 必填,H5媒体需联系商务经理开通激励视频的白名单权限 |
rewarded_video_scene | enum | 激励场景 | 取值范围参见激励场景 | 仅在场景为激励视频时必填 |
rewarded_video_description | string | 激励视频场景点为其他时的描述 | 最大长度200 | 激励视频场景点为其他时必填 |
placement_image_id | int | 广告位截图资源id,通过图片资源上传接口上传得到 | 资源必须属于当前会员 | 选填 |
ad_pull_mode | enum | 接入方式 | 取值范围参见接入方式 | 必填 |
render_type | enum | 渲染方式 | 取值范围参见渲染方式 | 非必填,场景为激励视频和开屏时可以不填 |
ad_crt_type_list | enum[] | 素材类型 | 取值参考素材类型 | 非必填,模板渲染时,必填,模板渲染时,当素材仅支持一种素材类型时,默认为该类型,选择的素材类型必须要和素材支持的类型匹配 |
ad_crt_template_type | enum[] | 模板广告样式 | 取值范围参见模版类型 | 非必填,当场景非激励视频和开屏时,模板渲染必填,仅支持一种模板 |
ad_crt_normal_type | int | 自渲染广告样式 | 取值范围参见自渲染广告样式 | 非必填,场景非激励视频和开屏时,自渲染必填 |
flash_crt_type | enum | 开屏广告样式 | 取值范围参见开屏广告样式 | 非必填,场景为开屏时必填 |
rewarded_video_crt_type | enum | 激励视频广告样式 | 取值范围参见激励视频广告样式 | 非必填,场景为激励视频时必填 |
ad_feedback_element | enum[] | 广告返回元素 | 取值范围参考广告返回元素 | 非必填,原生自渲染可填,不填默认全选 |
filter_rule | FilterRule | 广告过滤规则 | 无 | 非必填 |
rtb_config | RtbConfig | 取值范围参见RTB绑定的OS | RTB绑定时,使用优量汇协议非必填;使用开发者协议必填 | |
need_server_verify | enum | 是否开启服务端校验,仅适用于接入方式为sdk的激励视频场景 | 取值范围参考服务端校验是否开启 | 非必填 |
transfer_url | string | 激励视频服务端校验回调地址 | 支持http和https协议地址 | 非必填,当设置need_server_verify为开启验证时该字段必填 |
secret | string | 激励视频服务端校验密钥 | 32位随机大小写字母和数字组成 | 非必填,当设置need_server_verify为开启验证时该字段必填 |
price_strategy_type | enum | 广告位价格策略 | 取值范围参考价格策略 | 非必填,需联系商务经理开通白名单权限 |
ecpm_price | int64 | 广告位价格 | 单位:分 | 非必填,当设置价格策略时该字段必填 |
FilterRule 过滤规则
参数名称 | 参数类型 | 参数描述 | 参数限制 | 是否必填 |
---|---|---|---|---|
filter_pkg_names | string[] | 过滤包名 | 最大300,单个最大长度100 | 非必填 |
filter_ituns_ids | string[] | 过滤app store 应用id | 最大300,单个最大长度100 | 非必填 |
filter_keywords | string[] | 过滤关键词 | 最大500,单个长度最大100 | 非必填 |
filter_categories | enum[] | 过滤类目 | 取值范围参考过滤行业 | 非必填 |
RtbConfig
参数名称 | 参数类型 | 参数描述 | 参数限制 | 是否必填 |
---|---|---|---|---|
rtb_relation_adx_id* | int64 | 预先给adx分配的id | RTB绑定时必填 | |
rtb_relation_pos_adx_id | string | adx广告id | 使用优量汇协议非必填;使用开发者协议必填 | |
rtb_relation_os | enum | 取值范围参见RTB绑定的OS | RTB绑定时,使用优量汇协议非必填;使用开发者协议必填 | |
rtb_relation_name | string | 非必填 | ||
rtb_relation_bundle | string | 非必填 | ||
rtb_relation_posw | int32 | 非必填 | ||
rtb_relation_posh | int32 | 非必填 | ||
rtb_relation_requestw | int32 | 非必填 | ||
rtb_relation_requesth | int32 | 非必填 | ||
rtb_relation_placement_type | string | 非必填 | ||
rtb_relation_template_id | int64 | 非必填 | ||
rtb_relation_is_paster | boolean | 非必填 | ||
rtb_relation_native_layout | string | 非必填 | ||
rtb_relation_extra | string | 非必填 |
*RTB对接时 rtb_relation相关参数哪些为必填项,哪些为非必填项,请参考4.3.4RTB对接时创建广告位细分场景说明
应答字段:
名称 | 类型 | 描述 |
---|---|---|
placement_id | int64 | 广告位id |
请求示例:
curl "https://api.adnet.qq.com/open/v1.1/placement/add \
--header 'token: cnRiLDE1ODQyODMzMzgsODUzODhjZTcxMmJmYWZlNmI5NzlmOTNkZGE3Mzk1NTFhZTRhMDc2Ng==' \
--header 'Content-Type: application/json' \
-d '{
"member_id": 2763558177,
"app_id": 1101152570,
"placement_name": "test 12",
"ad_pull_mode": "SDK",
"scene": "FLOW",
"rewarded_video_scene": "OTHER",
"rewarded_video_scene_description": "demoData",
"placement_image_id": 1,
"render_type": "NORMAL",
"ad_crt_type_list": [
"IMAGE"
],
"ad_crt_normal_type": 1,
"ad_crt_template_type": [
"RP_LT"
],
"flash_crt_type": "FLASH_JOINT",
"rewarded_video_crt_type": "ALL_DIRECTION",
"ad_feedback_element": [
"APP_DL_IMG"
],
"filter_rule": {
"filter_keywords": [],
"filter_pkg_names": [],
"filter_ituns_ids": [],
"filter_categories": ["P2P_LENDING_PRODUCT"]
},
"enable_experiment": true
}'
应答示例:
{
"code": 0,
"message": "ok",
"data": {
"placement_id": 9010062089859016
}
}
4.3.2 修改广告位
请求URL:https://api.adnet.qq.com/open/v1.1/placement/update
请求方法:POST
Content-Type:application/json
请求字段:
参数名称 | 参数类型 | 参数描述 | 参数限制 | 是否必填 |
---|---|---|---|---|
member_id | int64 | 开发者id | 必填 | |
placement_id | int64 | 广告位id | 根据创建接口返回的placement_id指定需要修改哪个广告位 | 必填 |
placement_name | string | 广告位名字 | 最大长度30个字符;同一个媒体下广告位名字不能重复 | 非必填 |
rewarded_video_description | string | 激励视频激励场景描述,当激励场景点为其它时,可更新位名字 | 最大200字符 | 非必填,激励视频,激励场景点为其它时可填 |
ad_feedback_element | enum[] | 广告返回元素,当为原生自渲染广告时可填 | 取值范围参考广告返回元素 | 非必填,原生自渲染可填 |
filter_rule | FilterRule | 广告过滤规则 | 非必填 | |
download_land_page | enum | App广告跳落地页确认 | 取值范围参考App广告跳落地页确认 | 非必填,广告位有App广告跳落地页确认白名单可更新 |
need_server_verify | enum | 是否开启服务端校验,仅适用于接入方式为sdk的激励视频场景 | 取值范围参考服务端校验是否开启 | 非必填 |
transfer_url | string | 激励视频服务端校验回调地址 | 支持http和https协议地址 | 非必填,当设置need_server_verify为开启验证时该字段必填 |
secret | string | 激励视频服务端校验密钥 | 32位随机大小写字母和数字组成 | 非必填,当设置need_server_verify为开启验证时该字段必填 |
price_strategy_type | enum | 广告位价格策略 | 取值范围参考价格策略 | 非必填,需联系商务经理开通白名单权限 |
ecpm_price | int64 | 广告位价格 | 单位:分 | 非必填,当设置价格策略时该字段必填 |
应答字段:
名称 | 类型 | 描述 |
---|---|---|
code | int32 | 返回码: 0表示成功 具体见返回码列表 |
message | string | 返回信息: 若有错误,此字段为详细的错误信息 |
请求示例:
curl "https://api.adnet.qq.com/open/v1.1/placement/update \
--header 'token: cnRiLDE1ODQyODMzMzgsODUzODhjZTcxMmJmYWZlNmI5NzlmOTNkZGE3Mzk1NTFhZTRhMDc2Ng==' \
--header 'Content-Type: application/json' \
-d '{{
"member_id": 1,
"placement_id":2,
"placement_name": "demoData",
}'
应答示例:
{
"code": 0,
"message": "ok"
}
4.3.3 获取广告位
请求URL:https://api.adnet.qq.com/open/v1.1/placement/list
请求方法:POST
Content-Type:application/json
请求字段:
参数名称 | 参数类型 | 参数描述 | 参数限制 | 是否必填 |
---|---|---|---|---|
member_id | int64 | 开发者账号 | 必填 | |
filtering | struct[] | 过滤条件 | 过滤结构参数限制如下 | 选填,若此字段不传或传空,则视为无限制条件 |
- field | string | 过滤字段 | 可选值: placement_id、placement_name、app_id、medium_name、scene、ad_pull_mode、render_type、pause_status、 status |
|
- operator | enum | 操作符 | - 当field取值placement_id时,枚举列表:{EQUALS, IN} - 当field取值placement_name时,枚举列表:{CONTAINS} - 当field取值app_id时,枚举列表:{EQUALS} - 当field取值medium_name时,枚举列表:{CONTAINS} - 当field取值scene时,枚举列表:{EQUALS} - 当field取值ad_pull_mode时,枚举列表:{EQUALS} - 当field取值render_type时,枚举列表:{EQUALS} - 当field取值pause_status,枚举列表:{EQUALS} - 当field取值status,枚举列表:{EQUALS} |
|
- values | string[] | 字段取值 | 数组的个数限制与 operator 的取值相关 - 当field取值scene时,字段取值见场景 - 当field取值ad_pull_mode时,字段取值参见接入方式 - 当field取值render_type时,字段取值参见渲染方式 - 当field取值pause_status,字段取值参见广告位暂停状态 - 当field取值status,字段取值参见广告位状态 |
|
page | int32 | 搜索页码 | 默认值:1 | 选填 |
page_size | int32 | 每页显示的数据条数 | 默认值:20,最大值 100 | 选填 |
应答字段:
名称 | 类型 | 描述 |
---|---|---|
list | struct[] | 返回广告位列表,结构如下 |
- placement_id | int64 | 广告位id |
- placement_name | string | 广告位名字 |
- status | enum | 广告位状态 |
- pause_status | enum | 广告位暂停状态 |
- app_id | int64 | 媒体id |
- scene | enum | 广告场景 |
- rewarded_video_scene | enum | 激励场景 |
- rewarded_video_description | string | 激励视频场景点为其他时的描述 |
- ad_pull_mode | enum | 接入方式 |
- render_type | enum | 渲染方式 |
- ad_crt_type_list | enum[] | 素材类型 |
- ad_crt_template_type | enum[] | 模板广告样式 |
- ad_crt_normal_type | int | 自渲染广告样式 |
- flash_crt_type | enum | 开屏广告样式 |
- rewarded_video_crt_type | enum | 激励视频广告样式 |
- ad_feedback_element | enum[] | 广告返回元素 |
- filter_rule | FilterRule | 广告过滤规则 |
- price_strategy_type | enum | 广告位价格策略 |
- ecpm_price | int64 | 广告位价格 |
- need_server_verify | enum | 激励视频是否开启服务端校验 |
- transfer_url | string | 激励视频服务端校验回调地址 |
- secret | string | 激励视频服务端校验密钥 |
- download_land_page | enum | App广告跳落地页确认 |
page_info | struct | 分页配置信息 |
- page | int32 | 查询页码 |
- page_size | int32 | 每页显示的数据条数 |
- total_number | int32 | 总条数 |
- total_page | int32 | 总页数 |
请求示例:
curl "https://api.adnet.qq.com/open/v1.1/placement/list" \
--header 'token: cnRiLDE1ODQyODMzMzgsODUzODhjZTcxMmJmYWZlNmI5NzlmOTNkZGE3Mzk1NTFhZTRhMDc2Ng==' \
--header 'Content-Type: application/json' \
-d '{
"member_id": 2763558177,
"filtering": [
{
"field": "ad_pull_mode",
"operator": "EQUALS",
"values": [
"SDK"
]
},
{
"field": "scene",
"operator": "EQUALS",
"values": [
"REWARDED_VIDEO"
]
}
],
"page": 1,
"page_size": 5
}'
应答示例:
{
"code": 0,
"message": "ok",
"data": {
"list": [
{
"placement_id": 103000000,
"placement_name": "广告位名称",
"app_id": 110000000,
"scene": "REWARDED_VIDEO",
"rewarded_video_scene": "TASK_REWARD",
"rewarded_video_description": "",
"ad_pull_mode": "SDK",
"render_type": "NORMAL",
"ad_crt_type_list": [
"VIDEO"
],
"ad_crt_template_type": null,
"ad_crt_normal_type": 0,
"flash_crt_type": "",
"rewarded_video_crt_type": "ALL_DIRECTION",
"ad_feedback_element": null,
"status": "Freeze",
"pause_status": "Normal",
"filter_rule": null
}
],
"page_info": {
"page": 1,
"page_size": 5,
"total_number": 1,
"total_page": 1
}
}
}
4.3.4 RTB对接时创建广告位细分场景说明
1). 使用对方协议合作,使用Media API创建广告位:请求中带了开发者广告位id,且和优量汇广告位id可一一对应:
参数名称 | 参数类型 | 参数描述 | 参数限制 | 是否必填 |
---|---|---|---|---|
rtb_relation_adx_id | int64 | 预先给adx分配的id | RTB绑定时必填 | |
rtb_relation_pos_adx_id | string | adx广告id | 使用开发者协议必填,且广告位id与优量汇广告位id一一对应 | |
rtb_relation_os | enum | 取值范围参见RTB绑定的OS | RTB绑定时必填 | |
rtb_relation其他相关参数 | 均为非必填 |
2). 使用对方协议合作,使用Media API创建广告位:请求中没有带开发者广告位id的:
参数名称 | 参数类型 | 参数描述 | 参数限制 | 是否必填 |
---|---|---|---|---|
rtb_relation_adx_id | int64 | 预先给adx分配的id | RTB绑定时必填 | |
rtb_relation_pos_adx_id | string | adx广告id | 填0或不填,推荐填0 | |
rtb_relation_os | enum | 取值范围参见RTB绑定的OS | RTB绑定时必填 | |
rtb_relation_bundle | string | 分段式包名 | a.b.c格式,需要和请求中的保持一致 | 必填 |
rtbrelation | string | 激励视频: rewarded 非激励视频: nonrewarded |
必填 | |
rtb_relation其他相关参数 | 均为非必填 |
3). 使用优量汇API协议接入,通过Media API管理广告位:
参数名称 | 参数类型 | 参数描述 | 参数限制 | 是否必填 |
---|---|---|---|---|
rtb_relation_adx_id | int64 | 预先给adx分配的id | RTB绑定时必填 | |
rtb_relation其他相关参数 | 均为非必填 |
4.4 报表模块
4.4.1 查询报表
测试联调:使用测试账号,请求测试环境,报表接口是mock数据,日期请求20200414。
请求URL:https://api.adnet.qq.com/open/v1.1/report/get?member_id=xxx
请求方法:GET
Content-Type:application/json
支持查询参数
参数名称 | 参数类型 | 参数描述 | 参数限制 | 是否必填 |
---|---|---|---|---|
member_id | int64 | 开发者账号 | 必填 | |
medium_name | string | 媒体名称 | 非必填 | |
placement_name | string | 广告位名称 | 同时传medium_name生效 | 非必填 |
placement_type | enum | 广告位类型 | 非必填 | |
price_strategy_type | enum | 取值参考价格策略类型 | 非必填 | |
start_date | int32 | 开始日期 | 格式为yyyyMMdd, 时间跨度不超过30天 |
必填 |
end_date | int32 | 截止日期 | 格式为yyyyMMdd, 时间跨度不超过30天 |
必填 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
list | ReportResult[] | 报表结果 |
ReportResult参数详情
名称 | 类型 | 描述 |
---|---|---|
member_id | int64 | 开发者账号 |
member_name | string | 媒体名称 |
app_id | long | 媒体id |
placement_id | int64 | 广告位ID |
placement_name | string | 广告位名称 |
placement_type | string | 广告位类型 |
date | string | 报表日期,yyyy-MM-dd |
is_summary | boolean | 是否是summary |
request_count | string | 广告位请求量 |
return_count | string | 广告位返回量 |
ad_request_count | string | 广告请求量 |
ad_return_count | string | 广告返回量 |
pv | string | 曝光量 |
click | string | 点击量 |
fill_rate | string | 广告位填充率 (广告位返回量 / 广告位请求量 * 100%) |
exposure_rate | string | 广告位曝光率 (曝光量/广告位返回量 * 100%) |
ad_fill_rate | string | 广告填充率 (广告返回量/广告请求量 * 100%) |
ad_exposure_rate | string | 广告曝光率 (曝光量 / 广告返回量 * 100%) |
click_rate | string | 点击率 (点击量 / 曝光量 * 100%) |
revenue | double | 收入 (单位:元) |
ecpm | double | 千次展示收入 (收入 / 曝光量 * 1000) (单位:元) |
cpc | double | 点击成本 (收入 / 点击量) (单位:元) |
price_level | string | 分层标签 |
revenue_usd | double | 收入 (单位:美元) |
ecpm_usd | double | 千次展示收入 (收入 / 曝光量 * 1000) (单位:美元) |
cpc_usd | double | 点击成本 (收入 / 点击量) (单位:美元) |
usd_exchange_rate | double | 美元/人民币汇率中间价(天级别更新) |
请求示例:
curl --location --request GET
'https://api.adnet.qq.com/open/v1.1/report/get?member_id=123' \
--header 'token:
cnRiLDE1ODQzMzI3NDQsNzEwZDY3MjNkNWViOWYxNWEwZmFkMTlhNjRiNWU5NWY1MDgwZDU5Mg==' \
应答示例:
{
"code": 0,
"message": "ok",
"data":{
"list": [{
"placement_id": 2040498460877118,
"member_id": 2763558177,
"app_id": 1101152570,
"medium_name": "SDK Demo",
"placement_name": "模板-图文-浮层单图-勿动",
"date": "2020-06-09",
"placement_type": "原生",
"exposure_rate": "8.13%",
"fill_rate": "75.00%",
"click_rate": "10.00%",
"ecpm": "8.50",
"revenue": "11.05",
"click": "130",
"pv": "1300",
"request_count": "20000",
"return_count": "15000",
"ad_request_count": "22000",
"ad_return_count": "16000",
"is_summary": false
}]
}
}
4.5 图片资源上传
图片类上传,统一先通过该接口上传资源,接口返回资源id之后,通过资源id来标识该图片。
请求URL:https://api.adnet.qq.com/open/v1.1/image/upload
请求方法:POST
Content-Type:multipart/form-data
请求字段:
参数名称 | 参数类型 | 参数描述 | 参数限制 | 是否必填 |
---|---|---|---|---|
member_id | int | 会员id | 当前会员id | 必填 |
type | string | 图片类型 | 参考图片类型 | 必填 |
file | file | 待上传图片 | 必填 |
返回参数
参数名称 | 参数类型 | 参数描述 |
---|---|---|
image_id | int | 图片资源id |
请求示例
curl --location --request POST 'https://adnet.qq.com/open/v1.1/image/upload' \
--header 'token: cnRiLDE1ODQzNzc0MTcsZDVjNjIzNWRkZTY1MTFmMGJmMWQyNzlkMTE0ZjI3M2ZmYzgyMGIxMA==' \
--header 'Content-Type: multipart/form-data' \
--form 'member_id=2763558177' \
--form 'type=PLACEMENT_IMAGE' \
--form 'file=@/Users/Desktop/WechatIMG197.jpeg' \
应答示例
{
"code": 0,
"message": "ok",
"data":{
"image_id" : 1
}
}
4.6 工具模块
4.6.1 获取美元汇率
请求URL:https://api.adnet.qq.com/open/v1.1/resource/get_usd_rate
请求方法:GET
支持查询参数:
参数名称 | 参数类型 | 参数描述 | 参数限制 | 是否必填 |
---|---|---|---|---|
member_id | int64 | 开发者账号 | 必填 |
返回参数
参数名称 | 参数类型 | 参数描述 |
---|---|---|
usd_rate | double | 汇率 |
附录
附录1. 返回码定义
返回码 | 返回消息 | 返回描述 |
---|---|---|
0 | ok | 表示请求成功 |
18001 | Your request is missing a required parameter. The required parameter is '%s'. | 请求参数缺少必填参数 |
18003 | The value you specified for '%s' is invalid. Valid values must be less than %s. | 传入参数不合法,数值必须小于某个值 |
18004 | The value you specified for '%s' is invalid. Valid values must be greater than %s. | 传入参数不合法,数值必须大于某个值 |
18008 | The parameter '%s' has too many characters. | 输入参数字长度超长 |
18009 | Parameter '%s' must be one of the following values: [%s] | 枚举值不在可选范围内 |
18011 | Your request contains too many values for '%s'. This parameter can have a maximum of %s value(s). | 参数数组元素数量过多 |
130001 | parameter error | 未知参数异常 |
130105 | parameter:%s is invalid | 数据错误 |
130106 | no auth | 没有权限 |
130107 | medium in blacklist | 该媒体被拉黑 |
130108 | wechat app id is invalid | 微信开放平台AppId校验不合法,请检查微信AppId和包名是否匹配 |
130109 | param error | 参数异常,请联系技术支持咨询 |
130110 | file too large | 上传文件过大 |
130111 | file format is invalid | 文件格式错误 |
130112 | internal error | 参数异常,请联系技术支持咨询 |
130113 | medium is not exist | 媒体不存在 |
130114 | member id not match | 账号信息不匹配 |
130115 | wechat app id can not delete | 微信开放平台AppId一旦添加不允许删除 |
130116 | operation forbidden | 操作不允许 |
130117 | app detail url invalid | 应用详情地址非法 |
130118 | invalid ad pull mode | 请求接入方式不支持 |
130119 | invalid ad style type | 广告样式不支持 |
130120 | unmatched template type | 模板类型不匹配 |
130121 | rewarded scene desc missing | 激励场景为其他时,描述为必填 |
130122 | unmatched scene and placement type | 场景和广告位类型不匹配 |
130123 | rewarded scene is not allowed empty when scene is RewardedVideo | 场景为激励视频时 激励场景不能为空 |
130124 | rewarded scene desc is not allowed empty when scene is RewardedVideo and rewarded scene is default | 场景为激励视频时激励场景为其他的时候描述不能为空 |
130125 | no white-list option | 没有白名单权限 |
130126 | unmatched app id | appid与请求不匹配 |
130127 | invalid app id | 非法媒体app id |
130130 | invalid render type | 渲染方式不支持 |
130131 | invalid image | 无效图片,图片资源不属于当前会员或者图片使用场景不对 |
130132 | flash crt type empty | 开屏场景必填开屏广告样式 |
130133 | unspport ad_crt_type_list | 不支持的素材样式 |
130137 | invalid medium, can not create placement | 自动生成的资讯媒体下不能创建广告位 |
130139 | freezed member can not operate | 会员被封禁 |
130140 | invalid ad crt, please check scene and ad crt which scene suppot | 无效的广告样式,场景下不支持该样式 |
130141 | unsupport ad pull mode in current medium | 当前媒体不支持改接入方式 |
130142 | invalid download_confirm value | 二次下载确认值无效 |
130300 | medium name exist | 媒体名称已存在 |
130301 | failed to verify domain | 域名验证失败 |
130302 | wechat universal link invalid | 微信univeral link不合法 |
130303 | h5 medium not support package_name、wechat_app_id、detail_url | H5媒体不支持package_name/wechat_app_id/detail_url |
130304 | android/ios medium not support domain、icp、icp_picture | Android、IOS媒体不支持domain/icp/icp_picture |
130305 | keywords size too large(over 60) | 关键词不得超过60个 |
130306 | package name has been blocked | 包名存在封禁记录 |
130307 | domain has been blocked | 域名存在封禁记录 |
130313 | package name error | 包名错误 |
130314 | sha1 error | sha1错误 |
130316 | detail url invalid | 详情页地址不合法 |
附录2. 行业
行业 | industry_id | 行业 | industry_id | 行业 | industry_id |
---|---|---|---|---|---|
日程备忘 | 50102 | 语言学习 | 50706 | 消除游戏 | 51713 |
办公室软件 | 50103 | 教育工具 | 50707 | 模拟经营 | 51714 |
文件管理 | 50104 | 汽车资讯 | 50801 | 益智休闲 | 51715 |
网络云盘 | 50105 | 驾照考试 | 50802 | 游戏助手 | 51716 |
输入法 | 50201 | 汽车交易 | 50803 | 游戏平台 | 51717 |
浏览器 | 50202 | 违章查询 | 50804 | 其他手游 | 51718 |
电池插件 | 50203 | 理财服务 | 50902 | 报刊杂志 | 51805 |
安全防护 | 50204 | 股票证券 | 50904 | 有声听书 | 51806 |
内存清理 | 50205 | 彩票双色球 | 50905 | 小说阅读 | 51807 |
WIFI | 50206 | 支付 | 50906 | 手机漫画 | 51808 |
账号辅助 | 50207 | 旅游服务 | 51002 | 幽默段子 | 51809 |
应用商店 | 50208 | 用车服务 | 51004 | 育儿工具 | 51901 |
主题美化 | 50209 | 地图导航 | 51006 | 孕育社区 | 51902 |
电话通讯 | 50210 | 公交服务 | 51008 | 经期健康 | 51903 |
性能优化 | 50211 | 共享单车 | 51009 | 垂类资讯 | 52001 |
万年历 | 50402 | 航班服务 | 51010 | 综合资讯 | 52002 |
天气服务 | 50403 | 火车服务 | 51011 | 网赚资讯 | 52003 |
运势信仰 | 50405 | 网络K歌 | 51301 | 相机 | 52101 |
闹钟 | 50406 | 音乐播放器 | 51302 | 图片美化 | 52102 |
红包助手 | 50407 | 在线音乐 | 51304 | 设计制作 | 52103 |
计算器 | 50408 | 广播电台 | 51305 | 体育资讯 | 52201 |
日记手账 | 50409 | 音乐乐器 | 51306 | 体育直播 | 52202 |
辅助工具 | 50410 | 在线视频 | 51401 | 平台 | 52301 |
导购分享 | 50501 | 在线直播 | 51402 | 美食菜谱 | 52401 |
二手交易 | 50506 | 视频播放器 | 51403 | 求职招聘 | 52402 |
移动电商 | 50507 | 短视频 | 51406 | 快递物流 | 52403 |
优惠比价 | 50508 | 电视视频 | 51407 | 在线团购 | 52404 |
运动健身 | 50603 | 视频工具 | 51408 | 房屋租赁 | 52405 |
医疗问询 | 50604 | 婚恋交友 | 51602 | 装修服务 | 52406 |
健康养生 | 50606 | 社交交友 | 51603 | 票务服务 | 52407 |
学前教育 | 50701 | 生活社区 | 51604 | 网赚平台 | 52408 |
词典翻译 | 50702 | 微博社交 | 51605 | 运营商服务 | 52409 |
K12 | 50703 | 问答社区 | 51606 | 美妆美发 | 52410 |
高等教育 | 50704 | 论坛贴吧 | 51607 | ||
职业培训 | 50705 | 棋牌游戏 | 51704 |
附录3. 自渲染广告样式
值 | 样式 |
---|---|
1 | 16:9 图片/视频 |
2 | 9:16 图片 、9:16 视频 |
3 | 16:9 图片/视频、9:16视频 |
4 | 16:9 图片/视频、3:2三小图 |
5 | 16:9 图片 |
6 | 16:9 图片,3:2三小图 |
7 | 9:16 图片 |
8 | 16:9视频 |
9 | 9:16视频 |
10 | 16:9 视频、9:16视频 |
11 | 16:9 图片,9:16图片 |
14 | 16:9 图片/视频、9:16 图片/视频 |
附录4. 枚举值定义
场景 scene
值 | 描述 |
---|---|
FLOW | 动态信息流 |
FOCUS_POINT | 横幅 |
FLASH | 开屏 |
VIDEO_PASTE | 视频贴片 |
BANNER | Banner |
REWARDED_VIDEO | 激励视频 |
INSERTION | 插屏 |
激励场景 rewarded_video_scene
值 | 描述 |
---|---|
OTHER | 其他 |
LOGIN_REWARD | 登陆奖励 |
TASK_REWARD | 任务奖励 |
PASS_REWARD | 过关奖励 |
CONTINUE_PLAY_REWARD | 续玩奖励 |
DOUBLE_REWARD | 翻倍奖励 |
WAITING | 等待时间 |
CLUES | 线索提示 |
APP_SHOPPING | 应用商店购物 |
LUCKY_TABLE | 幸运转盘 |
APP_OPEN_AGAIN | 再次打开应用 |
接入方式 ad_pull_mode
值 | 描述 |
---|---|
SDK | SDK |
JS | JS |
API | API |
RTB | RTB |
渲染方式 render_type
值 | 描述 |
---|---|
NORMAL | 自渲染 |
TEMPLATE | 模版渲染 |
素材类型 ad_crt_type
值 | 描述 |
---|---|
VIDEO | 视频素材 |
IMAGE | 图文素材 |
开屏广告样式 flash_crt_type
值 | 描述 |
---|---|
FLASH_ERECT | 竖图 |
FLASH_JOINT | 接受横版拼接的竖图 |
激励视频广告样式 rewarded_video_crt_type
值 | 描述 |
---|---|
ALL_DIRECTION | 横竖屏混出 |
模版类型 ad_crt_template_type
值 | 描述 |
---|---|
TP_BT | 上图下文(支持视频) |
TT_BP | 上文下图(支持视频) |
LP_RT | 左图右文 |
RP_LT | 左文右图 |
DB_TI | 双图双文(支持视频) |
V_IMG | 纯图竖版 |
H_IMG | 纯图横版(支持视频) |
THR_IMG | 三小图双文 |
TT_BP_MASK | 上文下图-文字浮层 |
TP_BT_MASK | 上图下文-文字浮层 |
TP_IMG_MASK | 单图单文-文字浮层 |
INLINE_H | 横版插屏(支持视频) |
INLINE_VH | 横/竖版插屏(支持视频) |
INLINE_FULL | 全屏插屏(仅支持视频) |
INLINE_V | 半屏插屏-竖版(支持视频) |
BANNER_DP | banner 小方图双文 |
过滤行业 filter_categories
值 | 描述 |
---|---|
ADULT_ALL_PRODUCT | 成人医疗减肥类 |
CONSTELLATION_PRODUCT | 星座算命类 |
P2P_LENDING_PRODUCT | P2P网贷类 |
价格策略类型 price_strategy_type
值 | 描述 |
---|---|
LEVEL_PRICE | 多阶价 |
广告返回元素 ad_feedback_element
值 | 描述 |
---|---|
LINK_TITLE | 链接标题 |
LINK_ICON | 链接图标 |
LINK_IMG | 链接正图 |
LINK_DESC | 链接描述 |
APP_DL_NAME | 应用名称 |
APP_DL_ICON | 应用图标 |
APP_DL_IMG | 应用正图 |
APP_DL_DESC | 应用描述 |
rtb绑定的os rtb_relation_os
值 | 描述 |
---|---|
ANDROID | 安卓 |
IOS | 苹果系统 |
上传图片类型type
值 | 描述 |
---|---|
PLACEMENT_IMAGE | 广告位截图 |
SOFT_REGISTRATION_IMAGE | 软件著作权证书 |
COMPANY_SHIP_IMAGE | 公司关系证明 |
GAME_ISBN_IMAGE | 游戏出版物号 |
BIZ_RIGHT_IMAGE | 授权或代理证明 |
SITE_ICP_IMAGE | 站点ICP备案图片 |
应用广告跳落地页确认 download_land_page
值 | 描述 |
---|---|
Default | 默认 |
ToLandPage | 任何联网方式都跳 |
NotToLandPage | 任何联网方式都不跳 |
媒体状态
值 | 描述 |
---|---|
Pending | 待审核 |
Approved | 正常 |
Rejected | 拒绝 |
Ban | 封禁 |
Violation | 违规暂停 |
ModificationInReview | 修改审核中 |
广告位暂停状态
值 | 描述 |
---|---|
Normal | 启用中 |
Pause | 暂停 |
广告位状态
值 | 描述 |
---|---|
Normal | 正常 |
Ban | 封禁 |
Pause | 违规暂停 |
Freeze | 冻结 |
Refuse | 拒绝合作 |
服务端校验是否开启
值 | 描述 |
---|---|
NeedServerVerify | 开启服务器端校验 |
NotNeedServerVerify | 不开启服务器端校验 |
附录5. 广告场景与广告位类型映射关系
广告场景 | 广告位类型 |
---|---|
开屏 | 开屏 |
动态信息流 | 原生 |
激励视频 | 激励视频 |
横幅 | 原生 |
Banner | 模板渲染——Banner2.0;自渲染——原生 |
插屏 | 插屏2.0 |
视频贴片 | 原生 |
附录6. 不同接入方式场景下支持的广告样式
接入方式 | 广告场景 | 渲染方式 | 广告样式 |
---|---|---|---|
SDK | 动态信息流 | 模板渲染 | TP_BT("上图下文"), TT_BP("上文下图"), LP_RT("左图右文"), RP_LT("左文右图"), TP_BT_MASK("上图下文-文字浮层"), TT_BP_MASK("上文下图-文字浮层"), DB_TI("双图双文"), TP_IMG_MASK("单图单文-文字浮层"), V_IMG("竖版纯图片"), H_IMG("横版纯图片"), THR_IMG("三小图双文") |
自渲染 | 1("16:9 图片/视频"), 2("9:16 图片 、9:16 视频"), 3("16:9 图片/视频、9:16视频") 4("16:9 图片/视频、3:2三小图"), 5("16:9 图片"), 6("16:9 图片,3:2三小图"), 7("9:16 图片"), 8("16:9视频"), 9("9:16视频"), 10("16:9 视频、9:16视频") 14("16:9 图片/视频、9:16 图片/视频") | ||
SDK | 视频贴片 | 模板渲染 | TP_BT("上图下文"), TT_BP("上文下图"), TP_BT_MASK("上图下文-文字浮层"), TT_BP_MASK("上文下图-文字浮层"), DB_TI("双图双文"), TP_IMG_MASK("单图单文-文字浮层"), V_IMG("竖版纯图片"), H_IMG("横版纯图片") |
自渲染 | 1("16:9 图片/视频"), 2("9:16 图片 、9:16 视频"), 3("16:9 图片/视频、9:16视频") 4("16:9 图片/视频、3:2三小图"), 5("16:9 图片"), 6("16:9 图片,3:2三小图"), 7("9:16 图片"), 8("16:9视频"), 9("9:16视频"), 10("16:9 视频、9:16视频") 14("16:9 图片/视频、9:16 图片/视频") | ||
SDK/JS | Banner | 模板渲染 | BANNER_DP("小方图双文") |
自渲染 | 11("16:9 图片,9:16图片") | ||
SDK | 横幅 | 模板渲染 | TP_BT("上图下文"), TT_BP("上文下图"), LP_RT("左图右文"), RP_LT("左文右图"), TP_BT_MASK("上图下文-文字浮层"), TT_BP_MASK("上文下图-文字浮层"), DB_TI("双图双文"), TP_IMG_MASK("单图单文-文字浮层"), H_IMG("横版纯图片") |
自渲染 | 1("16:9 图片/视频"), 4("16:9 图片/视频、3:2三小图"), 5("16:9 图片"), 6("16:9 图片,3:2三小图"), 7("9:16 图片"), 8("16:9视频") | ||
SDK | 插屏 | 模板渲染 | INLINE_H("横版插屏"), INLINE_VH("横/竖版插屏"), INLINE_FULL("全屏插屏"), INLINE_V("半屏插屏-竖版"), |
SDK/API/RTB | 开屏 | 无 | FLASH_ERECT("竖版图片"), FLASH_JOINT("横版拼接的竖版图片") |
SDK/JS/API/RTB | 激励视频 | 无 | ALL_DIRECTION("横屏/竖屏混出") |
JS | 动态信息流 | 模板渲染 | TP_BT("上图下文"), TT_BP("上文下图"), LP_RT("左图右文"), RP_LT("左文右图"), TP_BT_MASK("上图下文-文字浮层"), TT_BP_MASK("上文下图-文字浮层"), TP_IMG_MASK("单图单文-文字浮层"), V_IMG("竖版纯图片"), H_IMG("横版纯图片"), THR_IMG("三小图双文") |
自渲染 | 5("16:9 图片"), 6("16:9 图片,3:2三小图"), 7("9:16 图片") | ||
JS | 视频贴片 | 模板渲染 | TP_BT("上图下文"), TT_BP("上文下图"), TP_BT_MASK("上图下文-文字浮层"), TT_BP_MASK("上文下图-文字浮层"), TP_IMG_MASK("单图单文-文字浮层"), V_IMG("竖版纯图片"), H_IMG("横版纯图片") |
自渲染 | 5("16:9 图片"), 6("16:9 图片,3:2三小图"), 7("9:16 图片") | ||
JS | 横幅 | 模板渲染 | LP_RT("左图右文"), RP_LT("左文右图"), TP_BT("上图下文"), TT_BP("上文下图"), TP_BT_MASK("上图下文-文字浮层"), TT_BP_MASK("上文下图-文字浮层"), TP_IMG_MASK("单图单文-文字浮层"), H_IMG("横版纯图片") |
自渲染 | 5("16:9 图片"), 6("16:9 图片,3:2三小图"), 7("9:16 图片") | ||
API/RTB | 动态信息流/视频贴片 | 自渲染 | 1("16:9 图片/视频"), 2("9:16 图片 、9:16 视频"), 3("16:9 图片/视频、9:16视频") 4("16:9 图片/视频、3:2三小图"), 5("16:9 图片"), 6("16:9 图片,3:2三小图"), 7("9:16 图片"), 8("16:9视频"), 9("9:16视频"), 10("16:9 视频、9:16视频") 14("16:9 图片/视频、9:16 图片/视频") |
API/RTB | 横幅 | 自渲染 | 1("16:9 图片/视频"), 2("9:16 图片 、9:16 视频"), 3("16:9 图片/视频、9:16视频") 4("16:9 图片/视频、3:2三小图"), 5("16:9 图片"), 6("16:9 图片,3:2三小图"), 8("16:9视频"), 9("9:16视频"), 10("16:9 视频、9:16视频") |
API/RTB | Banner | 自渲染 | 11("16:9 图片,9:16图片") |
附录7. 媒体隶属关系
媒体隶属关系 | 关系描述 |
---|---|
Unknown | 未知(兼容历史数据,新创建媒体不得使用) |
Own | 自有媒体 |
Agency | 代理媒体 |
附录8. 价格策略
价格策略 | 策略描述 |
---|---|
Default | 默认底价 |
TargetPrice | 目标价 |
CustomBasePrice | 自定义底价 |