跳到主要内容

开发者后台管理 API

修订历史​

发布时间修订说明
2026-10-21新增查询诊断优化列表(/api/Intermediary/app_optimizing)和指定中介组明细(/api/Intermediary/group_adsource_metrics)。按价格排序看 rate,建议再加一层的价格在 optimizing_list 的规则 7 suggested_rate。
2026-09-18支持 start.io(28)、Google Ad Manager(48)、Verve(53)广告源手工创建(不含自动化)。start.io / Verve 须 Header Bidding(S2S);Google Ad Manager 不支持 Header Bidding。PID 与样式见附录2。
2026-09-14自定义中介组更新未传 cache_num 时沿用该组已有并行数,不再改成广告类型默认;未传 min_cache 也不再被写成并行数。创建未传 cache_num 仍按类型默认。
2026-09-11补齐独立绿字段传参:发布地区、中介组超时/频控/开屏重试、组底价与公司级别(二级中级 / 三级高级 / 九级默认)、广告源 group_list 的 selected/rate/is_auto_price。更新只传要改的键,未传保持原值。
2026-09-11写接口补齐联动校验:上架与安卓市场配对、展示回调类型、填充回调与等待时长、自动刷新开关与时长、最小缓存与并行数、竞价底价仅竞价源可写、创建广告源 is_modify_pid。广告源 group_list 传入须为全量覆盖(含 [] 全关)。更新应用 2/3 可沿用库里的域名和商店链接。
2026-09-10/api/seat/store 回调密钥由系统生成:打开回调只传地址;编辑传 refresh_secret_key / refresh_imp_secret_key=1 换新密钥。查询仍明文回显。
2026-09-04/api/seat/store 支持创建互动广告(ad_type=7)、插播(ad_type=8)。未传 cache_num 时互动广告默认 1、插播默认 2。
2026-09-02应用/广告位/中介组/广告源写读对齐开发者后台:上架与域名、奖励与展示回调、超时与频控、group_list / 底价 / is_modify_pid。补齐类型校验、group_list 对不上报错不改库、is_modify_pid 冲突说明。
2026-09-01支持 Digital Turbine、YSO 广告源自动化创建及三方 Placement ID 回写;支持 zMaticoo 广告源手动创建。
2026-08-31开放 Unity Ads 广告源自动化创建能力(仅非 Bidding),补充 Game ID、Placement ID 回写及横幅尺寸填写说明。
2026-08-21穿山甲(adsource_id=17)手动创建须填 placement_config.primeRitId;不支持 OpenAPI 自动化。
2026-08-21AdMob、Moloco 原生横幅 native_ad_size 仅支持 3(300 x 250);历史数据不迁移。
2026-08-20支持 Moloco、Magnite 广告源手工创建(不含自动化),对齐后台广告类型与 Header Bidding(S2S)。
2026-08-12重新开放 Yandex 广告源自动化创建能力,补充权限、应用 ID 及激励相关填写说明。
2026-08-07获取广告位接口(/api/seat/seats)返回新增 adseat_label,用于区分普通、共享、智能策略广告位。
2026-08-06支持开屏:Unity Ads 插屏开屏。
2026-07-27支持 Mintegral、Vungle、Bigo、TaurusX、Inmobi 广告源自动化创建能力,覆盖各类广告类型转换适配场景。
2026-07-24新增中介组排序。
2026-07-14原生横幅尺寸与关闭按钮配置扩展至 Columbus、TaurusX。
2026-06-26扩展原生横幅广告源的尺寸与关闭按钮配置说明,新增 Meta、Mintegral、Inmobi、Yandex、Bigo 等平台;Meta 横幅补充原生拼横幅的创建与查询说明。
2026-06-12支持 AdMob、Google Ad Manager 横幅内嵌式自适应广告源。
2026-06-11原生横幅广告源支持在 placement_config 中配置 native_ad_size、close_button;适用 AdMob、Pangle、Vungle。
2026-05-26更新 AdMob 广告源创建说明,统一手动与自动化创建的应用 ID 填写方式。
2026-05-07支持 Pangle 广告源自动化创建能力,覆盖各类广告类型转换适配场景。
2026-04-14接口功能更新:查询广告源信息增加可选参数 ,创建和编辑中介组 支持默认组的更新操作。
2026-04-09支持 Meta、AdMob 广告源自动化创建能力,覆盖各类广告类型转换适配场景。
2026-03-25支持 A/B 测试全流程管理能力

1 获取 Api Key​

在 TradPlus 开发者后台 ,进入“用户信息”,“我的账号”,“API Key”,获取 API Key 和秘钥。

名称用途
API Key(bear)标识用户身份
密钥(secret)生成请求签名

2 API 接入​

所有请求都采用post方式,POST 请求数据默认格式为:multipart/form-data;请求域名为:https://openapi.tradplusad.com

2.1 请求公参​

参数说明传递方式样例
bearAPI keyHTTP Header157E4A5D-3877-1236-DE06-457FT3F70C4
sign签名GET5DE008C88087D8556D276A9E5B8E37E6
timestamp时间戳,当前时间的秒数GET1629525680
nonce16位长度随机字符,数字与字母组合GET5c672d4e9628d0a7

2.2 生成签名​

获取 bear 和 secret,参考 1 获取 Api Key

具体规则如下:

  1. 拼接 secret, timestamp, nonce 和请求路径
  2. md5加密并且转换为大写
$sign = strtoupper(md5($secret+$timestamp+$nonce+$path));

2.3 调用示例​

curl --location --request POST 'https://openapi.tradplusad.com/api/seat/store?sign=5DE008C88087D8556D276A9E5B8E37E6&timestamp=1629525680&nonce=5c672d4e9628d0a7' \
--header 'bear: 157E4A5D-3877-1236-DE06-457FT3F70C4' \
--form 'adseat_list[0][app_uuid]="BA04D9C5A5E736CCDA8003BC5D936BE5"' \
--form 'adseat_list[0][seat_name]="test创建"' \
--form 'adseat_list[0][ad_type]="5"' \
--form 'adseat_list[0][adseat_uuid]=""'

2.4 返回参数​

返回 json 格式

2.4.1 成功​

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"adseat_uuid": "8629EE09A4E3C6B60AEC48FA7D6CA4D4",
"seat_name": "test创建",
"error_message": ""
}
]
}
}

2.4.2 失败​

{
"code": 403,
"status": -1,
"error_message":"sign error"
}

3 报表​

3.1 提交三方广告平台报表数据​

请求路径: /api/report/submit

请求参数:

字段类型必传说明备注
report_data_listArrayY最多10个超过会被丢弃
report_data_list.dayStringY日期,仅支持到天 Y-m-d 格式 示例:2021-02-01
report_data_list.isoStringY国家二位码(短码) 示例:GE 见:8.1
report_data_list.adsource_idIntYtradplus 广告平台 ID 见:8.2
report_data_list.placement_idStringY三方广告平台广告位 ID Mintegral 需要用 "_" 拼接 AD Unit ID
Unity_Ads 需要拼接 Game ID
Applovin 需要拼接 SDK Key
Kidoz 需要拼接应用的包名 package_name
ReklamUp 需要拼接应用的包名 package_name
示例:placementID_adUnitID
report_data_list.currencyStringN币种单位 CNY 或 USD,不传默认 CNY 
report_data_list.bidding_requestIntN竞价请求 默认 0
report_data_list.bidding_responseIntN竞价响应默认 0
report_data_list.requestIntN请求默认 0
report_data_list.fillIntN填充默认 0
report_data_list.impressionIntN展示默认 0
report_data_list.clickIntN点击默认 0
report_data_list.incomeFloatN收入默认 0

返回字段:

字段类型必传说明
errorArrayY错误信息列表
error.messageStringN错误信息
error.report_dataArrayN错误信息详情(同请求数据)

返回样例:

{
"code": 200,
"status": 0,
"data": {
"error": [
{
"message": "国家二位码(短码) 缺失或者错误",
"report_data": {
"day": "2022-01-18",
"iso": "USA",
"adsource_id": "16",
"placement_id": "abc123",
"currency": "CNY",
"income": "50",
"fill": "800"
}
},
{
"message": "广告网络ID 缺失或者错误",
"report_data": {
"day": "2022-01-19",
"iso": "CN",
"adsource_id": "475",
"placement_id": "22",
"currency": "CNY",
"income": "20",
"fill": "600",
"impression": "100"
}
}
]
}
}

4 应用管理​

4.1 获取应用分类​

请求路径: /api/app/allcategory

请求参数:无

返回字段:

字段类型必传说明
first_categoryArrayY一级分类
first_category.idStringY分类 id
first_category.name_cnStringY中文名
first_category.name_enStringY英文名
sub_categoryArrayY二级分类
sub_category.idStringY二级分类 id
sub_category.pidStringY对应的一级分类 id
sub_category.name_cnStringY中文名
sub_category.name_enStringY英文名

返回样例:

{
"code": 200,
"status": 0,
"data": {
"first_category": [
{
"id": "1",
"name_cn": "游戏",
"name_en": "Game"
},
{
"id": "2",
"name_cn": "应用",
"name_en": "App"
}
],
"sub_category": [
{
"id": "101",
"name_cn": "动作",
"name_en": "Action",
"pid": "1"
},
{
"id": "102",
"name_cn": "冒险",
"name_en": "Adventure",
"pid": "1"
}
...
]
}
}

4.2 获取应用​

请求路径: /api/app/apps

请求参数:

如果传了 app_uuids 则忽略 page,只有在 app_uuids 不传的情况下才返回 has_more 和 total

字段类型必传说明备注
app_uuidsStirngN应用 ID每次最多接受100个
pageIntN页数 默认1 每页100条

返回字段:

字段类型必传说明备注
totalIntN总数
has_moreIntN是否还有更多
app_listArrayY应用信息
app_list.app_uuidStringY开发者应用 ID
app_list.app_nameStringY应用名称
app_list.category_idIntY二级分类
app_list.app_urlStringY应用商店链接
app_list.package_nameStringY应用包名
app_list.osIntY应用平台1:安卓 2:iOS
app_list.is_releaseIntY是否上架1:未上架 2:已上架 3:其他应用市场
app_list.domainStringY应用域名
app_list.other_app_marketIntN安卓应用市场仅 Android。取值见附录4
app_list.app_release_regionIntN发布地区1 全球地区、2 中国地区、3 海外地区

请求示例

curl --location --request POST 'https://openapi.tradplusad.com/api/app/apps?sign=5DE008C88087D8556D276A9E5B8E37E6&timestamp=1629525680&nonce=5c672d4e9628d0a7' \
--header 'bear: 157E4A5D-3877-1236-DE06-457FT3F70C4' \
--header 'Content-Type: application/json' \
--data '{"app_uuids":"348FA2C4CFA91471D09DC529EAB1459E","page":1}'

返回样例:

{
"code": 200,
"status": 0,
"data": {
"has_more": 0,
"total": 25,
"app_list": [
{
"app_uuid": "A741926221D7FEFBCB179D08B4477713",
"app_name": "test1",
"os": 1,
"is_release": 2,
"package_name": "com.test1",
"app_url": "http://www.test1.com",
"category_id": 102,
"domain": "example.com",
"other_app_market": 13,
"app_release_region": 1
},
{
"app_uuid": "4F1E43B002376A505FFFB03F04C170E5",
"app_name": "test2",
"os": 1,
"is_release": 2,
"package_name": "com.test.4iphone",
"app_url": "http://www.test2.com",
"category_id": 111
},
...
]
}
}

4.3 创建和编辑应用​

请求路径: /api/app/store

请求参数:

字段类型必传说明备注
app_listArrayYapp 信息每次最多10个,超过会被丢弃
app_list.app_uuidStringN开发者应用 ID 编辑必传
app_list.app_nameStringN应用名称 编辑必传
app_list.osIntN应用平台 1:安卓 2:iOS 创建后不可编辑
app_list.package_nameStringN应用包名 创建必传
app_list.app_urlStringN应用商店链接 is_release=2 或 3 时须有值:创建必传;更新未传则沿用库里已有链接,显式传空会失败。iOS 已上架或 Android other_app_market=13 时,本次若带了链接会按链接拉取商店信息;app_name、package_name 可覆盖
app_list.category_idIntN分类参考 3.1 获取应用分类 创建必传
app_list.directionIntN屏幕方向 1-竖屏 2-横屏 0-自适应
app_list.is_releaseIntY是否上架创建必填。1 未上架 2 已上架 3 其他应用市场。2/3 时须有 domain 与 app_url:创建必传;更新只改 is_release 时可沿用库里已有值
app_list.domainStringN应用域名is_release=2 或 3 时须有值。更新未传则沿用已有域名,显式传空会失败
app_list.other_app_marketIntN安卓应用市场仅 Android。取值见附录4。is_release=2 须为 13;is_release=3 须为 0–12,不能为 13。13 时会按商店链接拉取元数据
app_list.app_release_regionIntN发布地区1 全球地区、2 中国地区、3 海外地区。更新未传则保持原值

返回字段:

字段类型必传说明
listArrayY应用信息
list.app_uuidStirngN开发者应用 ID
list.app_nameStirngN应用名称
list.error_messageStirngN错误信息,空字符表示成功

请求示例

curl --location --request POST 'https://openapi.tradplusad.com/api/app/store?sign=5DE008C88087D8556D276A9E5B8E37E6&timestamp=1629525680&nonce=5c672d4e9628d0a7' \
--header 'bear: 157E4A5D-3877-1236-DE06-457FT3F70C4' \
--header 'Content-Type: application/json' \
--data '{"app_list":[{"app_uuid":"","app_name":"API\u5e94\u7528","os":1,"package_name":"api","app_url":"","category_id":101,"direction":1}]}'

返回样例:

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"app_uuid": "",
"app_name": "a1",
"error_message": "应用名称已存在"
},
{
"app_uuid": "A741926221D7FEFBCB179D08B4477713",
"app_name": "test1",
"error_message": ""
}
]
}
}

5 广告位管理​

5.1 获取广告位​

请求路径: /api/seat/seats

请求参数:

字段类型必传说明备注
app_uuidStirngN单个应用 ID,可以获取某个应用下的所有广告位app_uuid 和 adseat_uuid 互斥 都传只取 app_uuid
adseat_uuidsStringN广告位 ID,多个逗号分割, 最多返回100 
pageStringN页数 默认1  每页100条

返回字段:

