菜单

酷盈Server Bidding接入指南

版本记录

版本

日期

内容

最低支持SDK版本

3.0

2026/08/07

补充device.ext.common

6.5.61.6

2.0

2026/05/25

修改adm及nurl

6.5.61.6

1.0

2026/04/09

初版协议

6.5.61

 

交互流程

广告请求和返回流程

STEP1:流量方App调用酷盈SDK接口请求获取buyerUid
STEP2:流量方ADX携带buyerUid请求酷盈ADX服务端
STEP3:酷盈ADX服务端返回流量方竞价响应信息
STEP4:流量方ADX完成比价后,调用相关竞价成功接口上传相关信息
STEP5:流量方将最终竞价成功响应里的adm信息给到酷盈SDK

备注:

(1)STEP1和STEP2中获取和携带的buyerUid信息为必传参数,缺失将影响变现效果;建议开发者每次发起广告请求前都调用酷盈SDK接口获取并上传相关信息,提升变现效果;

(2)STEP4和STEP5无严格顺序,且竞价失败后不需要进行STEP5。

 

接口协议

调用酷盈SDK获取竞价请求buyerUid

  • Android
//需先完成 SDMSDK.init(...) 等初始化(与常规接入一致)
final String placementId = "你的广告位ID";
Map<String, Object> extras = new HashMap<>(); //无扩展时也建议非 null
SDMSDK.getInstance().getSDMAdManager().getS2SBidToken(
        placementId,
        extras,
        new ISDMAdManager.S2SBidTokenCallback() {
            @Override
            public void onComplete(String buyerUid) {
                if (buyerUid == null || buyerUid.isEmpty()) {
                    //取buyerUid失败,勿用于询价
                    return;
                }
                //将buyerUid(token)交给服务端进行 RTB 竞价,走S2S竞价;服务端返回json取出adm后再用于下面load
            }
        });


//RTB竞价返回的 adm数据用于load 接口传入扩展字段s2s_bid_adm
SDMInterstitialAd interstitial = new SDMInterstitialAd(context, placementId);
Map<String, Object> extraMap = new HashMap<>();
extraMap.put("s2s_bid_adm", ${adm_data});
interstitial.load(new SDMAdRequest.Builder()
        .setExtraMap(extraMap)
        .build());
 
  • iOS
//需先完成KuyingSDK初始化,生命周期内一次
[[SDMAPI sharedInstance] startWithAppID:@"你的AppId" appKey:@"你的AppKey" error:nil]; 

