插屏广告
#
一、集成建议- 插屏广告一般是全屏的,调用时机是在页面切换时,一般有图片和视频两种,部分渠道会有定制化的插屏
- 插屏广告是三方广告平台提供的一般不支持做定制或者修改
- 插屏广告一般需要预加载,在展示机会到来时,通过调用
isAdReady
方法检查是否有可用广告,有可用广告时,调用showAdWithSceneId:
方法来展示广告
#
主要步骤- 创建
TradPlusAdInterstitial
对象 - 加载插屏广告
loadAd
- 注册
TradPlusADInterstitialDelegate
回调,获取广告加载、展示、点击、关闭等回调。 - 显示插屏广告
showAdWithSceneId:
#
注意事项- 不建议在
tpInterstitialAdOneLayerLoad : didFailWithError:
回调中执行广告加载的方法,对广告平台方来说,短时间内多次请求,不容易得到填充,同时会造成多次无效请求,也可能会导致应用卡顿;如果产品逻辑需要在这里发起请求,开发者需要控制时间间隔和次数,比如分别在10S、30S、60S后发起请求。 - 不建议在
tpInterstitialAdLoaded
回调中直接执行广告展示的方法,这可能导致用户体验不佳,SDK有广告会过期自动补充功能和自动加载功能,加载成功后会回调tpInterstitialAdLoaded
。开发者无法精准控制广告展示的时机。可配合产品逻辑在需要展示广告的地方,判断isAdReady
是否有可用广告,再展示广告。
#
二、TradPlusAdInterstitial API说明#
1. 加载、展示广告- 参数说明
参数 | 说明 |
---|---|
adUnitID | adUnitID为TradPlus后台创建的广告位ID,SDK将根据广告位ID拉取配置并请求广告 |
sceneId | sceneId为广告场景ID是可选参数,默认为nil,开发者需和- (void)showAdWithSceneId:(nullable NSString *)sceneId; 配套使用如需使用广告场景请参考: 广告场景说明 |
- 方法说明
方法 | 说明 |
---|---|
- (void)setAdUnitID:(NSString *)adUnitID; | 设置广告位ID |
- (void)loadAd; | 请求该广告位插屏广告 |
- (BOOL)isReady; | 检测该广告位是否有可用广告true 为有可用广告flase 为无可用广告 |
- (void)entryAdScenario:(nullable NSString *)sceneId; | 进入广告场景 广告场景是用来统计进入广告场景的次数和进入场景后展示广告的次数,所以请在准确的位置调用。 |
- (void)showAdWithSceneId:(nullable NSString *)sceneId; | 展示该广告位插屏广告 |
#
2. 监听回调- 参数说明
参数 | 说明 |
---|---|
adInfo | 广告位ID、三方广告平台、ecpm等信息,具体请参考回调信息说明 |
error | 返回的是TP封装的错误信息:详见: 错误码说明 |
TradPlusADInterstitialDelegate
回调接口及说明
方法 | 说明 |
---|---|
- (void)tpInterstitialAdLoaded:(NSDictionary *)adInfo; | 插屏广告加载完成 v9.6.0+ 优化回调方式,一次 loadAd 对应一次tpInterstitialAdLoaded 回调,不调用不回调。 |
- (void)tpInterstitialAdLoadFailWithError:(NSError *)error; | 插屏广告加载失败,返回的是TP封装的错误信息。详见: 错误码说明 tpInterstitialAdOneLayerLoad:didFailWithError: 返回三方源的错误信息 |
- (void)tpInterstitialAdImpression:(NSDictionary *)adInfo; | 插屏广告展示成功,三方认可的有效展示 |
- (void)tpInterstitialAdShow:(NSDictionary )adInfo didFailWithError:(NSError )error; | 插屏广告展现失败 |
- (void)tpInterstitialAdClicked:(NSDictionary *)adInfo; | 插屏广告被点击 |
- (void)tpInterstitialAdDismissed:(NSDictionary *)adInfo; | 插屏广告关闭 |
TradPlusADInterstitialDelegate
回调接口及说明(可选)
方法 | 说明 |
---|---|
- (void)tpInterstitialAdStartLoad:(NSDictionary *)adInfo; | v7.6.0+新增 开始加载流程 |
- (void)tpInterstitialAdIsLoading:(NSDictionary *)adInfo; | v8.7.0+新增 调用load之后如果收到此回调,说明广告位仍处于加载状态,请等待上一轮load结果回调后再触发新的一轮广告加载。 |
v7.6.0+已废弃 请使用 tpInterstitialAdOneLayerStartLoad: | |
- (void)tpInterstitialAdOneLayerStartLoad:(NSDictionary *)adInfo; | 当每个广告源开始加载时会都会回调一次。 v7.6.0+新增。替代原回调接口:tpInterstitialAdLoadStart:(NSDictionary *)adInfo; |
- (void)tpInterstitialAdBidStart:(NSDictionary *)adInfo; | bidding开始 |
v7.6.0+已废弃 请使用 tpInterstitialAdBidEnd:error: | |
- (void)tpInterstitialAdBidEnd:(NSDictionary )adInfo error:(NSError )error; | bidding结束 error = nil 表示成功 |
- (void)tpInterstitialAdOneLayerLoaded:(NSDictionary *)adInfo; | 当每个广告源加载成功后会都会回调一次。 |
- (void)tpInterstitialAdOneLayerLoad:(NSDictionary )adInfo didFailWithError:(NSError )error; | 当每个广告源加载失败后会都会回调一次,返回三方源的错误信息 |
- (void)tpInterstitialAdAllLoaded:(BOOL)success; | 加载流程全部结束 |
- (void)tpInterstitialAdPlayStart:(NSDictionary *)adInfo; | 视频播放开始 |
- (void)tpInterstitialAdPlayEnd:(NSDictionary *)adInfo; | 视频播放结束 |
#
三、示例代码参考:TradPlusAdInterstitialViewController