iOS集成Audience Network插屏广告load()废弃后bidPayload传参问题
iOS接入Audience Network插屏广告load方法废弃修复
问题描述
接入Audience Network展示插屏广告时,调用FBInterstitialAd实例的load()方法触发废弃警告,原有问题代码如下:
interstitial = FBInterstitialAd(placementID: "YOUR_PLACEMENT_ID") interstitial?.delegate = self interstitial?.load() // 警告触发位置
触发的警告内容:
'load()' is deprecated: This method will be removed in future version. Use -loadAdWithBidPayload
不清楚替换方法loadAdWithBidPayload:的入参bidPayload的获取方式和传参规则。
解决方案
别被方法名里的BidPayload吓到,这个参数是给竞价场景用的,根据你自己的接入模式对应传参就行:
- 非竞价(传统瀑布流)模式:也就是你之前直接调用
load()的普通接入场景,不需要额外对接任何竞价流程,直接给bidPayload传入空字符串即可,替换后的代码如下:
interstitial = FBInterstitialAd(placementID: "YOUR_PLACEMENT_ID") interstitial?.delegate = self interstitial?.loadAd(withBidPayload: "")
替换后原有的广告加载、代理回调逻辑完全不用改,废弃警告直接消失,不影响广告填充和展示。
- 实时竞价(Bidding)模式:如果你已经接入了Audience Network的实时竞价能力,
bidPayload不需要手动生成:- 走聚合平台(比如AdMob、AppLovin MAX、IronSource等)接入的,直接从聚合SDK的竞价成功回调里,拿到Audience Network对应的竞价载荷字符串原样传入即可
- 直连Meta竞价服务的,从竞价接口的响应体里提取
bid_payload字段的字符串值传入即可
- 注意:不要自己随便拼接构造
bidPayload内容,非竞价场景固定传空,竞价场景必须传接口/聚合SDK返回的原始值,否则会出现广告无填充、加载失败的问题。
内容的提问来源于stack exchange,提问作者sheko
相关产品推荐
相关产品推荐

