跳到主要内容

广告位接口

广告位模块

广告位管理相关功能,广告位的创建、修改

创建应用广告位

Content-Type:application/json

POST

/openApi/sdkv2/appAdAdd

注意事项

  1. 广告位(ad_type)创建后不可修改
  2. 结算类型(fixed_type) 创建后不可修改
  3. 系统(os) 创建后不可修改

请求参数

参数名称参数类型参数描述参数限制是否必填
app_idstringoctopus 应用 id根据创建应用接口返回的 app_id 指定需要在哪个应用下创建广告位必填
third_adp_idstring第三方广告位 id第三方广告位 id必填
osint系统参数取值:1:iOS 2:Android 3:H5必填
adp_namestring广告位名字字符长度不超过 50;同一个应用下广告位名字不能重复必填
ad_typeint广告位类型取值范围见 通用说明 附录3. 广告位类型必填
ad_sizestring广告尺寸示列:640x960(宽x高)小写英文x必填
fixed_typeint结算类型取值范围:1:固价 2:竞价必填
ad_sourceint素材类型1:图片 2:视频 3:图片加视频必填
ad_templateint信息流模板类型0:大图模板,1:上文下图,2:上图下文,3:左图右文,4:左文右图ad_type=3,必填
screen_directionint屏幕方向1:竖屏 2:横屏必填
ad_plugint插屏广告类型1:全屏 2:半屏ad_type=5,必填
reward_settingint激励视频广告位是否开启回调是否开启服务器回调 0:关闭 1:开启激励视频广告位,非必填,默认不开启
reward_namestring奖励名称(开启服务器回调时填写 reward_setting=1)长度限制为:最多包含 20 个字符reward_setting=1 时必填
reward_sumint奖励数量(开启服务器回调时填写 reward_setting=1)>=1reward_setting=1 时必填
reward_urlstring回调地址(开启服务器回调时填写 reward_setting=1)回调 URL 需要以 http://或 https://开头reward_setting=1 时必填
reward_secretstring激励广告服务端校验密钥32 位随机大小写字母和数字组成reward_setting=1 时必填
ecpmintecpm 底价,单位:分非必填,默认为0
biddingint实时竞价,实时返回真实报价0:关闭 1:开启非必填,默认关闭
white_liststring白名单列表 安卓端:oaid,ios端:idfa, 多个英文逗号分割非必填
is_testint是否测试 1是0否必填

返回内容

{
"ret": 0,
"desc": "ok",
"data": {
// octopus广告位id
"adp_id": "afa98234f",
"appAdId":"1234", // 兼容老版本octopus广告位id
"third_adp_id":"1234_2", // 第三方广告位id
// 广告位名称
"adp_name": "wode",
// 合作方应用id
"app_id": 1674,
// 广告类型 见 通用说明 附录3. 广告位类型
"ad_type": 3,
// 素材类型 1:图片 2:视频 3:图片加视频
"ad_source": 3,
// 是否需要服务器回调
"reward_setting": 1,
// 奖励名称
"reward_name": "coin",
// 奖励数量
"reward_sum": 2,
// 回调地址
"reward_url": "https://fc-mp-321186b3-2c50-480b-9c19-98a865088d84.next.bspapp.com/1233499384/1/2/276670",
// reward_secret 如广告位开启激励视频回调,则该值必须返回
"reward_secret": "2d3764deb6ed691768091bd98e04df57",
// 应用内竞价
"bidding": 1,
"ecpm":0 // ecpm 底价,单位:分
}
}

java 示例

OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"app_id\": \"1000\",\n \"third_adp_id\": \"1975968129_2\",\n \"adp_name\": \"测试\",\n \"ad_type\": 3,\n \"ad_source\": 3,\n \"bidding\": 1,\n \"user_name\": \"lofterad@163.com1\",\n \"time\": 1745830572,\n \"sign\": \"4e3db8d199a93efbd15b2774b2be2089\"\n}");
Request request = new Request.Builder()
.url("http://xxx.xxx.xxx/openApi/thirdChannel/adpAdd")
.method("POST", body)
.addHeader("User-Agent", "Apifox/1.0.0 (https://apifox.com)")
.addHeader("Content-Type", "application/json")
.addHeader("Accept", "*/*")
.addHeader("Host", "localhost:8080")
.addHeader("Connection", "keep-alive")
.build();
Response response = client.newCall(request).execute();

修改应用广告位

Content-Type:application/json

POST

/openApi/sdkv2/updateAppAd

请求参数

参数名称参数类型参数描述参数限制是否必填
app_idstringoctopus 应用ID必填
adp_idstringoctopus 广告位 id根据创建广告位接口返回的 adp_id 唯一值必填
third_adp_idstring第三方广告位 id第三方 adp_id必填
adp_namestring广告位名字字符长度不超过 50;同一个应用下广告位名字不能重复必填
ad_sourceint素材类型1:图片 2:视频 3:图片加视频非必填
ad_templateint信息流模板类型0:大图模板,1:上文下图,2:上图下文,3:左图右文,4:左文右图非必填
ad_plugint插屏广告类型1:全屏 2:半屏非必填
reward_settingint激励视频广告位是否开启回调是否开启服务器回调 0:关闭 1:开启激励视频广告位,非必填,默认关闭
reward_namestring奖励名称(开启服务器回调时填写 reward_setting=1)长度限制为:最多包含 20 个字符reward_setting=1 时必填
reward_sumint奖励数量(开启服务器回调时填写 reward_setting=1)>=1reward_setting=1 时必填
reward_urlstring回调地址(开启服务器回调时填写 reward_setting=1)回调 URL 需要以 http://或 https://开头reward_setting=1 时必填
reward_secretstring激励广告服务端校验密钥32 位随机大小写字母和数字组成reward_setting=1 时必填
ecpmintecpm 底价,单位:分非必填,默认为0
biddingint实时竞价,实时返回真实报价0:关闭 1:开启非必填,默认关闭
white_liststring白名单列表 安卓端:oaid,ios端:idfa, 多个英文逗号分割非必填
is_testint是否测试 1是0否必填