字段类型必传说明备注
has_moreIntN
totalIntN
adseat_listArrayY
adseat_list.app_uuidStringY开发者应用 ID
adseat_list.seat_nameStringY广告位名称
adseat_list.adseat_uuidStringY广告位 ID
adseat_list.adseat_labelStringY广告位类型标签,只读。normal 普通广告位;shared 共享主广告位;intelligent 智能策略广告位(含主广告位与子广告位)。每个广告位仅返回一个标签;绑定共享的广告位(非共享主广告位)返回 normal
adseat_list.cache_numIntY并行请求数
adseat_list.ad_typeIntY广告类型:
1 原生
2 插屏
3 开屏
4 横幅
5 激励视频
7 互动广告
8 插播
adseat_list.use_frequencyIntY是否设置展示频次上线:1 是 0 否
adseat_list.frequency_limitIntY展示数上限 
adseat_list.frequency_unit_countIntY单位间隔
adseat_list.frequency_unitIntY次数单位:1 分钟 2 小时 3 天eg:
每5(frequency_unit_count)
分钟 (frequency_unit)
展示10次(frequency_limit)
adseat_list.ad_type_templateIntN原生模版类型 标准原生: 1
原生横幅: 2
Draw 信息流: 3
原生开屏: 4
原生类型返回
adseat_list.refresh_timeIntN刷新时间原生横幅,横幅返回
adseat_list.skip_timeIntNn 秒后显示跳过按钮开屏,原生开屏类型返回
adseat_list.countdown_timeIntN倒计时总时长开屏,原生开屏类型返回
adseat_list.is_skipIntN是否可跳过开屏,原生开屏字类型返回
adseat_list.monetary_nameStringN奖励项目激励视频类型返回
adseat_list.monetaryIntN奖励数量激励视频类型返回
adseat_list.is_server_callbackIntN奖励回调开关1 开 0 关;激励视频返回
adseat_list.callback_urlStringN奖励回调 URL
adseat_list.secret_keyStringN奖励回调密钥明文;系统生成,只读
adseat_list.imp_is_server_callbackIntN展示回调开关1 开 0 关
adseat_list.imp_callback_urlStringN展示回调 URL
adseat_list.imp_secret_keyStringN展示回调密钥明文;系统生成,只读
adseat_list.imp_callback_typeIntN展示回调类型1 普通 2 精准

请求示例

curl --location --request POST 'https://openapi.tradplusad.com/api/seat/seats?sign=5DE008C88087D8556D276A9E5B8E37E6&timestamp=1629525680&nonce=5c672d4e9628d0a7' \
--header 'bear: 157E4A5D-3877-1236-DE06-457FT3F70C4' \
--header 'Content-Type: application/json' \
--data '{"app_uuid":"348FA2C4CFA91471D09DC529EAB1459E", "adseat_uuids":"","page":1}'

返回样例:

{
"code": 200,
"status": 0,
"data": {
"has_more": 0,
"total": 58,
"adseat_list": [
{
"app_uuid": "A741926221D7FEFBCB179D08B4477713",
"seat_name": "cp1",
"adseat_uuid": "E1FF0FF0BFF1EBDB61C0FED50E66229D",
"adseat_label": "normal",
"ad_type": 2,
"cache_num": 2,
"use_frequency": 0,
"frequency_limit": 0,
"frequency_unit_count": 0,
"frequency_unit": 0
},
{
"app_uuid": "1BCEFCAD3011A276134CC6225E724064",
"seat_name": "bzys",
"adseat_uuid": "D202406D331F32A5BBD1231065BAD7A0",
"adseat_label": "normal",
"ad_type": 1,
"cache_num": 2,
"use_frequency": 0,
"frequency_limit": 0,
"frequency_unit_count": 0,
"frequency_unit": 0,
"ad_type_template": 1
},
...
]
}
}

5.2 创建和编辑广告位​

请求路径: /api/seat/store

请求参数:

字段类型必传说明备注
adseat_listArrayY最多10个超过会被丢弃
adseat_list.app_uuidStringY开发者应用 ID开发者应用 ID ,创建后不可编辑。
adseat_list.seat_nameStringY广告位名称 创建必传
adseat_list.adseat_uuidStringN广告位 ID 编辑必传
adseat_list.cache_numIntN广告并行请求数。未传时默认 2;互动广告(7)默认 1,插播(8)默认 2开屏范围:15 其他范围:120
adseat_list.ad_typeIntY广告类型:
1 原生
2 插屏
3 开屏
4 横幅
5 激励视频
7 互动广告
8 插播
广告类型,创建必传,创建后不可编辑。
adseat_list.use_frequencyIntN是否设置展示频次上线:默认否1 是 0 否
adseat_list.frequency_limitIntN展示数上限 n 次展示,默认 1 
adseat_list.frequency_unit_countIntN单位间隔, 默认 1 
adseat_list.frequency_unitIntN次数单位, 分钟:1 小时: 2 天:3 默认 1
adseat_list.ad_type_templateIntN1 标准原生
2 原生横幅
3 Draw 信息流
4 原生拼接开屏
创建原生类型必传,创建后不可编辑。
adseat_list.refresh_timeIntN自动刷新,范围:15~150秒仅对横幅与原生横幅生效
可以不传,表示不刷新
adseat_list.skip_timeIntNn 秒后显示跳过按钮
范围:0~10秒 默认为2
创建开屏与原生开屏必传,仅对开屏与原生开屏生效
adseat_list.countdown_timeIntN倒计时总时长
范围:3~10秒, 默认 5
创建开屏与原生开屏必传
仅对开屏与原生开屏生效
倒计时总时长必须大于 skip_time
adseat_list.is_skipIntN是否可跳过,1是 0否, 默认是创建开屏与原生开屏必传,仅对开屏与原生开屏生效
adseat_list.monetary_nameStringN奖励项目仅对激励视频生效
adseat_list.monetaryIntN奖励数量仅对激励视频生效
adseat_list.is_server_callbackIntN奖励回调开关仅激励视频;1=开时须同时传 callback_url。密钥由系统生成,查询列表明文回显。非激励广告位传奖励回调字段会报「非激励视频无需设置奖励回调」
adseat_list.callback_urlStringN奖励回调 URL最长 2000
adseat_list.refresh_secret_keyIntN刷新奖励回调密钥仅编辑;1=换新密钥
adseat_list.imp_is_server_callbackIntN展示回调开关1=开时须同时传 imp_callback_url。密钥由系统生成
adseat_list.imp_callback_urlStringN展示回调 URL最长 2000
adseat_list.refresh_imp_secret_keyIntN刷新展示回调密钥仅编辑;1=换新密钥
adseat_list.imp_callback_typeIntN展示回调类型1 普通 2 精准。只要传了且不是 1 或 2(如 99),无论回调开或关都报「展示回调类型参数设置错误」。0 或不传不报错

打开激励视频奖励回调时只传开关和地址,创建成功后用 /api/seat/seats 读 secret_key。换钥时编辑传 refresh_secret_key=1(展示回调用 refresh_imp_secret_key=1)。

{"adseat_list":[{"app_uuid":"<app_uuid>","seat_name":"激励01","ad_type":5,"is_server_callback":1,"callback_url":"https://example.com/reward"}]}
{"adseat_list":[{"app_uuid":"<app_uuid>","adseat_uuid":"<adseat_uuid>","refresh_secret_key":1}]}

返回字段:

字段类型必传说明备注
listArrayY
list.adseat_uuidStringY
list.seat_nameStringY
list.error_messageStringY错误信息,空字符表示成功

请求示例

curl --location --request POST 'https://openapi.tradplusad.com/api/seat/store?sign=5DE008C88087D8556D276A9E5B8E37E6&timestamp=1629525680&nonce=5c672d4e9628d0a7' \
--header 'bear: 157E4A5D-3877-1236-DE06-457FT3F70C4' \
--header 'Content-Type: application/json' \
--data '{"adseat_list":[{"app_uuid":"BA04D9C5A5E736CCDA8003BC5D936BE5","seat_name":"API\u521b\u5efa","ad_type":"5","adseat_uuid":""}]}'

返回样例:

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"adseat_uuid": "9D0A151A3B9169369CB75873FD86713E",
"seat_name": "test原生横幅",
"error_message": ""
},
{
"adseat_uuid": "",
"seat_name": "",
"error_message": "应用id必填"
}
]
}
}

6 中介组管理​

6.1 查询中介组列表​

请求路径: /api/intermediary/group_list

请求参数:

字段类型必传说明
currencyStringY货币单位,USD 或 CNY
adseat_uuidStringY广告位 uuid

返回字段:

字段类型必传说明
abtest_nameStringYAB 测试组名称
bucket_idStringYAB 分组 id
group_idStringY中介组 id
group_nameStringY中介组名称
bidding_adsource_cache_numStringYBidding 广告源保留数
bidding_floor_priceStringYBidding 底价;单位与请求 currency 一致,0 表示不设底价
cache_numStringY并行请求数
is_presetStringY是否预置中介组 1-是 0-否
is_cold_sceneStringY是否冷启动 1-是 0-否
countryStringY国家地区
cityStringY城市
rule_jsonStringY流量分组规则
segment_tagStringY自定义用户属性
statusStringY状态 1-开启 2-关闭
preset_countryStringY预置中介组国家
min_cacheStringN最小缓存数
ad_fill_callbackStringN广告填充回调:1 eCPM 优先,2 速度优先
sdk_request_adsource_timeoutStringN广告源请求超时,单位秒
sdk_bidding_timeoutStringN服务端竞价超时,单位秒
sdk_c2s_bidding_timeoutStringNC2S 竞价超时,单位秒
sdk_load_max_wait_timeStringNeCPM 优先最大等待,单位秒;0 表示不设等待
frequency_capping_hourStringN每小时展示上限:0 不限制,1–1000 为次数
frequency_capping_dayStringN每天展示上限:0 不限制,1–1000 为次数
frequency_pacing_minStringN展示间隔,单位分钟:0 不限制,1–1000 为间隔
request_fail_retryStringN请求失败重试(仅开屏):0 关 1 开
is_refreshStringN自动刷新(横幅)
refresh_timeStringN刷新时长(横幅)

请求示例

curl --location 'https://openapi.tradplusad.com/api/intermediary/group_list' \
--header 'bear: EEB82554-BD76-1474-EB7E-3785B5107872' \
--header 'Content-Type: application/json' \
--data '{"currency": "USD","adseat_uuid": "15974C36532C36C820D5B9AAEC21EB12"}'

返回样例:

{
"code": 200,
"status": 0,
"data": [
{
"group_id": "56646",
"group_name": "自定义",
"bucket_id": "8094",
"bidding_adsource_cache_num": "2",
"bidding_floor_price": "0",
"cache_num": "2",
"is_preset": "0",
"is_cold_scene": "0",
"country": "",
"city": "",
"rule_json": "{}",
"segment_tag": "",
"status": "1",
"preset_country": "",
"abtest_name": "对照组"
},
{
"group_id": "0",
"group_name": "所有国家",
"bucket_id": "8094",
"bidding_adsource_cache_num": "2",
"bidding_floor_price": "0",
"cache_num": "2",
"is_preset": "0",
"is_cold_scene": "0",
"country": "",
"city": "",
"rule_json": "{}",
"segment_tag": "",
"status": "1",
"preset_country": "",
"abtest_name": "对照组"
},
{
"group_id": "56647",
"group_name": "自定义",
"bucket_id": "8095",
"bidding_adsource_cache_num": "2",
"bidding_floor_price": "0",
"cache_num": "2",
"is_preset": "0",
"is_cold_scene": "0",
"country": "",
"city": "",
"rule_json": "{}",
"segment_tag": "",
"status": "1",
"preset_country": "",
"abtest_name": "实验组1"
},
{
"group_id": "0",
"group_name": "所有国家",
"bucket_id": "8095",
"bidding_adsource_cache_num": "2",
"bidding_floor_price": "0",
"cache_num": "2",
"is_preset": "0",
"is_cold_scene": "0",
"country": "",
"city": "",
"rule_json": "{}",
"segment_tag": "",
"status": "1",
"preset_country": "",
"abtest_name": "实验组1"
}
]
}

6.2 创建和编辑中介组​

请求路径: /api/intermediary/store

请求参数:

字段类型必传说明备注
currencyStringY货币单位,USD 或 CNY
group_listArrayY中介组列表最多10个超过会被丢弃
group_list.group_idintN中介组 ID编辑必传,如果传入 0 ,会更新默认组
group_list.group_nameStringY中介组名称
group_list.adseat_uuidStringY广告位 ID
group_list.bucket_idIntYAB 分组 id不支持编辑
group_list.is_presetIntY预置中介组1-是 0-否,不支持编辑
group_list.is_cold_sceneIntY冷启动1 是 0 否,仅开屏支持,不支持编辑
group_list.bidding_floor_pricefloatNBidding 底价 非负小数,单位与本次请求 currency 一致(USD 或 CNY)。0 表示不设底价。需账号所属公司级别为二级(中级)、三级(高级)或九级(默认);一级(初级)传此字段会报「没有权限设置中介组Bidding底价」。更新未传则保持原值
group_list.cache_numIntY并行请求数 上限为20。更新未传沿用该组已有值;创建未传才按广告类型默认(开屏/互动广告 1,其他 2)
group_list.bidding_adsource_cache_numIntYBidding 广告源保留数-1表示不限,限制的上限为20
group_list.countryIntN国家/地区国家 ISO 码,多选英文逗号隔开,参考8.1
group_list.cityIntN省份城市省份城市 ID,多选逗号隔开,参考8.2
group_list.segment_tagIntN开发者自定义 Segment Tag多个 Segment Tag 英文逗号隔开
group_list.preset_countryStringN预置中介组国家国家 ISO 码,多选英文逗号隔开
group_list.placement_idsStringN广告源 ID多选英文逗号隔开
group_list.rule_jsonStringN流量分组规则json 格式 参考附录3
group_list.min_cacheIntN最小缓存数不能大于本次将写入的 cache_num。更新未传并行数时按该组已有值比较;更新未传最小缓存则保持原值
group_list.sdk_request_adsource_timeoutIntN广告源请求超时单位秒,非负整数。需公司开通 request_ad_timeout 权限,否则报「没有权限设置SDK请求超时」。更新未传则保持原值
group_list.sdk_bidding_timeoutIntN服务端竞价超时单位秒,非负整数。需公司开通 request_ad_timeout 权限,否则报「没有权限设置SDK请求超时」。更新未传则保持原值
group_list.sdk_c2s_bidding_timeoutIntNC2S 竞价超时单位秒,非负整数。不需要 request_ad_timeout 权限。更新未传则保持原值
group_list.sdk_load_max_wait_timeIntNeCPM 优先最大等待单位秒;0 表示不设等待。速度优先(ad_fill_callback=2)不能带正数等待,否则报「速度优先不能设置最大等待时长」。未传填充回调或 =1 时可大于 0。更新未传则保持原值
group_list.ad_fill_callbackIntN广告填充回调1=eCPM 优先,2=速度优先。需账号所属公司级别为三级(高级)或九级(默认);一级(初级)、二级(中级)传此字段会报「没有权限设置广告填充回调」。更新未传则保持原值
group_list.frequency_capping_hourIntN每小时展示上限该中介组每小时最多展示次数。0=不限制;1–1000=上限次数。更新未传则保持原值
group_list.frequency_capping_dayIntN每天展示上限该中介组每天最多展示次数。0=不限制;1–1000=上限次数。更新未传则保持原值
group_list.frequency_pacing_minIntN展示间隔两次展示的最小间隔,单位分钟。0=不限制;1–1000=间隔分钟。更新未传则保持原值
group_list.request_fail_retryIntN请求失败重试仅开屏(ad_type=3)。0=关,1=开。其他广告类型传此字段会报「request_fail_retry不适用于当前广告类型」。更新未传则保持原值
group_list.is_refreshIntN自动刷新仅横幅;1=开须带 refresh_time(5–180,可沿用库里旧值);0=关时不要同时传时长
group_list.refresh_timeIntN刷新时长仅横幅;开启时 5–180 秒

