Prebid中Index多playerSize的Outstream视频广告单元配置问题
问题分析与解决方案
核心问题定位
你遇到的ERROR: IX Bid Adapter: bid size is not included in ad unit sizes or player size错误,根源是配置存在以下问题:
- 重复定义playerSize导致覆盖:在Index的
params.video中,你先后两次声明playerSize,后面的[640,360]直接覆盖了前面的[640,480],适配器实际仅能识别到一个尺寸。 - playerSize格式错误:若要定义多个播放器尺寸,
playerSize必须是二维数组(例如[[640,360], [640,480]]),而非单个一维数组。 - video参数h/w写反:你配置的
h:640, w:360颠倒了高度与宽度,正确值应为h:360, w:640,这会导致适配器的尺寸校验逻辑异常。
单个adUnit能否设置多个playerSize?
完全可以,但需满足两个前提:
- 所有
playerSize声明的尺寸,必须包含在adUnit的sizes数组中(适配器会强制校验这一点); - 在bidder层级的
params.video.playerSize,必须以二维数组格式声明多组尺寸。
修正后的配置示例
{ "code": slotCode, "sizes": [[1,1],[300,250],[160,600],[300,600],[640,360],[640,480]], // 新增640x480到adUnit尺寸列表 "bids": [ { "bidder": "criteo", "params": { "networkId": networkId, "video": { "playerSize": [640, 480], "skip": 0, "playbackmethod": 1, "placement": 1, "mimes": [ "video/mp4" ], "maxduration": 30, "api": [ 1, 2 ], "protocols": [ 2, 3 ] } }, "userId": {...}, "userIdAsEids": [...], "crumbs": {...} }, { "bidder": "index", "params": { "siteId": siteId, "size": [640, 360], // 主尺寸需与playerSize中某一尺寸匹配 "video": { "playerSize": [[640, 360], [640, 480]], // 二维数组声明多尺寸 "w": 640, // 修正宽度参数 "h": 360, // 修正高度参数 "protocols": [2,3,5,6], "minduration": 5, "maxduration": 30, "mimes": ["video/mp4", "application/javascript"] } }, "userId": {... }, "userIdAsEids": [...], "crumbs": {...} } ], "mediaTypes": { "video": { "context": "outstream" } }, "pubstack": {...} }
额外注意事项
- 务必保证adUnit的
sizes数组包含所有playerSize中声明的尺寸,否则会触发尺寸不匹配错误; - Index适配器要求,当在bidder层级配置
video对象时,必须包含protocols/mimes/duration等必填参数,你当前配置已覆盖这部分要求。
内容的提问来源于stack exchange,提问作者Nico
相关产品推荐
相关产品推荐