//获取s2sBuyerUid(token)
[SDMBaseAd requestS2SBuyerUidWithPlacementId:@"你的广告位id" extra:nil completion:^(NSString *_Nullable buyerUid, NSError *_Nullable error) {
  if (error) {
    //错误信息
  }
  //将buyerUid(token) 交给服务端进行RTB竞价,走S2S竞价;服务端返回json取出adm后再用于下面load
];

//RTB竞价返回的 adm数据用于load接口传入扩展字段s2s_bid_adm
//创建对应样式Ad对象
SDMInterstitialAd *adInfo = [[SDMInterstitialAd alloc] initAdWithPlacementId:@"你的广告位id"];
NSMutableDictionary *s2sExtra = [NSMutableDictionary dictionary];
s2sExtra[@"kSDMS2SAdmPayloadKey"] = adm;
[adInfo loadAdWithExtraDic:s2sExtra];
 

Server端竞价请求协议

竞价请求

采用OpenRTB协议

  • 请求路径: 请联系对接运营&商务同学获取
  • 请求方式: POST
  • 请求头:
Content-Type: application/json
Accept: application/json

 

BidRequest请求

字段

类型

是否必填

说明

id

string

是

请求 ID,用于广告效果追踪

tmax

int

是

超时时间(单位:毫秒)

app

object

是

应用信息

imp

object array

是

广告位与素材约束

user

object

是

用户信息

device

object

是

设备信息

test

int

否

1=测试,0=正式(默认0)

app对象

字段

类型

是否必填

说明

id

string

是

酷盈平台的应用 ID

ver

string

否

应用版本

bundle

string

是

包名

name

string

否

应用名称

device对象

字段

类型

是否必填

说明

ip

string

是

设备 IP

ua

string

是

设备浏览器用户代理字符串;例如:'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1'

os

string

是

iOS/Android

osv

string

是

系统版本

language

string

否

系统语言

devicetype

int

是

设备类型:

0:未知

1:手机

2:PC

3:平板

4:电视TV

make

string

是

手机品牌

model

string

是

手机型号

h

int

是

以像素计的设备屏幕高度

w

int

是

以像素计的设备屏幕宽度

carrier

string

否

运营商:

0:未知

1:中国移动  

2:中国联通  

3:中国电信

connectiontype

int

是

网络类型:

0:未知  

1:以太网  

2:WiFi  

4:2G  

5:3G  

6:4G

7:5G

ifa

string

条件必填

ios传idfa, 安卓传oaid

ext

object

否

设备扩展

device.ext

字段

数据类型

是否必传

备注

common

string

否

详细内容见下方

device.ext.common

字段

数据类型

是否必传

备注

caid_list

string

否

iOS 广协 caid 列表,若存在多个版本的 caid,则全部传送

示例:

[
{
"version": "20230330",
"caid": "0e82f3f60befcf5cd28a89621eea6634"
},
{
"version": "20250325",
"caid": "917d2b3c69ab1d17e1802208866cb6aa"
}
]

sys_up_ts

string

否

系统更新时间戳,单位是秒,保留6位小数
birth_time

string

否

设备初始化时间,单位是秒,保留9位小数
sys_bt_time

string

否

系统启动时间,单位是秒
 
imp 对象

字段

类型

是否必填

说明

id

string

是

同BidRequest里的ID 相同

tagid

string

是

广告位 ID(酷盈分配)

bidfloor

float64

否

底价(单位:元)

secure

int

否

1-需要https

user对象

字段

类型

是否必填

说明

buyeruid

string

是

透传酷盈sdk生成的buyerUid

 

竞价响应

BidResponse

字段

类型

是否必填

说明

id

string

是

请求 ID 回传

seatbid

object array

是

出价集合

bidid

string

否

bid id

cur

string

是

币种

nbr

int

否

不填充原因:

10000-参数错误

10002-无效的publisher

10031-无效的buyeruid

10008-系统错误

10012-无效的广告源id

10004-无效的tagid

40001-无预算填充

30018-底价过滤

seatbid对象

字段

类型

是否必填

说明

id

string

是

bid id

impid

string

是

对应 imp.id

price

float64

是

出价(单位:元)

nurl

string

否

竞胜上报

lurl

string

否

竞败上报

adm

string

是

素材内容

adomain

string[]

否

广告主域名

cid

string

否

创意组 ID

crid

string

否

创意 ID

exp

int

否

广告过期时间(单位:秒)

bundle

string

否

推广包名

ext

object

否

扩展信息

 

示例

  • 请求示例
{
    "id": "473179c4-c598-4522-acc2-69cb54d00140",
    "imp": [
        {
            "id": "473179c4-c598-4522-acc2-69cb54d00140",
            "tagid": "b69ae487ad9ad9",
            "bidfloor": 0.01,
            "secure": 0
        }
    ],
    "app": {
        "id": "a67eb571f012bf",
        "name": "闲鱼",
        "ver": "7.25.60",
        "bundle": "com.taobao.idlefish"
    },
    "device": {
        "ua": "Mozilla/5.0 (Linux; Android 12; HBN-AL00 Build/HUAWEIHBN-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/99.0.4844.88 Mobile Safari/537.36",
        "ip": "111.73.77.95",
        "make": "OPPO",
        "model": "PKH110",
        "os": "Android",
        "osv": "12",
        "w": 1260,
        "h": 2844,
        "connectiontype": 2
    },
    "tmax": 2000,
    "user": {
        "buyeruid": "f4rt2bzVlWK1K8K6LB5qlnmwvebTvU7DKGtGmuMtu6R7KTZGmBmDvTm6I8KCLBdavEmGJWrUfuvXlEXGLTdPKpMPmux82QrHKTZCJWrsYaz62GK1KTh6KGtG2Qvj58IGLGKCvGKPKpMqm6Hql6kj28bHl3K1K8vs23wD9ekwJpqTmEaRY8hGJWrqYyMj58DGLGKGJWrqYyMj58IGLGr6I4DtJTIaIWDDKGtGmprq28OGLGrNFbMNKGtG2Ez7lEtGLGrO3XSCIBdGJWrUmQrRlEDGLGKCIBOt0TK6IBmGJWrAluxQ2QriuQxwYeFGLGKtKGtG2EwTKTZGKGtG2EvTKTZGvnmtKGtG2ebAlQkql6FGLGKGJWrX9EaRf8zAl3K1KGKPKpv79az6luKGLGrkOkoaJT7AIBdGJWrpYbz6luKGLGKGJWram3K1K7asf8RP2ehsv3DtKWqI9EwafnPSOEw7Y8zVlWdCvTPSFhHKIBhtKhra9EC7JXbOIXhAITOtvThQJTdtLnPS5QmVKhbtYeCRk6kG36RXJUFUv4DUvGdZ3XqFBFtPKeCV96FSx6kT96oVKblRYpvV26DsvWDtKhvZY8zHl3oCIUOAIWD6LB7DJThUv3Mv26rV2eFSF6b8murVJUFUv4DUvGKPK8z49EkA5WK1IWtG5uMVlWK1KGKPK8vZmEwAlEtGLGKGJWrU5Erjm6qq28wR2WK1KGKPK8vaYQxs2uIGL8wa2etPK8wQuQlRYGK12pkP2WtGYQRUu6R7KTZGKGtGm8HaYbzVlWK1KGKPK8riu6R7KTZGKGtGmuMtuQkqKTZGKGtG5bzpu6R7KTZtJWrpY8zj9EOGLTdPK8bPu6RXu6bt9EtGLRPUIWt6JnhPIBhPIBOPITR5JWr7lulVm6kj5yRtl3K1I3tGYQRUuQktuQxUKTZGIBYQvnSXIB7tvGDwvUS4vBOGJWrG26zXu6aqY8PGLGKCIExTvTmQv3XQm6IUJBO6l8OHmTYDIWXwLEOwvBFDI6IQvTIGJWraYexq5ekj2Eb494K1KThQvUODvnhwInmALBYDITFXvnhtKGtGm8R45eqj5eRHl3K1KGKPKp5Du6xq5ehGL8wa2etPK8zUu6lQKTZtJWrZ5az6luKGLGKGJWrZ5azZ2uvj58k4KTZGKGtG58R62az6luKGLGKGJWrsYyMsuQlRYGK1KGKPKpqVmEzH9kz6luKGLGKGJWrZ26wsYRz6luKGLGKGJWrZ26wsYRz6IRz6luKGLGKGJWr6mECalkz7KTVA5ECPJWrXmurpluxj2Qvj58k4KTZGKGtGm6ztYehGLTdPKpxa2GK1KGKPKprRu6xs2EbV2GK1KGKPK8RUuQIGLTdPK8CH5WK1IWtGlyvtuQkUlurj2eRU5WK12pkP2WtG56kGu6xs2EbV2GK1KGKPKp5RmRztmE5RKTZGKGtG3yxXYhbG2eFGLGKGJWrMYyMLmEaRKTZGKGtGOuMtFQxsY8kkY8tGLGKGJWr7lulVm6kj28bHl3K1KGKPK8xVY6Hj5ezXmEtGLTdPK8aR2kzX2Qxq2WK1IWtG2EbT9eRAl3K1KGKPK8aqm6qV28kj28kQKTZGKGtG2EwXu6R7KTZGKGtG2bzXu6rU5eb45WK1IWtG2bzXu6r4luhGLTdPK8qjYazXKTZtJWrZu6rj5eoGLTdPKp58u6CsmExXY4K1IWtGYQMj5eoGLTdPKpvtu6qX5ydGLGKGJWrquQvtu6xPKTZGKGtGmExDuQv79az6luKGLGKGJWrVYazs28Cwu6b7fWK1IWtGmEw7Y8zVlbzVlWK1KT7wveKwln5TvUk7lBhQLnOGJWrHmEIGLGKGJWrV2EkVKTZGKGtGl6bVlWK1KT7wveKwln5TvUk7lBhQLnOGJWrVlelqKTZGLB7XmTR7v6IQvExRIBYDvWKPK8R7lpmGLGKGJWrt9Ew8KTZGKGtG26bVlWK1K7ODvUvhIXIUvBmUOUOtvFrWvTSUInvWOTMMOXOCIBMbvnFQITSwv8IUm6IQmBx8veIQI6OXmExqvT74mEb7mEOGJWrVYazT2RzUlePGLGKCKGtGlek69EvRuQvR5WK12pkP2WtGYbzPY4K1IWtGYbzP5bz8u67GLTdPKpkA9uxj9EOGLThUInKCvBd4jO=="
    }
}
 
返回示例
{
    "id": "473179c4-c598-4522-acc2-69cb54d00140",
    "seatbid": [
        {
            "bid": [
                {
                    "id": "9c0bcc54-cbe4-47f7-9831-317ae11551d5",
                    "impid": "473179c4-c598-4522-acc2-69cb54d00140",
                    "price": 0.9147355833000002,
                    "nurl": "https://adx-tk.statisticslinks.com/adx/nurl?req_id=473179c4-c598-4522-acc2-69cb54d00140&p=${AUCTION_PRICE}",
                    "adm": "f4rG9Exj9EOGLGKwmUMGm6IavWaTm8FXJBOQlTYHLBSUI3XUIB5qlBhCvBFClnFGJWr4lubaluvXu6R7KTZGvnYUIBYwmUOHmUFwLWXXvBK4JEbTmUKHvTRTmTFXlndtIBOtKGtG5yMjm8R7u6R7KTZGluR0fkVmxTb9EhDtEnrP9XRc26RLxev1BkxTvkR1FuxlfRFaBXItIhwF3uRIkXlcEuVr5hwc2eVl9RFtE7xM5XaFFu5r9u5VEBvEf8xyLuxmIXVPmaqE2eIUF8lqkabVB6R02FzyBBxLxbRQE8arI7wukBM9xeYUBXxrIkVcO8CLf8qPBFxP9bVHxBbl9FRU3EaPfRSUBuRTfF76BkvQ9kRH2eHmI8Ci3EVs9FaFxu5Lf8vQEEav5bVc38Rv9BdtBkxpIhCu3Bbl97RXBEVE2kVhBBMNxe5wBTrxfFRV56R93hwQEnrP9XRc2QqLfu5VmTrP9XRc26RvkevXBkx39RRHBBvvkahXEuVe9RR1xBk9kXa1B7x797zuEBx9xbRQEkxP9bVFEERIOXVcEnrP9XRc26RvkevXBkxMIhw1kBvLkeItBRvrYXRAFpM7xQqP3EVs9Bk9xXPaEER4v7Ru5UF6YFKavEhDvBkRmTk95uYa26aQvU5wOTkIJEOamBlrvurJvUFamkSaYyR0v7tHETkqkaSavXoQvB5alTFamkSaY7zE3ERQ9kVykpVlfF763ukRfula2FbVlEbNYFzVB8Hn3uvr2kr1mXmw98xm3pR9kUkclkvrv7RiB7zuFXRU3EaLIEvA38CG2FDaEnv09exykERN97baBkxxIXwn56RGIXVtETrP5kRufelT3hVtEBrk9FzV3Rr32eCqF7k9BaVElyxTIbrNmUv32kle9Q5B2uqAFbOt9FCn38HqEhwcmTvE5ExeLBbTIRr8mXq0Yb74kERN9FVamRmwf7ackTkEkExwEECtYkZCFpqRxRrBkeHDBabuBprEkTR9Enb7IebAYbl7xBRwEEXCfkvE38wOFXRU3EaLfExeLBMREhrP3EVsfhCn3pvqkUk4Env3vEvykERN97aU3EaLY6buBprmIakVB6R026xKFp5Tf8z6BnrL56vHLykl2FltE7qk5k74LuxII7wQm6XD58xu9Ql7k6CCmQ7a56bKOERIOXVtmR57l8xB3Blr2EStlhqWf7zVLylG3blQmk5v5k74FpkI2FVcER5058vwvEVGITM6BEVMfFwFxu5vkhaDB7IDf7aFOu5Lf7XCBuVMfkq1xBxI2uMQER5T9FCn3TrqkarPmThwIFRc26Rr9u5VE7qL5aS4xp5TOX763EabIaVyFuRNkab13ERQ9kVKBp5mIXrUEk5L2erukpk7OX763EarI7aH3u5v2khaBaxlvhah9eCr9u5VEk5358ruxpMG9F763ERrYXRHB8q7OX763ERrYXRH3TbG2krUERmwYerV3Blr2Fw6mRIafRRuvur7kXltBeXC2ebmFTblkUxVBhv0fexukpRRkT7tmkYC2hRc2QqNkbkU3EaLIEvA38CG2Rr8lhqv9FzcxBvLf8PUB8Vr5XwF3BkL9RRU3Eae9aS4kTxmIartmR5k9FzcxBxvxhbQBFxMYXRHFTkmIRVUmTKwfFRc2Q5IOXZ4ERqr9FzV38q93eq8EkqE98xy2ylG2nRXEkq0YRVuF8ll2RmtEnr9Y6K4LuRIFXRU3Ew32eIUFERN97kU3EwEfRRPLEVG28HVB6Vl5Fw1lQRvfu5VmR5ef8xykpRmIaKamX5k9Fzcxuvr27VPETrP58rV3BlvFQ5VEEaD9b745ellkar8lhqP5aVB3Blr97bVBhv0f8xK38q7xalAlkmwYbVn3BlvfRR1B7xxYXRABTMT2FmtER57vkS42eHmIaR13EVsf7wcBBMLOQ5Vlh5LfFRcYn5r2krPmR5e5kVeLu5GxTRwlb5D2bS42eHr98zwB8VpI7aFkTRIOXVQlb50l8xeLuvlkXVPm7vrv7an56R93hwQEnv02evELBvmI85VB6Rr9FCn38HTIXr8m6aEfRSUlelqOX763ERrYXRH3pM9xT7tmQRrv7aFmUvNkeI4BEVMIFaV56R9IBR13EVs9kRH2QxlEhrt3EDtN3KPK8vaYGK1K7vLE3KPKpM49EvRKTZtJThUvnSQIBdtIndtIndtInd4JWrT2pRjYyrVm6FGLTdALBhXvUIavBSUIUdtIndtIGtGYazt5y7GLTdAIBIXLnYCIndtIndtIndtInKPK8vaYRz4muxRKTZ6vUSAITIPK8CaY8tGLGKGJWrA5urPKTZGKGtGmpk42WK1KGKPK8raY8Cj56RAKTZGKGtG5EwV5bzVlWK1KThUvUK4ITm4KGtGmExjY6zaY8vRu6R7KTZGIBIQITK4vTKGJWrA5az89urHu6R7KTZ6vGtG9uvjYQkTm6kUY4K1I3tGlur4u6vsleFGLTdPK8k4YRzHY6YGLGKGJWrRfyMVY8FGLThDIndtIndPKprRYkzaY8tGLGrZ5yxtLGosmExDJEbt93aT2GwU5ebX9uvX9EvU2eRA9QIAm6zHJQrRYukRYQOGJWrquQKGLTdAvUFPK8b7fbzH5e5j2ERDuQxwYeFGLGXCjOZ=",
                    "cid": "17-14cbc71d8c1cc19ec347c9f8d60a9ae6",
                    "crid": "17-1047575745",
                    "exp": 1800
                }
            ]
        }
    ],
    "cur": "CNY"
}
 

竞胜结果上报

  • ${AUCTION_PRICE}:竞胜的第二名价格,单位:元/千次,例如:5.25。注:明文传输
https://adx-tk.statisticslinks.com/adx/nurl?req_id=473179c4-c598-4522-acc2-69cb54d00140&p=${AUCTION_PRICE}
最近修改: 2026-09-09Powered by