上表里超时、频控、开屏重试、组底价、并行请求数、最小缓存、发布地区等互不联动:更新时只传要改的键,未出现的键保持原值。表格中标必传的 ident(group_id、group_name、adseat_uuid、bucket_id、is_preset、is_cold_scene)仍要带。

例如已有中介组 56657,只把每小时展示上限改成 10 次,不必同时改超时或底价:

{"currency":"USD","group_list":[{"group_id":56657,"group_name":"自定义","adseat_uuid":"8C321665C992CDDBE6F5892409A67612","bucket_id":0,"is_preset":0,"is_cold_scene":0,"frequency_capping_hour":10}]}

横幅自定义组并行数已是 10、最小缓存已是 8 时,上面这种不传 cache_num / min_cache 的更新会保持 10 和 8,不会把并行数改成横幅类型默认 2。

只改发布地区时,ident 仍按应用 store 表填写,再加 app_release_region(1 全球 / 2 中国 / 3 海外):

{"app_list":[{"app_uuid":"A741926221D7FEFBCB179D08B4477713","app_name":"test1","app_release_region":2}]}

返回字段:

字段类型必传说明备注
listArrayY
list.group_idStringY
list.group_nameStringY
list.error_messageStringY错误信息,空字符表示成功

请求示例

curl --location 'https://openapi.tradplusad.com/api/intermediary/store' \
--header 'bear: EEB82554-BD76-1474-EB7E-3785B5107872' \
--header 'Content-Type: application/json' \
--data '{"currency": "USD","group_list": [{"group_id":56657,"group_name":"自定义","adseat_uuid":"8C321665C992CDDBE6F5892409A67612","bucket_id":0,"is_preset":0,"is_cold_scene":0,"bidding_floor_price":1,"cache_num":0,"country":"US,JP","city":"","bidding_adsource_cache_num":-1,"segment_tag":"","rule_json":"{\"rules\":[{\"name\":\"app_ver\",\"type\":\"version\",\"op\":\"in\",\"data\":[\"1\",\"2\"]}],\"timezoneOffset\":\"0\"}","placement_ids":"653046","preset_country":"AM,DE,SG"}]}'

返回样例:

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"group_id": "",
"group_name": "",
"error_message": ""
}
]
}
}

6.3 查询中介组广告源列表​

请求路径: /api/intermediary/group_placements

请求参数:

字段类型必传说明
currencyStringY货币单位,USD 或 CNY
adseat_uuidStringY广告位 uuid
bucket_idIntNAB 分组 id
group_idIntN中介组 id

返回字段:

字段类型必传说明
adseat_uuidStringY
bucket_idStringYAB 分组 id
group_idStringY中介组 id
placement_listArrayY中介组广告源列表
placement_list.bucket_idObjYAB 分组 id
placement_list.bucket_id.group_idObjY中介组 id
placement_list.bucket_id.group_id.header_bidding_listArrayNHeaderBidding 区域
placement_list.bucket_id.group_id.auto_optimization_listArrayN按价格排序区域
placement_list.bucket_id.group_id.manual_sorting_listArrayN手动序区域
placement_list.bucket_id.group_id.low_priority_listArrayN低优先级区域
placement_list.bucket_id.group_id.closed_listArrayN在中介组关闭的广告源
对应列表内容:
idStringY中介组广告源 id
statusStringY中介组广告源状态 1开启 0关闭
adsource_idStringY广告网络 id
group_idStringY中介组 id
group_nameStringY中介组名称
bucket_idStringYAB 分组 id 数组
bucket_nameStringYAB 分组名称
is_header_biddingStringY是否开启 Header Bidding 1 是 0 否
is_auto_priceStringY是否开启自动价格 1 开启 2 关闭
ecpm_forcastStringY预测 ecpm
rateStringY排序价格
bid_floorStringYbid 底价
fequency_capping_dayStringY频次配置,展示上限(每天)
frequency_capping_hourStringY频次配置,展示上限(每小时)
fequency_capping_minStringY频次配置,展示上限(每分钟)
sdk_request_timeoutStringYSDK 请求广告超时时长
request_interval_statusStringY请求间隔控制,1 开启 2 关闭
request_no_fill_numStringY请求间隔控制,连续无填充次数
request_intervalStringY请求间隔控制,请求间隔,单位秒
auto_optimizationStringY排序区域 1 按价格排序 2 手动排序 3 低优先级

返回样例:

{
"code": 200,
"status": 0,
"data": {
"adseat_uuid": "08056F3650B0B65B79714A1482FE5EEE",
"group_id": "",
"bucket_id": "",
"placement_list": {
"0": {
"0": {
"auto_optimization_list": {
"0": {
"id": "157751",
"status": "1",
"adsource_id": "16",
"group_id": "0",
"group_name": "默认组",
"bucket_id": "0",
"bucket_name": "",
"is_header_bidding": "0",
"is_auto_price": "1",
"ecpm_forcast": "",
"rate": "3",
"fequency_capping_day": "",
"frequency_capping_hour": "",
"fequency_capping_min": "",
"sdk_request_timeout": "10",
"request_interval_status": "",
"request_no_fill_num": "",
"request_interval": "",
"auto_optimization": "1"
}
}
},
"2396": {
"auto_optimization_list": {
"0": {
"id": "157801",
"status": "1",
"adsource_id": "16",
"group_id": "2396",
"group_name": "cn 组",
"bucket_id": "0",
"bucket_name": "",
"is_header_bidding": "0",
"is_auto_price": "1",
"ecpm_forcast": "",
"rate": "3",
"fequency_capping_day": "2",
"frequency_capping_hour": "1",
"fequency_capping_min": "3",
"sdk_request_timeout": "10",
"request_interval_status": "1",
"request_no_fill_num": "3",
"request_interval": "180",
"auto_optimization": "1"
}
}
}
}
}
}
}

6.4 批量修改广告源在中介组的属性(需要开启新 AB 测试权限)​

请求路径: /api/intermediary/update_group_placement

请求参数:

字段类型必传说明备注
currencyStringY币种单位 CNY 或 USD
placement_listArrayY中介组广告源数组一次最多10个
placement_list.idIntY中介组广告源 id
placement_list.sdk_request_timeoutIntNSDK 请求广告超时时长
placement_list.fequency_capping_dayIntN频次配置,展示上限(每天)
placement_list.frequency_capping_hourIntN频次配置,展示上限(每小时)
placement_list.fequency_capping_minIntN频次配置,展示上限(每分钟)
placement_list.request_interval_statusIntN请求间隔控制 1 开启 2 关闭
placement_list.request_no_fill_numIntN请求间隔控制 连续无填充次数
placement_list.request_intervalIntN请求间隔控制 求间隔,单位秒
placement_list.is_auto_priceIntN是否开启自动价格 1 开启 2 关闭
placement_list.rateIntN排序价格 可选范围0.01 - 10000

返回字段:

字段类型必传说明
dataArrayY
data.placement_idIntY中介组广告源 id
data.error_messageStringY错误信息

返回样例:

{
"code": 200,
"status": 0,
"data": [
{
"placement_id": 157651,
"error_message": ""
},
{
"placement_id": 157652,
"error_message": ""
},
{
"placement_id": 122,
"error_message": "广告源错误"
}
]
}

6.5 开启或关闭中介组广告源​

请求路径: /api/intermediary/on_off_placement

请求参数:

字段类型必传说明备注
statusIntY状态 1 启用 0 停用
placement_id_listArrayY中介组广告源 id 数组一次最多10个
placement_id_list.idIntY中介组广告源 id

返回字段:

字段类型必传说明
dataArrayY
data.placement_idIntY中介组广告源 id
data.error_messageStringY错误信息

返回样例:

{
"code": 200,
"status": 0,
"data": [
{
"placement_id": 157651,
"error_message": ""
},
{
"placement_id": 157652,
"error_message": ""
},
{
"placement_id": 122,
"error_message": "广告源错误"
}
]
}

6.6 调整中介组排序​

请求路径: /api/intermediary/update_group_sort

在同一广告位、同一 AB 分组下,调整全部自定义中介组的优先级。列表中第一个组优先级最高。默认「所有国家」组(group_id = 0)不参与排序。需具备 API 更新权限。

请求参数:

字段类型必传说明
currencyStringY货币单位,USD 或 CNY
adseat_uuidStringY广告位 UUID
bucket_idIntYAB 分组 ID;无 AB 测试时传 0
group_listArrayY中介组 ID 数组,按优先级从高到低;必须包含该 adseat_uuid + bucket_id 下全部自定义中介组;不可含默认组 0;不可重复

约束:

  • group_list 必须与当前 AB 分组下已有自定义中介组集合完全一致(不可缺少、不可多传、不可跨广告位或跨 AB 分组)
  • 已开启智能托管的广告位不可调用本接口
  • 子账号 API Key 仅可操作其授权应用范围内的广告位

返回字段:

字段类型说明
data.group_listArray提交成功的排序结果(与请求中的 group_list 一致)

请求示例

curl --location --request POST 'https://api-developer.tradplusad.com/api/intermediary/update_group_sort' \
--header 'bear: EEB82554-BD76-1474-EB7E-3785B5107872' \
--header 'Content-Type: application/json' \
--data '{"currency": "USD","adseat_uuid": "8C321665C992CDDBE6F5892409A67612","bucket_id": 0,"group_list": [11, 33, 22]}'

返回样例:

{
"code": 200,
"status": 0,
"data": {
"group_list": [11, 33, 22]
}
}

6.7 查询诊断优化列表​

请求路径: /api/Intermediary/app_optimizing

对应后台「诊断优化」首页。不传广告位和日期,返回当前 API Key 所属公司的异常问题和优化建议。

请求参数:无。

返回字段:

字段类型说明
abnormal_dataArray异常问题
optimize_dataArray优化建议
update_timeString通知时间
abnormal_data[].app_idInt应用 id。optimize_data[] 同样有下面这些字段
abnormal_data[].app_nameString应用名称
abnormal_data[].adseat_idString广告位 id。不是广告位 UUID
abnormal_data[].adseat_nameString广告位名称
abnormal_data[].group_idString中介组 id。0 是所有国家
abnormal_data[].group_nameString中介组名称
abnormal_data[].bidding_floor_priceString这个中介组的竞价底价
abnormal_data[].osInt应用系统
abnormal_data[].directionInt应用屏幕方向
abnormal_data[].ad_typeInt广告位类型
abnormal_data[].ad_type_templateInt广告位模板
abnormal_data[].listObject按规则 id 分组的广告源。key 是规则 id,例如 5、7
abnormal_data[].list.5[].rule_idInt规则 id。5 换成这条记录的规则 id;优化建议写成 optimize_data[].list.7[]
abnormal_data[].list.5[].adsource_placement_idInt广告源 id
abnormal_data[].list.5[].adsource_placement_nameString广告源名称
abnormal_data[].list.5[].adsource_idInt广告平台 id
abnormal_data[].list.5[].adsource_nameString广告平台名称
abnormal_data[].list.5[].adsource_pidString广告平台编号

rule_id:

rule_id放在哪意思
1optimize_data收益占比和填充率都低,建议关闭
2abnormal_data详细埋点报错,填充为 0
3abnormal_data填充为 0
4abnormal_data展示为 0
5abnormal_data竞价响应为 0
7optimize_data建议再加一层。这里没有建议价
201optimize_data用户价值分组重新划分。没有广告源

规则 6 不返回。页面上的异常问题是 2、3、4、5;如果监控里还有别的规则,并且这条广告源在中介组里是开着的,也会出现在 abnormal_data。要看某一组的排序价、当天指标和建议价,用 6.8。广告位 UUID 从查询广告位接口拿,group_id 用本接口返回的 group_id。

6.8 查询诊断优化明细​

请求路径: /api/Intermediary/group_adsource_metrics

对应后台从「诊断优化」点进一个中介组后的排序表。已有广告源在各自的排序列表里。异常和优化建议都在 optimizing_list,用 rule_id 区分,没有单独的异常数组。

请求参数:

字段类型必传说明
adseat_uuidStringY广告位 UUID
currencyStringYUSD 或 CNY
group_idIntY中介组 id。0 是所有国家
bucket_idIntNAB 分组 id。不传则用当前生效分组

返回字段:

字段类型说明
adseat_uuidString广告位 UUID
group_idInt中介组 id
currencyString本次查询的货币
header_bidding_listArrayHeader Bidding。底价看 bid_floor
manual_sorting_listArray手动排序。排序价看 rate
auto_optimization_listArray按价格排序。排序价看 rate。页面上从高到低排的是这一段
low_priority_listArray低优先级
bottom_listArray兜底
removed_listArray在这个中介组里关掉的广告源
closed_listArray广告源本身已关闭
optimizing_listArray这个广告位、这个中介组上的诊断标记
app_requestInt应用请求
app_fillInt应用填充
app_fill_single_ltFloat应用填充时长单次

排序列表里每一条已有广告源:

字段类型说明
adsource_placement_idInt广告源 id
instance_nameString广告源名称
adsource_idInt广告平台 id
rateFloat排序价。按价格排序、手动排序看这个
bid_floorFloatHeader Bidding 底价。按价格排序不看这个
impressionInt展示
incomeFloat预估收入
bid_ecpmFloat竞价响应 eCPM
rule_idsArray打在这条已有广告源上的规则。只会是 1、2、3、4、5。没有标记时不返回这个字段

排序列表里还有当天的请求、填充、点击、ecpm,字段名与中介组报表一致。

optimizing_list 每一条:

字段类型说明
rule_idInt1、7、201 是优化建议。2、3、4、5 是异常问题
adsource_placement_idInt被标记的已有广告源 id。201 为 0
adsource_idInt广告平台 id
instance_nameString被标记的已有广告源名称。不是页面上画出的新名字
suggested_rateFloat只有 rule_id 为 7 时有。建议再加一层的排序价

页面上绿色「新增」行,例如 Bigo_int_500.00,不是一条广告源。它是按 suggested_rate 插进按价格排序里画出来的。接口只在 optimizing_list 返回规则 7 和建议价,名字仍是原来的广告源。

规则 6、8、9、10、11、12 不在 optimizing_list。

返回样例:

{
"code": 200,
"status": 0,
"data": {
"adseat_uuid": "HILEVEL_ADSEAT_UUID",
"group_id": 0,
"currency": "USD",
"header_bidding_list": [],
"manual_sorting_list": [],
"auto_optimization_list": [
{
"adsource_placement_id": 40001,
"instance_name": "Bigo_int_400",
"adsource_id": 57,
"rate": 400,
"bid_floor": 0,
"impression": 28,
"income": 13.44,
"bid_ecpm": 11.123
}
],
"low_priority_list": [],
"bottom_list": [],
"removed_list": [],
"closed_list": [],
"optimizing_list": [
{
"rule_id": 7,
"adsource_placement_id": 40001,
"adsource_id": 57,
"instance_name": "Bigo_int_400",
"suggested_rate": 500
}
],
"app_request": 0,
"app_fill": 0,
"app_fill_single_lt": 0
}
}

