Skip to main content

Draw信息流

Draw信息流#

  • draw信息流广告,一般是广告平台会返回多个原生广告,类似抖音中的广告一样,可以在视频流里插入广告

  • v6.9.0新增

  • 支持的广告网络及类型

广告网络支持类型返回数组
快手模版UIView数组
穿山甲模版UIView数组
腾讯自渲染三方广告对象数组

集成说明#

1. 初始化#

#import <TradPlusAds/TradPlusAdNative.h>
//初始化广告位
self.nativeAd = [[TradPlusAdNative alloc] init];
[self.nativeAd setAdUnitID:@"您的广告位ID"];
//设置回调
self.nativeAd.delegate = self;

2. 加载广告#

[self.nativeAd loadAd];

3. 显示广告#

  • 首先通过API getReadyNativeObject 获取一个已缓存广告对象

⚠️注意

  • 从此API获取到缓存时,TPSDK同时会移除对此缓存的引用
  • 获取后,需要开发者自行保留好此对象的引用
  • 调用API返回nil时,则说明已经没有任何缓存了。
  • 一般情况下不要连续调用此API。
- (TradPlusAdNativeObject *)getReadyNativeObject;

参考:TradPlusAdNativeDrawViewController

⚠️注意: 当使用穿山甲Draw信息流时getDrawList需要在展示时调用,提前调用获取会导致页面内容渲染不全

  • 自渲染类型返回的是三方广告对象数组,通过TradPlusAdNativeObjectcustomObject获取,需要自行拼接展示。
    参考:NativeGDTDrawListViewController

4. 监听回调#

  • 回调信息说明

  • tpNativeAdLoadFailWithError:返回的是TP封装的错误信息:详见: 错误码说明

  • tpNativeAdOneLayerLoad:didFailWithError: 返回三方源的错误信息

  • 以下回调接口已废弃v7.6.0+

- (void)tpNativeAdBidEnd:(NSDictionary *)adInfo success:(BOOL)success DEPRECATED_MSG_ATTRIBUTE("Please use tpNativeAdBidEnd:error:");
- (void)tpNativeAdLoadStart:(NSDictionary *)adInfo DEPRECATED_MSG_ATTRIBUTE("Please use tpNativeAdOneLayerStartLoad:");

回调接口及说明

///AD加载完成 首个广告源加载成功时回调 一次加载流程只会回调一次
- (void)tpNativeAdLoaded:(NSDictionary *)adInfo;
///AD加载失败
///tpNativeAdOneLayerLoad:didFailWithError:返回三方源的错误信息
- (void)tpNativeAdLoadFailWithError:(NSError *)error;
///AD展现
- (void)tpNativeAdImpression:(NSDictionary *)adInfo;
///AD展现失败
- (void)tpNativeAdShow:(NSDictionary *)adInfo didFailWithError:(NSError *)error;
///AD被点击
- (void)tpNativeAdClicked:(NSDictionary *)adInfo;
@optional
///为三方提供rootviewController 用于点击广告后的操作
- (UIViewController *)viewControllerForPresentingModalView;
///v7.6.0+新增 开始加载流程
- (void)tpNativeAdStartLoad:(NSDictionary *)adInfo;
///当每个广告源开始加载时会都会回调一次。
///v7.6.0+新增。替代原回调接口:tpNativeAdLoadStart:(NSDictionary *)adInfo;
- (void)tpNativeAdOneLayerStartLoad:(NSDictionary *)adInfo;
///v8.7.0+新增
///调用load之后如果收到此回调,说明广告位仍处于加载状态,无法触发新的一轮广告加载。
- (void)tpNativeAdIsLoading:(NSDictionary *)adInfo;
///AD被关闭
- (void)tpNativeAdClose:(NSDictionary *)adInfo;
///bidding开始
- (void)tpNativeAdBidStart:(NSDictionary *)adInfo;
///bidding结束 error = nil 表示成功
- (void)tpNativeAdBidEnd:(NSDictionary *)adInfo error:(NSError *)error;
///当每个广告源加载成功后会都会回调一次。
- (void)tpNativeAdOneLayerLoaded:(NSDictionary *)adInfo;
///当每个广告源加载失败后会都会回调一次,返回三方源的错误信息
- (void)tpNativeAdOneLayerLoad:(NSDictionary *)adInfo didFailWithError:(NSError *)error;
///加载流程全部结束
- (void)tpNativeAdAllLoaded:(BOOL)success;
///视频贴片类型播放完成回调 v6.8.0+
- (void)tpNativePasterDidPlayFinished:(NSDictionary *)adInfo;

5. 接入参考#

参考:NativeDraw