返回内容

{
"ret": 0,
"desc": "ok",
"data": {
// 返回广告位所有数据
// octopus广告位id
"adp_id": "afa98234f",
"appAdId":"1234", // 兼容老版本octopus广告位id
"third_adp_id":"1234_2", // 第三方广告位id
// 广告位名称
"adp_name": "wode",
// 合作方应用id
"app_id": 1674,
// 广告类型 见 通用说明 附录3. 广告位类型
"ad_type": 3,
// 素材类型 1:图片 2:视频 3:图片加视频
"ad_source": 3,
// 是否需要服务器回调
"reward_setting": 1,
// 奖励名称
"reward_name": "coin",
// 奖励数量
"reward_sum": 2,
// 回调地址
"reward_url": "https://fc-mp-321186b3-2c50-480b-9c19-98a865088d84/callback/v2/v3/1233499384/1/2/276670",
// reward_secret 如广告位开启激励视频回调,则该值必须返回
"reward_secret": "2d3764deb6ed691768091bd98e04df57",
// 应用内竞价
"bidding": 1,
"ecpm":0 // ecpm 底价,单位:分
}
}

广告位列表

Content-Type:application/json

POST

/openApi/sdkv2/appAdList

请求参数

参数名称参数类型参数描述参数限制是否必填
app_idstringoctopus 应用 idapp_id 作为唯一值非必填
adp_idstringoctopus 应用下广告位 idadp_id 作为唯一值非必填
appAdIdstring兼容octopus 应用下广告位 idappAdId 作为唯一值非必填
pageint第几页默认:1非必填
page_sizeint每页多少条默认:100非必填

返回内容

{
"ret": 0,
"desc": "ok",
"data": {
"page":1, // 第几页
"page_size":100, // 每页多少条
"total":4593, // 总共多少条
"list":[ // 数据 返回广告位详情所有数据 这里只是示例 并未返回所有参数
{
// octopus广告位id
"adp_id": "afa98234f",
"appAdId":"1234", // 兼容老版本octopus广告位id
"third_adp_id":"1234_2", // 第三方广告位id
// 广告位名称
"name": "wode",
// octopus应用id
"app_id": 1674,
// 广告类型 见 通用说明 附录3. 广告位类型
"ad_type": 1,
// 素材类型 1:图片 2:视频 3:图片加视频
"ad_source": 3,
// 是否需要服务器回调
"reward_setting": 1,
// 奖励名称
"reward_name": "coin",
// 奖励数量
"reward_sum": 2,
// 回调地址
"reward_url": "https://fc-mp-321186b3-2c50-480b-9c19-98a865088d84/callback/v2/v3/1233499384/1/2/276670",
// reward_secret 如广告位开启激励视频回调,则该值必须返回
"reward_secret": "2d3764deb6ed691768091bd98e04df57",
// 应用内竞价
"bidding":1,
"ecpm":0 // ecpm 底价,单位:分
}
}
}

激励视频广告位服务器回调说明

合作方以 GET 方式请求广告位的 reward_url 回调地址,并拼接以下参数进行回传:

slotId=%s&appId=%s&transId=%s&userId=%s&extrai=%s&sign=%s&name=%s&count=%s
字段定义字段名称字段类型备注
slotId签名后的广告位 IDstring签名后的广告位 ID,需要可校验
appIdAPP IDstring应用 ID,需要可校验
transId交易 idstring完成观看的唯一交易 ID
sign签名后的 transIdstring必须验证的签名信息
userId用户 idstring调用 SDK 传入并透传,应用对用户的唯一标识,如无需要则为空
extra其他信息string调用 SDK 传入并透传,如无需要则为空
name奖品名称string需要就联系运营配置,如无需要则为空
count奖品数量string需要就联系运营配置,如无需要则为空

具体示例:

http://开发者回调地址/sdk/callback?slotId=%s&appId=%s&transId=%s&userId=%s&extra=%s&sign=%s&name=%s&count=%s

服务端验证说明

当选择需要服务端验证时,开发者需要按照以上接口进行开发,并向运营提供回调 URL 让运营帮忙配置一下回调 URL。 服务端回调是指在用户看完视频达到奖励条件时,章鱼广告 SDK 服务端会向开发者服务端发送一个验证请求,同时客户端会给出 onReward 回调,开发者根据回调进行奖励发放, 因为奖励回调和服务端验证请求是同时发送的,开发者后台收到验证请求可能会有延迟或网络原因上的失败,开发者需要平衡用户体验与奖励验证。

补充:

章鱼广告 SDK 后台向上述 URL 发起请求后,您会在服务端收到某个 transId 的请求,如果签名验证正确,那么此 transId 对应的曝光为有效曝光

签名生成方式:

sign = sha256(transid:secret)

其中 transId 为交易 id,secret 运营配置服务端 URL 时获取到的密钥,配置好后跟运营要。

约定返回参数

字段名称字段定义字段类型备注
isValid校验结果bool判定结果,是否发放奖励

注意:按照 SDK 要求需要服务器判断的回调 url 是一个 get 请求默认返回的是一个 json 字符串{"isValid": true}

示例:

{
"isValid": true
}