上面是形状示例。Bigo_int_400 在按价格排序里,排序价 400。页面上多画的 Bigo_int_500.00 对应该条规则 7,建议价 500。

7 广告源管理​

7.1 查询广告网络授权信息​

请求路径: /api/PlacementApiToken/api_tokens

请求参数:无

返回字段:

字段类型必传说明
dataArrayY
data.api_token_idIntY网络授权 id
data.account_nameStringY账号名称
data.adsource_idIntY广告网络 id
data.is_openIntY是否开通 1 是 0 否

返回样例:

{
"code": 200,
"status": 0,
"data": [
{
"id": 1466,
"account_name": "默认账号",
"adsource_id": 17,
"is_open": 0
},
{
"id": 2796,
"account_name": "默认账号",
"adsource_id": 43,
"is_open": 0
}
]
}

7.2 查询广告源信息​

请求路径: /api/placement/placements

请求参数:

字段类型必传说明备注
currencyStringY币种单位 CNY 或 USD
placement_idsStringN广告源 id逗号分割, 最多100个
adsource_idsStringN广告网络 id逗号分割
app_uuidsStringN应用 id逗号分割, 最多100个
adseat_uuidsStringN广告位 id逗号分割, 最多100个
fieldsStringN需要返回的字段默认所有
pageIntN页数 默认1每页100条
is_onIntN筛选广告源启用状态:默认 10 仅返回已关闭;1 仅返回已开启;-1 返回开启+关闭(全部);不传或空 时行为与历史一致,默认仅已开启

返回字段:

字段类型必传说明
has_moreIntY是否还有更多 1 是 0 否
placementsArrayY
placements.placement_idString广告源 id
placements.nameString广告源名称
placements.adsource_idString广告网络 id
placements.is_nativeString广告支持类型0 普通、1 原生、99 内嵌式自适应(仅 AdMob、Google Ad Manager 横幅)
placements.is_header_biddingString是否开启 Header Bidding
placements.placement_configJson广告位参数配置demo:
{"appId":"5175107","placementId":"946159096","adsource_type": "1"}
placements.api_token_idString授权 id
placements.account_nameString授权账号名称
placements.app_uuidString应用 ID
placements.app_nameString应用名称
placements.osString应用系统 1 Android 2 ios
placements.adseat_uuidString广告位 uuid
placements.seat_nameString广告位名称
placements.ad_typeString广告位类型
placements.intermediary_groupArray中介组广告源信息 参考6.1

返回样例:

{
"code": 200,
"status": 0,
"data": {
"placements": [
{
"placement_id": "23399",
"name": "Pangle(cn)_int_1",
"adsource_id": "17",
"is_header_bidding": "0",
"placement_config": {
"appId": "5175107",
"placementId": "946159096",
"adsource_type": "1",
"app_download_setup": "0",
"popconfirm": "0",
"is_template_rendering": "1"
},
"api_token_id": "1466",
"account_name": "默认账号",
"app_uuid": "6B5AE472641DB544632AE2E84F952658",
"app_name": "火柴人大乱斗",
"os": "1",
"adseat_uuid": "6ECF7327CD62D9BAC9965FC57CC27249",
"seat_name": "插屏广告",
"ad_type": "2",
"currency": "USD",
"intermediary_gorup": [
{
"id": "33489",
"status": "1",
"group_id": "0",
"group_name": "默认组",
"bucket_id": "0",
"bucket_name": "",
"is_auto_price": "1",
"ecpm_forcast": "",
"rate": "0",
"fequency_capping_day": "",
"frequency_capping_hour": "",
"fequency_capping_min": "",
"sdk_request_timeout": "60",
"auto_optimization": "1",
"sort": "0"
}
]
}
],
"has_more": 0
}
}

7.3 创建和编辑广告源信息(需要开启新 AB 测试权限)​

支持创建和编辑的广告源: 参考 附录2

请求路径: /api/placement/store

请求参数:

1 创建广告源

字段类型必传说明备注
currencyStringY币种单位 CNY 或 USD
placement_listArrayY广告源配置一次最多10个
placement_list.nameStringY广告源名称同一个广告位下不允许重复
placement_list.api_token_idIntY网络授权 id参考7.1
placement_list.adsource_idIntY广告网络 id参考8.2
placement_list.adseat_uuidStringY广告位 uuid广告位类型支持的广告源,参考 附录2
placement_list.is_header_biddingIntN是否开启 Header Bidding1 是, 0 否 参考 附录1
placement_list.is_auto_priceIntN是否开启自动价格1 开启, 2 关闭, 非 Header Bidding 必填
placement_list.rateFloatN排序价格关联 currency,非 Header Bidding 必填,且必须大于0.01小于10000
placement_list.placement_configJsonY广告源参数配置参考 附录2;AdMob、Unity Ads 见下文填写说明
placement_list.is_nativeIntN广告支持类型0 普通、1 原生;仅限横幅、开屏、插屏广告位(横幅:0 普通横幅,1 原生横幅;开屏、插屏同理)。AdMob、Google Ad Manager 横幅另支持 99 内嵌式自适应;Meta 横幅另支持 13 原生拼横幅,见下文填写说明。创建与查询广告源时均返回本字段。
placement_list.is_bottomIntN兜底广告1 是 0 否;开启 Header Bidding 该字段无效
placement_list.is_auto_createIntN是否自动化创建1-是 0-否,目前支持 Meta、AdMob、Pangle、Mintegral、Vungle、Digital Turbine、Bigo、Yandex、TaurusX、Inmobi、YSO、Unity Ads
placement_list.auto_app_idstringN自动化创建顶层 App IDMeta、Inmobi、Yandex、YSO 自动化必填(is_auto_create=1);AdMob、Digital Turbine、Unity Ads 勿传,应用 / Game ID 填写 placement_config.appId
placement_list.group_listArrayN加入的中介组传入则必须传全量(含空数组)。[] 会关掉该广告源下全部组关系。省略则加入广告位下全部中介组。非空时每项须含 group_id、bucket_id、adseat_id(广告位数字 ID,不是 adseat_uuid),且必须属于当前广告位。可选:selected(1=该组开启,不传默认 1;0=关闭)、rate(排序价格,不传默认 0,单位与 currency 一致)、is_auto_price(不传默认 0)。组对不上会报错、不改库。通过后先把该广告源下所有组关系 status=0,再按列表恢复;只传要开的组、漏掉其余 → 其余会被关掉
placement_list.bidding_floor_priceFloatN广告源 Bidding 底价仅 is_header_bidding=1 时可写。单位与本次请求 currency 一致(USD 或 CNY)。非 ADX 需 HB_FLOOR_PRICE 权限,否则报错;TradPlus ADX / SAAS ADX 无权限时按 0 写入。更新未传则保持原值
placement_list.is_modify_pidIntN是否同步修改 PID仅编辑;创建传 1 会报「创建广告源不支持同步修改PID」。1=按后台规则把 PID 同步到同应用其他广告位,需 modify_placement 权限。若其他广告位仍占用旧 PID、同时又已有广告位占用新 PID,返回「广告位下已存在相同广告源参数」,本条不写库

AdMob(adsource_id=2)appId / placementId 填写说明

创建方式操作系统placement_config.appIdplacement_config.placementId
手动 is_auto_create=0Android必填、非空必填、非空(广告单元 ID,如 ca-app-pub-xxx/yyy)
手动 is_auto_create=0iOS必填、非空(同 Android)必填、非空(同 Android)
自动化 is_auto_create=1Android必填、非空(须为已在 AdMob 创建的应用 ID)key 必传,值可为 "",系统创建广告单元后回填
自动化 is_auto_create=1iOS必填、非空(同 Android)key 必传,值可为 ""(同 Android)

校验错误:缺失 appId 返回 appId广告位配置参数缺失;appId 为空字符串返回 appId广告位配置参数不能为空。

Unity Ads(adsource_id=5)appId / placementId 填写说明

创建方式placement_config.appIdplacement_config.placementId
手动 is_auto_create=0必填、非空,Unity Game ID必填、非空,已有 Unity Placement ID
自动化 is_auto_create=1必填、非空,Unity Game ID可省略或传空串;系统调用 Unity placements API 创建后,以三方返回 id 回写

开屏广告位仅支持插屏开屏:传 is_native=0、placement_config.placement_ad_type=2(必填;缺失返回 placement_ad_type样式配置参数缺失,非 2 返回 placement_ad_type配置参数错误)。

Unity Ads 自动化创建填写说明

项说明
广告类型仅支持横幅、插屏、激励视频、开屏;其他类型返回「广告类型不支持自动化创建」
Header Bidding不支持。is_header_bidding=1 返回「Unity自动化创建不支持Bidding源」
授权api_token_id 对应的 Unity 授权须开启自动化;未开启返回「网络授权id不支持自动化创建」
auto_app_id勿传;Game ID 填写 placement_config.appId
横幅ad_size 必填,取值 1(320 x 50)或 2(728 x 90);缺失返回 ad_size样式配置参数缺失,非法值返回 ad_size配置参数错误
开屏仅插屏开屏(placement_ad_type=2);Unity 将开屏与插屏都作为 interstitial Ad Unit 处理

Digital Turbine(adsource_id=24)自动化创建填写说明

项说明
placement_config.appId必填,Digital Turbine App ID
placement_config.placementId可省略或传空串;创建成功后以 Digital Turbine 返回的 ID 回填
广告类型支持横幅、插屏、激励视频、插屏开屏;开屏须 is_native=0 且 placement_ad_type=2
样式插屏和插屏开屏须传 video_mute(1=是,2=否)
Header Bidding不支持,须传 is_header_bidding=0

YSO(adsource_id=77)自动化创建填写说明

项说明
auto_app_id必填,YSO App Key
placement_config.placementId可省略或传空串;创建成功后以 YSO 返回的 data.key 回填
广告类型仅支持横幅、插屏、激励视频
Header Bidding必须开启;仅支持 S2S(header_bidding_type=0)

zMaticoo(adsource_id=55)手动创建填写说明

placement_config 须包含非空 AppKey 与 placementId。仅支持手动创建和普通瀑布流;原生横幅须 native_ad_size,原生横幅/插屏可传 video_mute;iOS 原生插屏不支持。

穿山甲(adsource_id=17)primeRitId 填写说明

项说明
创建手动创建(不传 is_auto_create,或为 0)。placement_config 须同时含 非空 appId、placementId、primeRitId。缺 primeRitId 返回 primeRitId广告位配置参数缺失;空串返回 primeRitId广告位配置参数不能为空
自动化不支持。is_auto_create=1 返回「当前广告网络不支持自动化创建」。系统不会调用穿山甲 prime_rit/create 或代码位创建接口
查询已存值在 placement_config.primeRitId 回显;老数据没有该键则不返回、不报错
编辑省略 primeRitId 则保持原值;传新值则更新该条广告源 JSON;空串拒绝。get_placement_list_by_app 不会跨广告位复用 primeRitId(不同曝光场景须用不同物理位)

primeRitId 从穿山甲国内(csjplatform)后台物理广告位复制,对应创编 API 的 prime_rit_id。

Yandex(adsource_id=50)自动化创建填写说明

项说明
权限公司须开通 Yandex 广告网络权限(HB_YANDEX);未开通时创建返回「当前公司未开通Yandex广告网络权限」,查询广告源列表也会过滤 Yandex
auto_app_idis_auto_create=1 时必填,缺失返回「缺少自动化需要的APP ID」
placement_config.placementId自动化创建时可省略或传空串;系统调用 Yandex adunit API 创建后,以三方返回 id 回写(对齐 Web)
普通激励placement_ad_type=0 时 currencyType(奖励名称)、currencyValue(奖励数量)必填;插屏激励(placement_ad_type=2)不要求这两项
原生横幅可传 is_template_rendering,创建落库并在查询时回显

原生横幅(is_native=1)native_ad_size / close_button 填写说明

适用:横幅广告位 + placement_list.is_native=1 + 广告网络为 AdMob(2)、Meta(1)、Pangle 海外(19)、Vungle(7)、Mintegral(18)、Inmobi(23)、Yandex(50)、Bigo(57)、zMaticoo(55)、Columbus(76)、TaurusX(74)、Moloco(82)、Google Ad Manager(48)、start.io(28)。字段写在 placement_config 内;查询列表时在 placement_config 回显。

字段说明
native_ad_size原生横幅尺寸:1-320 x 50、2-320 x 100、3-300 x 250、4-728 x 90;创建时必填。AdMob(2)、Moloco(82)仅允许 3(300 x 250)
close_button关闭按钮:1-显示、2-隐藏;创建时可省略,默认 2(隐藏)

Meta 原生拼横幅(is_native=13):仅 Meta 横幅广告位适用。传 is_native=13 表示原生拼横幅,系统固定 is_template_rendering=2(自渲染),同样适用 native_ad_size(必填)与 close_button(可省略,默认 2);不需配置 ad_size、is_template_rendering。创建后查询广告源时 is_native 回显为 13。

Vungle 普通横幅(placement_ad_type=1):横幅广告位 + is_native=0 + placement_config.placement_ad_type=1 时,同样适用 native_ad_size(必填)与 close_button(可省略,默认 2)。

Google Ad Manager(48)原生横幅:除 native_ad_size、close_button 外,还须 ad_size 素材比例:1 未指定、2 任意尺寸、3 横屏尺寸、4 竖屏尺寸、5 正方形尺寸。缺失返回 ad_size样式配置参数缺失。start.io 原生横幅不填 ad_size。

校验错误:缺失 native_ad_size 返回 native_ad_size 样式配置参数缺失;AdMob、Moloco 传非 3 返回 native_ad_size 配置参数错误(历史尺寸不迁移,编辑未改该字段时保持原值);非 Meta 平台或非横幅广告位使用 is_native=13 返回「广告支持类型参数错误」;非上述平台使用 is_native=1 配置原生横幅尺寸/关闭按钮时,字段不会被 OpenAPI 处理。

内嵌式自适应横幅(is_native=99)填写说明

适用:横幅广告位 + is_native=99 + 广告网络为 AdMob(2)、Google Ad Manager(48)。

字段说明
is_native传 99,表示内嵌式自适应横幅
placement_config按附录 2 填写授权与广告位参数;不需配置 ad_size、collapsible

创建后不支持修改横幅样式类型。

常见错误:非 AdMob、Google Ad Manager 或非横幅广告位使用 is_native=99,返回「广告支持类型参数错误」;内嵌式自适应横幅传入 ad_size 或 collapsible,返回「内嵌式自适应横幅不支持 ad_size/collapsible」。

2 编辑广告源

字段类型必传说明备注
currencyStringY币种单位 CNY 或 USD
placement_listArrayY广告源配置
placement_list.placement_idStringY广告源 id
placement_list.nameStringN广告源名称
placement_list.api_token_idIntN网络授权 id参考7.1
placement_list.is_auto_priceIntN是否开启自动价格非 Header Bidding 可以修改,1 开启, 2 关闭
placement_list.rateIntFloat排序价格关联 currency, 非 Header Bidding 可以修改
placement_list.placement_configJsonY广告源参数配置只能修改样式配置;穿山甲(17) 另可改 primeRitId(省略保持,空串拒绝)。is_modify_pid=1 时可改 PID 字段并按后台规则跨广告位同步
placement_list.group_listArrayN中介组开关传入则必须传全量(含空数组)。[] 会关掉该广告源下全部组关系。省略则不改组开关。非空时每项须含 group_id、bucket_id、adseat_id(数字 ID),且必须属于当前广告位。可选:selected(1=该组开启,不传默认 1;0=关闭)、rate(排序价格,不传默认 0,单位与 currency 一致)、is_auto_price(不传默认 0)。对不上会报错、不改库。通过后先全关再按列表恢复;漏传的组会被关掉
placement_list.bidding_floor_priceFloatN广告源 Bidding 底价仅 Header Bidding 广告源可写。单位与本次请求 currency 一致。非 ADX 需权限。更新未传则保持原值
placement_list.is_modify_pidIntN是否同步修改 PID1=跨广告位同步,需 modify_placement 权限。旧 PID 与新 PID 均已被其他广告位占用时返回「广告位下已存在相同广告源参数」

返回字段:

字段类型必传说明
dataArrayY
data.placement_idIntY广告源 id
data.nameStringY广告源名称
data.placement_configStringY传入的广告源参数配置
data.error_messageStringY错误信息,没有表示成功

请求示例

curl --location --request POST 'https://openapi.tradplusad.com/api/placement/store?sign=5DE008C88087D8556D276A9E5B8E37E6&timestamp=1629525680&nonce=5c672d4e9628d0a7' \
--header 'bear: 157E4A5D-3877-1236-DE06-457FT3F70C4' \
--header 'Content-Type: application/json' \
--data '{"currency":"USD","placement_list":[{"name":"API-1\u521b\u5efa\u5e7f\u544a\u6e90","api_token_id":1640,"adsource_id":16,"adseat_uuid":"42D65EDFC13A93B5B25F70FC57280A97","is_header_bidding":0,"is_auto_price":1,"rate":0.03,"placement_config":"{\"placementId\":\"9499192321\",\"appId\":\"53102791\",\"is_template_rendering\":2,\"video_mute\":1,\"auto_play_video\":1,\"video_max_time\":5}","is_bottom":1,"is_native":1}]}'

返回样例:

{
"code": 200,
"status": 0,
"data": [
{
"placement_id": 0,
"name": "test_yky1",
"placement_config": "{ "appId": "zzz", "placementId": "23","video_mute":1 }",
"error_message": "广告源名称重复"
},
{
"placement_id": 859455,
"name": "test_yky2",
"placement_config": "{ "appId": "zzz", "placementId": "23","video_mute":1 }",
"error_message": ""
},
]
}

8 A/B 测试管理​

8.1 A/B 测试列表​

请求路径: /api/abtest/list

请求参数:

字段类型必传说明备注
abtest_idIntNA/B 测试 ID传入后按指定 A/B 测试过滤
adseat_uuidStringN广告位 UUID传入后按广告位过滤

返回字段:

字段类型必传说明
dataArrayYA/B 测试列表
data[].abtest_idIntYA/B 测试 ID
data[].nameStringYA/B 测试名称
data[].app_uuidStringY应用 UUID
data[].adseat_uuidStringY广告位 UUID
data[].share_adseat_uuidStringY共享广告位 UUID
data[].statusIntYA/B 测试状态 0-待手动开启 1-指定时间待开启 2-进行中 3-已结束
data[].group_idString/IntY分组 ID
data[].ab_typeIntYA/B 测试类型(1 广告位 A/B 测试,2 中介组 A/B 测试)
data[].start_timeIntY开始时间(时间戳)
data[].end_timeIntY结束时间(时间戳)
data[].is_systemIntY是否智能托管
data[].reverseIntY是否用户反转分流(0/1)
data[].auto_handIntY是否手动生效(0/1)
data[].available_timeIntY计划生效时间(时间戳)
data[].available_time_zoneStringY生效时区
data[].descriptionStringY备注
data[].is_bind_share_adseatIntY是否绑定共享广告位(0/1)
data[].bucketsArrayY分组列表
data[].buckets[].idIntY分组 ID
data[].buckets[].nameStringY分组名称
data[].buckets[].percentString/IntY分流占比
data[].buckets[].weightIntY权重
data[].buckets[].ab_statusIntY分组状态 1-开启 2-暂停 3-结束
data[].buckets[].is_winIntY是否获胜分组(0/1)1-获胜组
data[].buckets[].bucket_group_idIntY分组组号
data[].buckets[].is_share_bucketStringY分组是否使用共享广告位(0/1)1为使用

请求示例

curl--location'http://openapi.tradplusad.com/api/abtest/list?sign=A33B4508815081F9D41D96E96F7B297E&timestamp=1666261328&nonce=5c672d4e9628d0a7'
--header'bear: EEB82554-BD76-1474-EB7E-3785B5107872'
--header'Content-Type: application/json'
--data'{"adseat_uuid":"E6379DA920E44F5DC13A06FCBE09E212"}'

返回样例

{
"code": 200,
"status": 0,
"data": [
{
"name": "ABTest_Modify_20260312",
"status": "2",
"group_id": "0",
"ab_type": "1",
"start_time": "1773395668",
"end_time": "0",
"is_system": "0",
"reverse": "0",
"auto_hand": "1",
"available_time": "0",
"available_time_zone": "8",
"description": "modify by openapi11",
"is_bind_share_adseat": "1",
"abtest_id": "3203",
"app_uuid": "8EFC6E4C26E961B3C68C274CE4862511",
"adseat_uuid": "E6379DA920E44F5DC13A06FCBE09E212",
"share_adseat_uuid": "797A392C56327B804E3547DD76E29812",
"buckets": [
{
"id": "8417",
"name": "C组-新增-更新",
"percent": "1",
"weight": "1",
"ab_status": "2",
"is_win": "0",
"bucket_group_id": "3",
"is_share_bucket": "0"
},
{
"id": "8416",
"name": "B组-更新",
"percent": "45",
"weight": "45",
"ab_status": "1",
"is_win": "0",
"bucket_group_id": "2",
"is_share_bucket": "0"
},
{
"id": "8415",
"name": "A组-更新",
"percent": "55",
"weight": "55",
"ab_status": "1",
"is_win": "0",
"bucket_group_id": "1",
"is_share_bucket": "1"
}
]
}
]
}

8.2 创建 A/B 测试​

请求路径: /api/abtest/store

请求参数:

字段类型必传说明备注
nameStringYA/B 测试名称最长30字符
ab_typeIntYA/B 测试类型1 广告位 A/B 测试,2 中介组 A/B 测试
app_uuidStringY应用 ID
adseat_uuidStringY广告位 ID必须与app_uuid匹配
group_idString/IntN分组 IDab_type=2时必传;传0表示所有国家组;不传默认空
auto_handIntY是否手动生效1 手动开启,0 按时间自动开启
available_timeStringN生效时间auto_hand=0时必传,建议格式:Y-m-d H:i:s
available_time_zoneStringN时区auto_hand=0时必传,可选:-8、0、8
bucketsArrayYA/B 分组配置至少2组
buckets[].nameStringY分组名称分组名称不可重复
buckets[].percentfloatY分流占比按业务规则传值 0~100;注:所有分组总和范围在 99~100(容差 1)
buckets[].weightIntY权重0~100
buckets[].ab_statusIntY分组状态创建时固定传1(开启)
buckets[].copy_group_configIntN是否复制当前配置1 复制当前配置(推荐);其他值不复制当前配置(首个分组会被强制为1)
buckets[].is_share_bucketIntN分组是否使用共享广告位is_bind_share_adseat=1时生效,1为使用
descriptionStringN备注最长100字符
is_bind_share_adseatIntN是否绑定共享广告位0 否,1 是
share_adseat_uuidStringN共享广告位 IDis_bind_share_adseat=1时必传

返回字段:

字段类型必传说明
abtest_idIntYA/B 测试 ID
nameStringYA/B 测试名称

请求示例

curl--location'http://openapi.tradplusad.com/api/abtest/store?sign=A33B4508815081F9D41D96E96F7B297E&timestamp=1666261328&nonce=5c672d4e9628d0a7'
--header'bear: EEB82554-BD76-1474-EB7E-3785B5107872'
--header'Content-Type: application/json'
--data'{"name":"ABTest_API","ab_type":1,"app_uuid":"8EFC6E4C26E961B3C68C274CE4862511","adseat_uuid":"E6379DA920E44F5DC13A06FCBE09E212","group_id":0,"auto_hand":0,"available_time":"2026-03-12 20:00:00","available_time_zone":"8","description":"openapi create abtest","is_bind_share_adseat":0,"share_adseat_uuid":"","buckets":[{"name":"A组","percent":50,"weight":50,"ab_status":1,"copy_group_config":1,"is_share_bucket":0},{"name":"B组","percent":50,"weight":50,"ab_status":1,"copy_group_config":1,"is_share_bucket":0}] }'

返回样例

成功:
{
"code": 200,
"status": 0,
"data": {
"abtest_id": 12345,
"name": "AB测试_插屏"
}
}
失败:
{
"code": 10002,
"status": 1,
"message": "参数错误"
}

8.3 编辑 A/B 测试​

请求路径: /api/abtest/modify

请求参数:

字段类型必传说明备注
abtest_idIntYA/B 测试 ID
nameStringYA/B 测试名称最长30字符
reverseIntN是否用户反转分流0 否,1 是;仅支持 A/B 测试进行中设置
descriptionStringN备注最长100字符
bucketsArrayYA/B 分组配置至少2组
buckets[].idIntN分组记录 ID编辑已有分组时必传(从列表接口中获取);新增分组不传
buckets[].bucket_group_idIntN分组组号编辑已有分组时必传(从列表接口中获取);新增分组不传或传0
buckets[].nameStringY分组名称不可为空
buckets[].percentfloatY分流占比按业务规则传值 0~100;注:所有分组总和范围在 99~100(容差 1)
buckets[].weightIntY权重0~100
buckets[].ab_statusIntY分组状态1 开启,2 暂停
buckets[].is_share_bucketIntN分组是否使用共享广告位is_bind_share_adseat=1时生效,1为使用;仅支持未开启 A/B 测试时修改
buckets[].copy_group_configIntN是否复制当前配置新增分组时使用:1复制当前配置(推荐),其他值不复制当前配置

请求示例

curl--location'http://openapi.tradplusad.com/api/abtest/modify?sign=A33B4508815081F9D41D96E96F7B297E&timestamp=1666261328&nonce=5c672d4e9628d0a7'
--header'bear: EEB82554-BD76-1474-EB7E-3785B5107872'
--header'Content-Type: application/json'
--data'{"abtest_id":3203,"name":"ABTest_Modify_20260312","reverse":1,"description":"modify by openapi11","buckets":[{"id":8415,"bucket_group_id":1,"name":"A组-更新","percent":55,"weight":55,"ab_status":1,"is_share_bucket":1},{"id":8416,"bucket_group_id":2,"name":"B组-更新","percent":45,"weight":45,"ab_status":1,"is_share_bucket":0},{"name":"C组-新增","percent":1,"weight":1,"ab_status":1,"copy_group_config":1,"is_share_bucket":0}]}'

返回样例

成功:
{
"code": 200,
"status": 0,
"data": {
"abtest_id": 12345,
"name": "ABTest_Modify"
}
}
失败:
{
"code": 10002,
"status": 1,
"message": "参数错误"
}

8.4 开启 A/B 测试​

请求路径: /api/abtest/start

请求参数:

字段类型必传说明备注
abtest_idIntYA/B 测试 ID仅支持开启“待手动开启”状态的 A/B 测试

返回字段:

字段类型必传说明
abtest_idIntYA/B 测试 ID
statusIntYA/B 测试状态(0-待手动开启 1-指定时间待开启 2-进行中 3-已结束)

请求示例

curl--location'http://openapi.tradplusad.com/api/abtest/start?sign=A33B4508815081F9D41D96E96F7B297E&timestamp=1666261328&nonce=5c672d4e9628d0a7'
--header'bear: EEB82554-BD76-1474-EB7E-3785B5107872'
--header'Content-Type: application/json'
--data'{"abtest_id":3203}'

返回样例

成功:
{
"code": 200,
"status": 0,
"data": {
"abtest_id": 3208,
"status": 2
}
}
失败:
{
"code": 1001,
"status": 1,
"message": "参数错误"
}

8.5 关闭 A/B 测试​

请求路径: /api/abtest/close

请求参数:

字段类型必传说明备注
abtest_idIntYA/B 测试 ID
bucket_idIntN胜出分组 ID关闭“生效中”AB 测试时必传(用于指定获胜分组)
typeIntN关闭类型1 常规关闭,2 智能托管关闭

返回字段:

字段类型必传说明
abtest_idIntYA/B 测试 ID
statusIntYA/B 测试状态(0-待手动开启 1-指定时间待开启 2-进行中 3-已结束)

请求示例

curl--location'http://openapi.tradplusad.com/api/abtest/close?sign=A33B4508815081F9D41D96E96F7B297E&timestamp=1666261328&nonce=5c672d4e9628d0a7'
--header'bear: EEB82554-BD76-1474-EB7E-3785B5107872'
--header'Content-Type: application/json'
--data'{"abtest_id":3203,"bucket_id":8431,"type":1}'

返回样例

成功:
{
"code": 200,
"status": 0,
"data": {
"abtest_id": 3208,
"status": 3
}
}
失败:
{
"code": 1001,
"status": 1,
"message": "参数错误"
}

9 查询通用信息​

9.1 查询国家信息​

请求路径: /api/info/region

请求参数:无

返回字段:

字段类型必传说明
listArrayY
list.nameStringY中文名
list.name_enStringY英文名
list.isoStringY国家二位码(短码)

返回样例:

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"name": "比利时",
"name_en": "Belgium",
"iso": "BE"
},
{
"name": "利比亚",
"name_en": "Libya",
"iso": "LY"
},
...
]
}
}

9.2 查询城市信息​

请求路径: /api/info/city

请求参数:无

返回字段:

字段类型必传说明
listArrayY
list.idStringYid
list.pidStringY上级 id
list.nameStringY城市

返回样例:

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"id": "1",
"pid": "0",
"name": "北京市"
},
{
"id": "2",
"pid": "0",
"name": "天津市"
},
...
]
}
}

9.3 广告网络查询​

请求路径: /api/info/adsource_list

请求参数:无

返回字段:

字段类型必传说明
listArrayY
list.nameStringY广告平台名称
list.adsource_idIntYtradplus 广告平台 id

返回样例:

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"name": "Meta",
"adsource_id": 1
},
{
"name": "Admob",
"adsource_id": 2
},
...
]
}
}

10 广告场景​

10.1 查询广告场景​

请求路径: /api/AdScene/scenes

请求参数:

字段类型必传说明备注
app_uuidStringN应用 uuid
adseat_uuidStringN广告位 ID
pageIntN页数 默认1每页100条

返回字段:

字段类型必传说明
has_moreIntY是否还有更多 1 是 0 否
totalIntY总数量
adscene_listArrayY
adscene_list.ad_scene_idStringY场景主键 ID
adscene_list.ad_scenes_nameString场景名称
adscene_list.app_uuidString应用 ID
adscene_list.adseat_uuidString广告位 ID
adscene_list.uuidString场景 uuidsdk 使用
adscene_list.is_custom_uidString是否使用自定义场景 1 是 0 否
adscene_list.statusString状态 1 启用 2 停用
adscene_list.remarkString备注

返回样例:

{
"code": 200,
"status": 0,
"data": {
"has_more": 0,
"total": 1,
"adscene_list": [
{
"ad_scene_id": "260",
"ad_scenes_name": "tab",
"app_uuid": "38C0EB39AC0C015903E5CA6CA069AFF7",
"adseat_uuid": "2A7E2D218A488665581A608D7AC9AA6F",
"uuid": "76BE82DBAE98A3",
"is_custom_uid": "0",
"status": "1",
"remark": ""
}
]
}
}

10.2 创建和编辑广告场景​

请求路径: /api/AdScene/store

请求参数:

字段类型必传说明备注
adscene_listArrayY广告场景信息
adscene_list.adseat_uuidStringY广告位 ID
adscene_list.ad_scene_idIntN广告场景主键 id编辑必传。对应9.1 ad_scene_id
adscene_list.ad_scene_nameStringY场景名称
adscene_list.statusIntN创建必传。状态 1 启用 2 停用
adscene_list.remarkStringN备注
adscene_list.is_custom_uidIntN创建必传。是否使用自定义场景 1 是 0 否
adscene_list.custom_uidStringN自定义场景 uid选择使用自定义场景时必填且不能重复

返回字段:

字段类型必传说明
listArrayY
list.adseat_uuidStringN应用 ID
list.ad_scene_nameStringN场景名称
list.ad_scene_idIntN场景主键 id
list.error_messageStringN错误信息,空字符表示成功

返回样例:

{
"code": 200,
"status": 0,
"data": {
"list": [
{
"adseat_uuid": "2A7E2D218A488665581A608D7AC9AA6F",
"ad_scene_name": "奖励界面",
"ad_scene_id": 125,
"error_message": ""
},
{
"adseat_uuid": "2A7E2D218A488665581A608D7AC9AA6F",
"ad_scene_name": "关卡",
"ad_scene_id": 220,
"error_message": ""
}
]
}
}

附录1 Header Bidding​

广告位类型广告源
开屏腾讯广告
Vungle
Mintegral
Inmobi
Columbus
Bigo
Yandex
Pangle
Unity Ads
TaurusX
Moloco
Magnite
start.io
Verve
激励视频Sigmob(需要开启权限)
腾讯广告
Meta
Vungle
Mintegral
Inmobi
YSO
Columbus
Bigo
Yandex
Pangle
穿山甲
Unity Ads
TaurusX
Moloco
Magnite
start.io
Verve
插屏Sigmob(需要开启权限)
腾讯广告
Meta
Vungle
Mintegral
Inmobi
YSO
Columbus
Bigo
Yandex
Pangle
穿山甲
Unity Ads
TaurusX
Moloco
Magnite
start.io
Verve
横幅腾讯广告
Meta
Vungle
Mintegral
Inmobi
YSO
Columbus
Bigo
Yandex
Pangle
穿山甲
Unity Ads
TaurusX
Moloco
Magnite
start.io
Verve
标准原生腾讯广告
Meta
Vungle
Mintegral
Inmobi
Columbus
Bigo
Yandex
Pangle
穿山甲
TaurusX
Moloco
Magnite
start.io
Verve
原生横幅腾讯广告
Meta
Vungle
Mintegral
Inmobi
Columbus
Bigo
Yandex
Pangle
穿山甲
TaurusX
Moloco
Magnite
start.io
Verve
Draw 信息流腾讯广告
原生开屏腾讯广告
Vungle
Mintegral
Inmobi
Columbus
Bigo
Yandex
Pangle
穿山甲
TaurusX
Moloco
Magnite
start.io
Verve

附录2 广告网络对应广告位类型配置对照表​

广告网络 id广告网络名称广告位参数配置广告类型广告样式参数配置备注
1MetaplacementId (Placement ID)激励视频adsource_type 广告位类型 1-激励视频 2-奖励式插屏
插屏- 无创建 Reels Ads 类型时,is_native 传1
开屏

is_template_rendering 模板类型 2:自渲染
placement_ad_type 广告类型 1-原生开屏 2-插屏开屏

横幅

ad_size 广告源尺寸/高度
is_template_rendering 模板类型 1:模板渲染 2:自渲染
native_ad_size 广告源尺寸【原生横幅/原生拼横幅】
close_button 关闭按钮 1-显示 2-隐藏【原生横幅/原生拼横幅】

尺寸:
1: 320 x 50
2: 320 x 90
3: 320 x 250
高度:
1:50
2:100
3:120
当 is_native=0【普通横幅】,无 is_template_rendering 样式
当 is_native=1【原生横幅】,is_template_rendering=2时,无 ad_size 样式;适用 native_ad_size、close_button;native_ad_size:1-320 x 50、2-320 x 100、3-300 x 250、4-728 x 90;close_button:1-显示、2-隐藏(默认 2)
当 is_native=13【原生拼横幅】,无 ad_size、is_template_rendering 样式;适用 native_ad_size、close_button;native_ad_size:1-320 x 50、2-320 x 100、3-300 x 250、4-728 x 90;close_button:1-显示、2-隐藏(默认 2);查询时 is_native 回显 13

标准原生

is_template_rendering 模板类型 1:模板渲染 2:自渲染
ad_size 广告高度
banner_mrec=4 :MREC(300X250)
banner_mrec=12 :原生横幅

高度:
1:50
2:100
3:120
当 banner_mrec=4【MREC(300X250)】,无 is_template_rendering 样式,无 ad_size 样式
当 banner_mrec=12【原生横幅】,有 is_template_rendering 样式,有 ad_size 样式
添加标准原生时,仅有 is_template_rendering 样式

原生横幅

is_template_rendering 模板类型 1:模板渲染 2:自渲染
ad_size 高度 1:50 2:100 3:120

2AdMobappId (应用 ID)
placementId (广告单元 ID)

填写说明见 §7.3。
激励视频

adsource_type 广告位类型 1-激励视频广告 2-插页式激励广告
placement_ad_type 广告类型 0-普通激励 2-插屏激励

当 placement_ad_type=2【插屏激励】时,无 adsource_type 样式
插屏- 无
横幅

ad_size 广告源尺寸
collapsible 折叠横幅 0-默认 1-顶部 2-底部
native_ad_size 广告源尺寸【原生横幅】
close_button 关闭按钮 1-显示 2-隐藏【原生横幅】

1: 320 x 50
2: 320 x 100
3: 300 x 250
4: 468 x 60
5: 780 x 90
6: adaptive banners
【普通横幅】is_native=0【普通横幅】时,仅有 ad_size 样式
【折叠式横幅】is_native=0, collapsible=1/2
【原生横幅】is_native=1,无 collapsible、ad_size 样式;适用 native_ad_size、close_button
native_ad_size:仅 3: 300 x 250(传 1/2/4 返回 native_ad_size 配置参数错误;历史数据不迁移)
close_button:1-显示、2-隐藏(默认 2)
【内嵌式自适应横幅】is_native=99,无需 ad_size、collapsible 样式参数

开屏placement_ad_type 广告类型 0-普通开屏 2-插屏开屏
标准原生

ad_size 素材比例
banner_mrec 广告类型 1-标准原生 4-MERC

1: 未指定
2: 任意尺寸
3: 横屏尺寸
4: 竖屏尺寸
5: 正方形尺寸

5Unity AdsappId (应用 ID)
placementId (广告位 ID)
激励视频-

支持 Header Bidding(仅手动创建);
当 is_auto_create=1 时,不支持 Bidding;placementId 可空,由三方返回 id 回写

插屏-

支持 Header Bidding(仅手动创建);
当 is_auto_create=1 时,不支持 Bidding;placementId 可空,由三方返回 id 回写

开屏placement_ad_type 广告类型 2-插屏开屏

支持 Header Bidding(仅手动创建);
自动化创建时 Unity 三方 Ad Unit 使用 interstitial 格式;
当 is_auto_create=1 时,不支持 Bidding;placementId 可空,由三方返回 id 回写

标准原生不支持
横幅ad_size 广告源尺寸

ad_size:
1: 320 x 50
2: 728 x 90
支持 Header Bidding(仅手动创建);
当 is_auto_create=1 时,ad_size 必填,取值:1/2;不支持 Bidding;placementId 可空,由三方返回 id 回写

7VungleappId (App ID) placementId (广告位置参考 ID)激励视频

video_mute 视频静音 1 是 2否
direction 屏幕方向 1 竖屏 2横屏
placement_ad_type 广告类型 0 普通激励 2 插屏激励

IOS 应用无 direction 样式;
当 placement_ad_type=2【插屏激励】时,无 video_mute 样式

插屏

video_mute 视频静音 1 是 2否
direction 屏幕方向 1 竖屏 2横屏

当 is_native=0[普通插屏]时,安卓应用有 direction 样式,IOS 应用无此样式;
横幅

is_template_rendering 广告位类型 0-横幅广告 1-中矩形横幅广告
ad_size 广告源尺寸
placement_ad_type=99 Inline 类型
native_ad_size 广告源尺寸【原生横幅/普通横幅】
close_button 关闭按钮 1-显示 2-隐藏【原生横幅/普通横幅】

ad_size:
1: 320 x 50 (支持横幅/Inline)
2: 300 x 50 (支持横幅/Inline)
3: 728 x 90 (支持横幅/Inline)
4: 300 x 250 (仅 Inline)
当 is_template_rendering=1时,无 ad_size 样式
当 placement_ad_type=99时,无 is_template_rendering 样式,有 ad_size 样式
当 is_native=1【原生横幅】时,适用 native_ad_size、close_button;native_ad_size:1-320 x 50、2-320 x 100、3-300 x 250、4-728 x 90;close_button:1-显示、2-隐藏(默认 2)
当 is_native=0 且 placement_ad_type=1【普通横幅】时,适用 native_ad_size、close_button;native_ad_size:1-320 x 50、2-320 x 100、3-300 x 250、4-728 x 90;close_button:1-显示、2-隐藏(默认 2)
当 is_auto_create=1 时,placement_ad_type 必填,取值:0/1/99;placement_ad_type=0 且 is_template_rendering=0 或 placement_ad_type=99 时,ad_size 必填;placement_ad_type=1 时,native_ad_size 必填

开屏

video_mute 视频静音 1 是 2否
direction 屏幕方向 0 自适应 1 竖屏 2横屏
placement_ad_type 0 普通开屏 1原生开屏 2 插屏开屏

当 is_native=0[普通开屏]时,placement_ad_type=0 安卓应用仅有 direction 样式且值只有1,2,IOS 应用无样式;
当 is_native=1[原生开屏]时,placement_ad_type=1 无样式;
当 is_native=0[插屏开屏]时,placement_ad_type=2 安卓应用仅有 direction 且值有0,1,2、video_mute 样式,IOS 应用仅有 video_mute 样式;
当 is_auto_create=1 且普通开屏时,direction 仅允许 1/2

标准原生is_template_rendering 广告类型 1-中矩形横幅广告 2-标准原生 3-Inline

当 is_template_rendering=3时,ad_size 样式
ad_size:
1: 320 x 50
2: 300 x 50
3: 728 x 90
4: 300 x 250
当 is_auto_create=1 且 is_template_rendering=3 时,ad_size 必填

15ChartboostappSign (App Signature)
appId (App ID)
placementId (Location)
激励视频- 无
插屏- 无
横幅

ad_size 广告源尺寸

ad_size:
1: 320 x 50
2: 300 x 50
3: 728 x 90

开屏不支持
标准原生不支持
16腾讯广告appId (Media ID)
placementId (Unit ID)
激励视频video_mute 视频静音 1 是 2否
插屏

full_screen_video 是否全屏 1 是 2否
video_mute 视频静音 1 是 2否
auto_play_video 自动播放视频 1 总是 2 仅 wifi
video_max_time 视频最大时长 限定时长范围5-60

不限时长:
video_max_time -1
横幅is_template_rendering 模板类型 1 优量汇渲染
开屏zoom_out 开屏 V+ 1 是 2 否
标准原生

is_template_rendering 1 优量汇渲染 2 开发者自渲染 4 贴片视频广告(优量汇渲染) 5 贴片视频广告(自渲染)
video_mute 视频静音 1 是 2否
auto_play_video 自动播放视频 1 总是 2 仅 wifi 3 手动播放
video_max_time 视频最大时长 限定时长范围5-60

原生横幅

is_template_rendering 2 开发者自渲染 5 贴片视频广告(自渲染)
video_mute 视频静音 1 是 2否
auto_play_video 自动播放视频 1 总是 2 仅 wifi 3 手动播放
video_max_time 视频最大时长 限定时长范围5-60

Draw 信息流- 无
原生开屏

is_template_rendering 2 开发者自渲染 3 优量汇渲染 video_mute 视频静音 1 是 2否
auto_play_video 自动播放视频 1 总是 2 仅 wifi 3 手动播放
video_max_time 视频最大时长 限定时长范围5-60

17穿山甲appId (App ID)
primeRitId (广告位 ID)
placementId (Slot ID)
激励视频

app_download_setup 广告位类型,下载前弹框确认 0 默认 1指定 (仅安卓)
popconfirm 二次弹窗确认 1是 2否 (仅安卓)
is_template_rendering 模板类型 1 模板渲染(个性化模板) 2 自渲染

app_download_setup 为0时,popconfirm 无效 (下同)
插屏

adsource_type 广告位类型, 1 全屏视频 2插屏广告 3 新插屏广告
app_download_setup 广告位类型,下载前弹框确认 0 默认 1指定 (仅安卓)
popconfirm 二次弹窗确认 1是 2否 (仅安卓)
is_template_rendering 模板类型 1 模板渲染(个性化模板) 2 自渲染
video_orientation 视频播放方向 1竖屏 2 横屏
ad_size_ratio 代码位尺寸比例 1 1:1, 2 3:2,3 2:3

注意:
1) adsource_type 为1时,无 ad_size_ratio,video_orientation
2) adsource_type 为2时,is_template_rendering 固定传1,且无 video_orientation
3) adsource_type 为3时,无 ad_size_ratio,is_template_rendering
横幅app_download_setup 广告位类型,下载前弹框确认 0 默认 1指定 (仅安卓)
popconfirm 二次弹窗确认 1是 2否 (仅安卓)
ad_size 1,2,3,4,5,6,7,8

1: 600 x 300
2: 600 x 400
3: 600 x 500
4: 600 x 260
5: 600 x 90
6: 600 x 150
7: 600 x 100
8: 600 x 388

开屏

is_template_rendering 模板类型 1 模板渲染(个性化模板) 2 自渲染
zoom_out 开屏点睛 1 是 2 否
app_download_setup (仅安卓)
popconfirm (仅安卓)

标准原生

is_template_rendering 模板类型 1 模板渲染(个性化模板) 2 自渲染 3 贴片视频广告
app_download_setup 下载前弹框确认 0 默认 1指定 (仅安卓)
popconfirm 二次弹窗确认 1是 2否(仅安卓)

Draw 信息流-
原生开屏

is_template_rendering 模板类型 1 模板渲染(个性化模板) 2 自渲染
app_download_setup 下载前弹框确认 0 默认 1指定 (仅安卓)
popconfirm 二次弹窗确认 1是 2否(仅安卓)

18MintegralAppKey (App Key)
appId (App ID)
placementId (Location)
unitId (AD Unit ID)
激励视频

video_mute 视频静音 1 是 2否
placement_ad_type 广告类型 0 普通激励 2 插屏激励
ad_space_type 广告样式 1 全屏插屏 2 半屏插屏

当 is_auto_create=1 且 placement_ad_type=2【插屏激励】时,ad_space_type 必填,取值:1-全屏插屏、2-半屏插屏

插屏

video_mute 视频静音 1 是 2否
is_template_rendering 模板类型 2 自渲染
adsource_type 广告位类型 1 全屏视频 2半屏插屏【原生插屏】
ad_space_type 广告样式 1 全屏插屏 2 半屏插屏

创建原生插屏时,需要 adsource_type 样式;
当 is_auto_create=1 且 is_native=0【普通插屏】时,ad_space_type 必填,取值:1-全屏插屏、2-半屏插屏

横幅

is_template_rendering 模板类型 2 自渲染
ad_size 广告源尺寸【普通横幅】
video_mute 视频静音 1 是 2否【原生横幅】
native_ad_size 广告源尺寸【原生横幅】
close_button 关闭按钮 1-显示 2-隐藏【原生横幅】

ad_size:
1: 320 x 50
2: 300 x 50
3: 728 x 90
当 is_native=0【普通横幅】时,适用字段:ad_size;不适用字段:is_template_rendering、video_mute、native_ad_size、close_button;
当 is_native=1【原生横幅】时,适用字段:is_template_rendering、video_mute、native_ad_size、close_button;is_template_rendering 取值:2-自渲染;不适用字段:ad_size;native_ad_size:1-320 x 50、2-320 x 100、3-300 x 250、4-728 x 90;close_button:1-显示、2-隐藏(默认 2)

开屏

is_skipable 是否可跳过 1 是 2否【普通开屏】
direction 屏幕方向 1 竖屏 2横屏【普通开屏】
countdown_time 倒计时时间 2~10【普通开屏】
placement_ad_type 广告类型 0 普通 1原生开屏 2插屏开屏
video_mute 视频静音 1 是 2否
is_template_rendering 模板类型 1 自动渲染 2 自定义渲染【原生开屏】
auto_play_video 自动播放 1 总是 2-仅 wifi 3-手动【原生开屏】
ad_size 广告占屏幕高度 1:100% 2:80%
ad_space_type 广告样式 1 全屏插屏 2 半屏插屏

当 is_native=0【普通开屏】时,仅有 is_skipable、direction、countdown_time、placement_ad_type 样式,如果是 bidding 源即 is_header_bidding=1时,则需要传 ad_size 样式;当 is_native=1【原生开屏】时,仅有 placement_ad_type、is_template_rendering、video_mute、auto_play_video 样式,当 is_native=0 placement_ad_type=2【插屏开屏】时,仅有 placement_ad_type、video_mute 样式;当 is_auto_create=1 且 placement_ad_type=2【插屏开屏】时,ad_space_type 必填,取值:1-全屏插屏、2-半屏插屏

标准原生

is_template_rendering 模板类型 1 自动渲染 2 自定义渲染
video_mute 视频静音 1 是 2否
auto_play_video 自动播放 1 总是 2-仅 wifi 3-手动
banner_mrec 广告位类型 1-标准原生 2-MREC

is_template_rendering=2时,仅有 video_mute 样式;
当 is_auto_create=1 时,banner_mrec 取值:1-标准原生、2-MREC

19PangleappId (App ID)
placementId (Slot ID)
激励视频

is_template_rendering 模板类型 1-模板渲染
placement_ad_type 广告类型 0-普通激励 2-插屏激励
orientation 视频播放方向 1-竖屏 2-横屏

当 placement_ad_type=0【普通激励】时,适用字段:is_template_rendering、orientation;is_template_rendering 取值:1-模板渲染;orientation 取值:1-竖屏、2-横屏;
当 placement_ad_type=2【插屏激励】时,适用字段:orientation;orientation 取值:1-竖屏、2-横屏;不适用字段:is_template_rendering

插屏

accept_material_type 广告素材类型 1-仅图片 2-仅视频 3-图片+视频
orientation 视频播放方向 1-竖屏 2-横屏
adsource_type 广告位类型 1-全屏视频 2-半屏插屏
ad_categories 广告类别 多选,取值:4/11/12/13

当 is_native=0【普通插屏】时,适用字段:accept_material_type、orientation;不适用字段:adsource_type、ad_categories;
当 is_native=0 且 is_auto_create=1 时,accept_material_type 必填,取值:1-仅图片、2-仅视频、3-图片+视频;
当 accept_material_type=2【仅视频】或 3【图片+视频】时,orientation 必填,取值:1-竖屏、2-横屏;当 accept_material_type=1【仅图片】时,orientation 不需要传;
当 is_native=1【原生插屏】时,适用字段:adsource_type、ad_categories;adsource_type 取值:1-全屏视频、2-半屏插屏;不适用字段:accept_material_type、orientation;
当 is_native=1 且 is_auto_create=1 时,ad_categories 必填,可多选,取值:4-视频、11-宽幅图像、12-方形图像、13-方形视频

横幅

is_template_rendering 模板类型 2-自渲染
ad_size 广告源尺寸
slide_banner 是否轮播 1-否 2-是
ad_categories 广告类别 多选,取值:4/11/12/13

ad_size 取值:1-640 x 100、2-600 x 500;
当 is_native=0【普通横幅】时,适用字段:ad_size、slide_banner;不适用字段:is_template_rendering、ad_categories;
当 is_native=0 且 is_auto_create=1 时,slide_banner 必填,取值:1-否、2-是;
当 is_native=1【原生横幅】时,适用字段:is_template_rendering、ad_categories、native_ad_size、close_button;is_template_rendering 取值:2-自渲染;不适用字段:ad_size、slide_banner;native_ad_size:1-320 x 50、2-320 x 100、3-300 x 250、4-728 x 90;close_button:1-显示、2-隐藏(默认 2);
当 is_native=1 且 is_auto_create=1 时,ad_categories 必填,可多选,取值:4-视频、11-宽幅图像、12-方形图像、13-方形视频

开屏

placement_ad_type 广告类型 0-普通开屏 2-插屏开屏
orientation 视频播放方向 1-竖屏 2-横屏
ad_categories 广告类别 多选,取值:4/11/12/13

当 is_native=0【普通开屏】时,适用字段:placement_ad_type、orientation;placement_ad_type 取值:0-普通开屏、2-插屏开屏;不适用字段:ad_categories;
当 is_native=0 且 is_auto_create=1 时,orientation 必填,取值:1-竖屏、2-横屏;
当 is_native=1【原生开屏】时,适用字段:ad_categories;不适用字段:placement_ad_type、orientation;
当 is_native=1 且 is_auto_create=1 时,ad_categories 非必填;如填写,可多选,取值:4-视频、11-宽幅图像、12-方形图像、13-方形视频

标准原生

banner_mrec 广告位类型 1-标准原生 4-横幅/MREC
is_template_rendering 模板类型 2-自渲染
slide_banner 是否轮播 1-否 2-是
ad_categories 广告类别 多选,取值:4/11/12/13

当 banner_mrec=1【标准原生】时,适用字段:is_template_rendering、ad_categories;不适用字段:slide_banner;
当 banner_mrec=1 且 is_auto_create=1 时,is_template_rendering 必填,取值:2-自渲染;ad_categories 必填,可多选,取值:4-视频、11-宽幅图像、12-方形图像、13-方形视频;
当 banner_mrec=4【横幅/MREC,600 x 500】时,适用字段:slide_banner;不适用字段:is_template_rendering、ad_categories;
当 banner_mrec=4 且 is_auto_create=1 时,slide_banner 必填,取值:1-否、2-是

20快手appId (应用 ID)
appName(应用名称)
placementId (广告位 ID)
激励视频

direction 屏幕方向 1 竖屏 2横屏 3 自适应
video_mute 视频静音 1 是 2否

插屏

adsource_type 广告位类型, 1 全屏视频 2插屏广告
direction 屏幕方向 1 竖屏 2横屏 3 自适应
video_mute 视频静音 1 是 2否

仅 adsource_type 为1全屏视频时
direction 屏幕方向可选
开屏-
标准原生

is_template_rendering 模板类型 1 模板渲染 2 自渲染

原生横幅

is_template_rendering 模板类型 2 自渲染

Draw 信息流-
原生开屏

is_template_rendering 模板类型 1 模板渲染 2 自渲染

21SigmobappId (应用 ID)
AppKey (App Key)
placementId (广告单元 ID)
激励视频
插屏-
开屏-
标准原生-
原生横幅-
原生开屏-
23InmobiplacementId (广告位 ID)激励视频placement_ad_type 激励类型 0-普通激励 2-插屏激励当 is_auto_create=1 时,不支持 C2S Bidding(header_bidding_type=1)
插屏adsource_type 广告样式 1-全屏插屏 2-半屏插屏

当 is_native=1【原生插屏】时,仅有 adsource_type 样式;
当 is_native=1 且 is_auto_create=1 时,adsource_type 必填,取值:1-全屏插屏、2-半屏插屏

开屏

placement_ad_type 开屏类型 1-原生开屏 2-插屏开屏

标准原生banner_mrec 广告位类型 1-标准原生 4-MREC(300x250)当 is_auto_create=1 时,banner_mrec 必填,取值:1/4
横幅

ad_size 广告源尺寸【普通横幅】
native_ad_size 广告源尺寸【原生横幅】
close_button 关闭按钮 1-显示 2-隐藏【原生横幅】

ad_size:
1: 320 x 50
2: 300 x 250
当 is_native=0【普通横幅】时,适用字段:ad_size;不适用字段:native_ad_size、close_button;
当 is_native=1【原生横幅】时,适用字段:native_ad_size、close_button;不适用字段:ad_size;native_ad_size:1-320 x 50、2-320 x 100、3-300 x 250、4-728 x 90;close_button:1-显示、2-隐藏(默认 2)

24Digital TurbineappId (应用 ID)
placementId (广告位 ID)
激励视频-
插屏video_mute 视频静音 1 是 2否
开屏

video_mute 视频静音 1 是 2否
placement_ad_type 开屏类型 2-插屏开屏

标准原生不支持
横幅-
40TradPlus AdxplacementId (广告位 ID)激励视频

video_mute 视频静音 1-是 2-否
adsource_type 广告类型 1-激励广告 2-插页式激励广告
skip_time 视频跳过按钮出现时间(1~30s)

当 adsource_type=1时, 无 skip_time 样式
插屏

video_mute 视频静音 1-是 2-否
adsource_type 素材类型 1-插屏视频 2-插屏图片 3-插屏图片&插屏视频

当 adsource_type=2时, 无 video_mute 样式
开屏-
插播-
标准原生template_render_type 模板类型1-左图右文 2-左文右图 3-上图下文 4-上文下图 5-三图
横幅

ad_size 广告源尺寸
width 自定义宽
height 自定义高

ad_size:
1: 横幅(320x50)
2: 大横幅(320x90)
3: 中距形横幅(300x250)
4: 首页横幅(728x90)
100: 自定义
当 ad_size=100,需传 width、height 样式
43BaiDu AdsappId (APP ID)
placementId (Ad Place ID)
激励视频-
插屏adsource_type 广告位类型, 1 全屏视频 3 新模板插屏
横幅

is_native=0 不支持

开屏-
标准原生

is_template_rendering 模板类型 模板类型 1 智能优选 2 自渲染

原生横幅

is_template_rendering 模板类型 模板类型 2 自渲染

原生开屏

is_template_rendering 模板类型 模板类型 1 智能优选 2 自渲染

44游可赢appId (应用 ID)
placementId (广告位 ID)
激励视频video_mute 视频静音 1 是 2否
插屏-
开屏-
标准原生

is_template_rendering 模板类型 2 自渲染
video_mute 视频静音 1 是 2否

原生开屏

is_template_rendering 模板类型 2 自渲染
video_mute 视频静音 1 是 2否

50YandexplacementId (Ad Unit ID)激励视频

placement_ad_type 激励类型 0-普通激励 2-插屏激励
currencyType 奖励名称【普通激励】
currencyValue 奖励数量【普通激励】

当 is_auto_create=1 且 placement_ad_type=0【普通激励】时,currencyType、currencyValue 必填;placement_ad_type=2【插屏激励】不要求这两项;
当 is_auto_create=1 时,placementId 可空,由三方返回 id 回写

插屏

adsource_type 广告样式 1-全屏视频 2-半屏插屏
is_template_rendering 模板类型 2-自渲染

当 is_native=0【普通插屏】时,无样式;
当 is_auto_create=1 时,placementId 可空,由三方返回 id 回写

开屏placement_ad_type 开屏类型 0-普通开屏 1-原生开屏 2-插屏开屏当 is_auto_create=1 时,placementId 可空,由三方返回 id 回写
标准原生

is_template_rendering 模板类型 1-模版渲染 2-自渲染

当 is_auto_create=1 时,placementId 可空,由三方返回 id 回写
横幅

ad_size 广告源尺寸【普通横幅】
native_ad_size 广告源尺寸【原生横幅】
close_button 关闭按钮 1-显示 2-隐藏【原生横幅】
is_template_rendering 模板类型【原生横幅】

ad_size:
1: 240 x 40
2: 300 x 250
3: 320 x 100
4: 320 x 50
5: 400 x 240
6: 728 x 90
当 is_native=0【普通横幅】时,适用字段:ad_size;不适用字段:native_ad_size、close_button;
当 is_native=1【原生横幅】时,适用字段:native_ad_size、close_button、is_template_rendering;不适用字段:ad_size;native_ad_size:1-320 x 50、2-320 x 100、3-300 x 250、4-728 x 90;close_button:1-显示、2-隐藏(默认 2);创建落库 is_template_rendering,查询时回显;
当 is_auto_create=1 时,placementId 可空,由三方返回 id 回写

57BigoappId (应用 ID)
placementId (广告位 ID)
激励视频

placement_ad_type 0-普通激励 2-插屏激励
musicSwitch 视频声音 1-开 2-静

当创建【插屏激励】时,仅有 placement_ad_type=2样式;
当 is_auto_create=1 时,musicSwitch 必填,取值:1-开、2-静;仅支持 Server Bidding(header_bidding_type=0)

插屏

adsource_type 广告位类型 1-全屏视频 2-半屏插屏
placement_ad_type 0-普通插屏 1-原生插屏 99-弹窗插屏
musicSwitch 视频声音 1-开 2-静
adSpecification 素材类型 1-图文 2-视频

当 is_native=0【普通插屏】时,无样式
当 is_native=1【原生插屏】时,仅有 adsource_type 样式
当 is_auto_create=1 且普通/弹窗插屏时,musicSwitch 必填;当 placement_ad_type=1【原生插屏】时,adSpecification 必填,取值:1/2(可多选,逗号拼接)

开屏

adsource_type 广告位类型 1-半屏广告 2-全屏广告
placement_ad_type 0-普通开屏 1-原生开屏 2-插屏开屏
splashShowMaximumDuration 展示时长 310
splashTurnOffAllowed 跳过时间 0
5
musicSwitch 视频声音 1-开 2-静
adSpecification 素材类型 1-图文 2-视频

当 is_native=0【普通开屏】时,仅有 adsource_type 样式;当 is_auto_create=1 时,另须 splashShowMaximumDuration、splashTurnOffAllowed
当 is_native=1【原生开屏】时,仅有 placement_ad_type 样式;当 is_auto_create=1 时,adSpecification 必填
当创建【插屏开屏】时,is_native=0且仅有 placement_ad_type=2样式;当 is_auto_create=1 时,musicSwitch 必填

标准原生

banner_mrec 广告位类型 1-标准原生 4-MREC
adSpecification 素材类型 1-图文 2-视频
bannerAutoRefresh 是否轮播 1-是 2-否
bannerAutoRefreshSecond 轮播间隔 0~500

当 is_auto_create=1 且 banner_mrec=1【标准原生】时,adSpecification 必填;
当 banner_mrec=4【MREC】且 is_auto_create=1 时,bannerAutoRefresh 必填;bannerAutoRefresh=1 时,bannerAutoRefreshSecond 必填

横幅

ad_size 广告源尺寸【普通横幅】
native_ad_size 广告源尺寸【原生横幅】
close_button 关闭按钮 1-显示 2-隐藏【原生横幅】
bannerAutoRefresh 是否轮播 1-是 2-否
bannerAutoRefreshSecond 轮播间隔 0~500
adSpecification 素材类型 1-图文 2-视频

ad_size:
1: 320 x 50
2: 300 x 250
当 is_native=0【普通横幅】时,适用字段:ad_size;不适用字段:native_ad_size、close_button;当 is_auto_create=1 时,ad_size、bannerAutoRefresh 必填;bannerAutoRefresh=1 时,bannerAutoRefreshSecond 必填
当 is_native=1【原生横幅】时,适用字段:native_ad_size、close_button;不适用字段:ad_size;native_ad_size:1-320 x 50、2-320 x 100、3-300 x 250、4-728 x 90;close_button:1-显示、2-隐藏(默认 2);当 is_auto_create=1 时,adSpecification 必填

74TaurusXappId (应用 ID)
placementId (广告位 ID)
激励视频

placement_ad_type 激励类型 0 普通激励 2 插屏激励
video_mute 视频静音 1 是 2否
cpm_rate 底价

当 is_auto_create=1 时,placement_ad_type 必填,取值:0/2;非 HB 可传 cpm_rate

插屏

adsource_type 广告样式 1 全屏插屏 2 半屏插屏
video_mute 视频静音 1 是 2否
ad_sub_format 三方尺寸 1-300x250 2-300x300

当 is_native=0【普通插屏】时,适用 video_mute;
当 is_native=1【原生插屏】时,适用 adsource_type、ad_sub_format;当 is_auto_create=1 时,ad_sub_format 必填

开屏

placement_ad_type 开屏类型 0-普通开屏 2-插屏开屏
video_mute 视频静音 1 是 2否
ad_sub_format 三方尺寸 1-300x250 2-300x300

当 is_native=0 且 is_auto_create=1 时,placement_ad_type 必填,取值:0/2;
当 is_native=1 且 is_auto_create=1 时,ad_sub_format 必填

标准原生ad_sub_format 三方尺寸 1-300x250 2-300x300当 is_auto_create=1 时,ad_sub_format 必填,取值:1/2
横幅

ad_size 广告源尺寸【普通横幅】
native_ad_size 广告源尺寸【原生横幅】
close_button 关闭按钮 1-显示 2-隐藏【原生横幅】
ad_sub_format 三方尺寸 1-300x250 2-300x300

ad_size:
1: 320 x 50
2: 300 x 250
当 is_native=0【普通横幅】时,适用字段:ad_size;不适用字段:native_ad_size、close_button、ad_sub_format;
当 is_native=1【原生横幅】时,适用字段:native_ad_size、close_button、ad_sub_format;不适用字段:ad_size;native_ad_size:1-320 x 50、2-320 x 100、3-300 x 250、4-728 x 90;close_button:1-显示、2-隐藏(默认 2);当 is_auto_create=1 时,ad_sub_format、native_ad_size 必填

76ColumbusappKey (App Key) appSecret (App Secret) placementId (Placement ID)激励视频

placement_ad_type 激励类型 0 普通激励 2 插屏激励

IOS 应用不支持创建
插屏

adsource_type 广告样式 1 全屏插屏 2 半屏插屏

当 is_native=0[普通插屏]时,无 adsource_type 样式
横幅

ad_size 广告源尺寸【普通横幅】
native_ad_size 广告源尺寸【原生横幅】
close_button 关闭按钮 1-显示 2-隐藏【原生横幅】

ad_size:
1: 320 x 50
2: 300 x 250
当 is_native=0【普通横幅】时,适用字段:ad_size;不适用字段:native_ad_size、close_button;
当 is_native=1【原生横幅】时,适用字段:native_ad_size、close_button;不适用字段:ad_size;native_ad_size:1-320 x 50、2-320 x 100、3-300 x 250、4-728 x 90;close_button:1-显示、2-隐藏(默认 2)

开屏

placement_ad_type 1原生开屏 2 插屏开屏

当 is_native=1[原生开屏]时,placement_ad_type=1
当 is_native=0[插屏开屏]时,placement_ad_type=2

标准原生- 无
77YsoplacementId (广告位 ID)激励视频-
插屏-
开屏-
标准原生-
横幅-
82Molocoappkey (App Key)
placementId (Ad Unit ID)
激励视频- 无支持 Header Bidding(S2S);不支持自动化创建
插屏

adsource_type 广告样式 1 全屏插屏 2 半屏插屏

当 is_native=0【普通插屏】时无 adsource_type;当 is_native=1【原生插屏】时适用 adsource_type;支持 Header Bidding(S2S)
开屏

placement_ad_type 1 原生开屏 2 插屏开屏

当 is_native=1【原生开屏】时,placement_ad_type=1;
当 is_native=0【插屏开屏】时,placement_ad_type=2;
支持 Header Bidding(S2S)

标准原生- 无支持 Header Bidding(S2S)
横幅

ad_size 广告源尺寸【普通横幅】
native_ad_size 广告源尺寸【原生横幅】
close_button 关闭按钮 1-显示 2-隐藏【原生横幅】

ad_size:
1: 320 x 50
2: 300 x 250
3: 728 x 90
当 is_native=0【普通横幅】时,适用字段:ad_size;不适用字段:native_ad_size、close_button;
当 is_native=1【原生横幅】时,适用字段:native_ad_size、close_button;不适用字段:ad_size;native_ad_size:仅 3-300 x 250(传 1/2/4 返回 native_ad_size 配置参数错误;历史数据不迁移);close_button:1-显示、2-隐藏(默认 2);
支持 Header Bidding(S2S)

83MagniteappId (App ID)
accountId (Account ID)
siteId (Site ID)
placementId (Placement ID)
激励视频- 无支持 Header Bidding(S2S);不支持自动化创建
插屏

adsource_type 广告样式 1 全屏插屏 2 半屏插屏

当 is_native=0【普通插屏】时无上述样式;当 is_native=1【原生插屏】时适用 adsource_type;支持 Header Bidding(S2S)
开屏- 无支持 Header Bidding(S2S)
标准原生- 无支持 Header Bidding(S2S)
横幅

ad_size 广告源尺寸【普通横幅】

ad_size:
1: 320 x 50
2: 300 x 250
当 is_native=0【普通横幅】时,适用字段:ad_size;
当 is_native=1【原生横幅】时不适用 ad_size;
支持 Header Bidding(S2S)

28start.ioappId (App ID)
placementId (广告位 ID)
激励视频- 无须 Header Bidding(S2S);不支持自动化创建
插屏adsource_type 广告样式 1 全屏插屏 2 半屏插屏当 is_native=0【普通插屏】时无 adsource_type;当 is_native=1【原生插屏】时适用 adsource_type;须 Header Bidding(S2S)
开屏

placement_ad_type 开屏类型 1-原生开屏 2-插屏开屏
ad_format 广告位类型 1-插屏视频 2-插屏图片【Android 插屏开屏】

原生开屏:is_native=1,placement_ad_type=1,无 ad_format。
插屏开屏:is_native=0,placement_ad_type=2。
Android 插屏开屏另须 ad_format(1 插屏视频,2 插屏图片)。缺失返回 ad_format 样式配置参数缺失;非 1/2,或在 iOS、原生开屏上传 ad_format,返回 ad_format 配置参数错误。
placement_ad_type 缺失返回 placement_ad_type 样式配置参数缺失;其它值返回 placement_ad_type 配置参数错误。
须 Header Bidding(S2S)

标准原生- 无须 Header Bidding(S2S)
横幅

ad_size 广告源尺寸【普通横幅】
native_ad_size 广告源尺寸【原生横幅】
close_button 关闭按钮 1-显示 2-隐藏【原生横幅】

【普通横幅】is_native=0,适用 ad_size;不适用 native_ad_size、close_button
ad_size:
1: 320 x 50
2: 300 x 250
【原生横幅】is_native=1,适用 native_ad_size、close_button;不适用 ad_size
native_ad_size:
1: 320 x 50
2: 320 x 100
3: 300 x 250
4: 728 x 90
close_button:1-显示、2-隐藏(默认 2)
须 Header Bidding(S2S)

48Google Ad ManagerplacementId (Ad unit)
appId (应用 ID)
Android 须非空 appId;iOS 可省略或传空串。
激励视频adsource_type 广告位类型 1-激励视频 2-插页式激励不支持自动化创建;不支持 Header Bidding
插屏- 无不支持 Header Bidding
开屏- 无不支持 Header Bidding
插播广告video_protocol 协议类型 1-VAST 2-VMAP缺失返回 video_protocol 样式配置参数缺失;非 1/2 返回 video_protocol 配置参数错误
不支持 Header Bidding
标准原生

ad_size 素材比例【标准原生】
banner_mrec 广告类型 1-标准原生 4-MREC

banner_mrec=1【标准原生】时须 ad_size:
1: 未指定
2: 任意尺寸
3: 横屏尺寸
4: 竖屏尺寸
5: 正方形尺寸
banner_mrec=4【MREC】时不传 ad_size,服务端写入 ad_size=3
不支持 Header Bidding

横幅

ad_size 广告源尺寸【普通横幅】/ 素材比例【原生横幅】
collapsible 折叠横幅 0-否 1-顶部 2-底部【普通横幅】
native_ad_size 广告源尺寸【原生横幅】
close_button 关闭按钮 1-显示 2-隐藏【原生横幅】

【普通横幅】is_native=0,同时填写 ad_size 与 collapsible
ad_size:
1: 320 x 50
2: 320 x 100
3: 300 x 250
4: 468 x 60
5: 728 x 90
6: adaptive banners
collapsible:0-否、1-顶部、2-底部
缺 collapsible 返回 collapsible 样式配置参数缺失
【原生横幅】is_native=1,适用 ad_size、native_ad_size、close_button;不适用 collapsible
ad_size 素材比例:
1: 未指定
2: 任意尺寸
3: 横屏尺寸
4: 竖屏尺寸
5: 正方形尺寸
native_ad_size:
1: 320 x 50
2: 320 x 100
3: 300 x 250
4: 728 x 90
close_button:1-显示、2-隐藏(默认 2)
【内嵌式自适应横幅】is_native=99,无需 ad_size、collapsible
不支持 Header Bidding

53VerveappId (App ID)
appToken (App Token)
placementId (Placement ID)
激励视频- 无须 Header Bidding(S2S);不支持自动化创建;公司须开通 Verve 权限
插屏- 无须 Header Bidding(S2S)
开屏原生开屏:is_native=1须 Header Bidding(S2S)
标准原生- 无须 Header Bidding(S2S)
横幅ad_size 广告源尺寸【普通横幅】

【普通横幅】is_native=0,适用 ad_size
ad_size:
1: 320 x 50
2: 300 x 250
3: 728 x 90
【原生横幅】is_native=1,无 ad_size、native_ad_size、close_button、collapsible
须 Header Bidding(S2S)

附录3 流量分组规则数据格式​

字段类型必传说明备注
rulesArray[Object]Y流量分组规则信息列表
rules.namestringY名称网络连接类型 device_contype
应用版本 app_ver
设备类型 device_type
设备制造商 device_mak
星期 week
时段 time
年龄 user_age
性别 user_gender
SDK 版本 sdk_ver
系统版本 device_osv
手机运行内存(RAM) device_ram
CPU 架构 device_cpu
游戏中等级 user_level
应用内付费金额 user_iap_amount
应用内付费币种 user_iap_currency
应用内付费次数 user_iap_count
渠道 channel
子渠道 sub_channel
自定义用户 ID user_id
设备 ID device_idfa
IDFA 授权 device_idfa_auth
Segment Tag segment_tag
应用安装时间 app_instimespan
自定义用户属性 user_custom
rules.typestringY类型int,float,version,complex
rules.opstringY操作符in,notIn,大于,小于,大于等于,小于等于,=,range
rules.datastringY内容网络连接类型 WiFi(2),5G(7),4G(6),3G(5),2G(4)
设备类型 1-Phone,2-Pad
设备制造商 Apple,Acer,Advan,Amazon,Asus,Blackshark,Coolpad,GIONEE,Google,Hisense,Honor,HTC,Huawei,Infinix,Lanix,LeEco,Lenovo,LGE,Meitu,Meizu,MetroPCS,Motorola,Nokia,Nubia,OnePlus,OPPO,Qcom,Realme,Redmi,Samsung,Sharp,Smartfren,Smartisan,Sony,TCL,Tecno,Verizon,Vivo,Xiaomi,ZTE,360
星期 1-7(代码中动态生成,对应周一到周日)
性别 male(男),female(女)
应用内付费币种 USD,CNY,EUR
IDFA 授权 1 authorized,2 unauthorized
timezoneOffsetstringY时区使用特殊时区选择组件,自动获取当前时区偏移量

附录4 安卓应用市场​

other_app_market 仅 Android。is_release=2 只能传 13;is_release=3 只能传 0–12。

值应用市场
0其他应用市场
1华为海外应用市场
2小米海外应用商店
3Amazon Appstore
4TapTap
5华为应用市
6小米应用商店
7OPPO软件商店
8vivo应用商店
9三星应用商店
10腾讯应用宝
11APKPure
12Microsoft Store
13Google Play