全屏视频信息流
全屏视频信息流
接入全屏视频信息流(ZJFeedFullVideoView)
- 类型说明:本SDK为接入方提供竖版视频信息流广告,该广告适合在竖版全屏视频流中使用,接入方可以控制视频暂停或继续播放,默认视频播放不可干预,视频广告相关配置可以在平台设置。 支持的广告尺寸: 全屏竖版。
ZJFeedFullVideoProvider,ZJFeedFullVideoView说明
@interface ZJFeedFullVideoProvider : ZJAd
//请求广告尺寸
@property(nonatomic,assign) CGSize adSize;
@property(nonatomic,weak) id<ZJFeedFullVideoProviderDelegate> delegate;
- (instancetype)initWithPlacementId:(NSString *)placementId;
//count 返回广告最大数量
- (void)loadAd:(NSInteger)count;
@end
ZJFeedFullVideoProviderDelegate广告回调说明
@protocol ZJFeedFullVideoProviderDelegate <NSObject>
/**
* 广告加载成功
*/
- (void)zj_feedFullVideoProviderLoadSuccess:(ZJFeedFullVideoProvider *)provider views:(NSArray<__kindof ZJFeedFullVideoView *> *)views;
/**
* 广告加载失败
*/
- (void)zj_feedFullVideoProviderLoadFail:(ZJFeedFullVideoProvider *)provider error:(NSError *_Nullable)error;
/**
* 广告渲染成功, ZJFeedFullVideoView.size.height has been updated
*/
- (void)zj_feedFullVideoAdViewRenderSuccess:(ZJFeedFullVideoProvider *)provider view:(ZJFeedFullVideoView*) adView;
/**
* 广告渲染失败
*/
- (void)zj_feedFullVideoAdViewRenderFail:(ZJFeedFullVideoProvider *)provider view:(ZJFeedFullVideoView*) adView error:(NSError *_Nullable)error;
/**
* 广告曝光回调
*/
- (void)zj_feedFullVideoAdViewWillShow:(ZJFeedFullVideoProvider *)provider view:(ZJFeedFullVideoView*) adView;
/**
视频广告播放状态更改回调
*/
- (void)zj_feedFullVideoAdViewStateDidChanged:(ZJFeedFullVideoProvider *)provider view:(ZJFeedFullVideoView*) adView state:(ZJMediaPlayerStatus)playerState;
/**
视频广告播放完毕
*/
- (void)zj_feedFullVideoAdViewPlayerDidPlayFinish:(ZJFeedFullVideoProvider *)provider view:(ZJFeedFullVideoView*) adView;
/**
* 广告点击回调
*/
- (void)zj_feedFullVideoAdViewDidClick:(ZJFeedFullVideoProvider *)provider view:(ZJFeedFullVideoView*) adView;
/**
* 广告详情页面即将展示回调
*/
- (void)zj_feedFullVideoAdViewDetailViewWillPresentScreen:(ZJFeedFullVideoProvider *)provider view:(ZJFeedFullVideoView*) adView;
/**
*广告详情页关闭回调
*/
- (void)zj_feedFullVideoAdViewDetailViewClosed:(ZJFeedFullVideoProvider *)provider view:(ZJFeedFullVideoView*) adView;
@end
bidding比价竞胜/竞败方法
- 竞胜
/**
* @brief 设置竞价价格,单位(分)
* @param ecpm 竞价价格
* @param highestLossEcpm 最大竞价失败方出价
*/
- (void)setBidEcpm:(NSInteger)ecpm
highestLossEcpm:(NSInteger)highestLossEcpm
- 竞败
/**
* @brief 广告曝光失败后上报失败原因
* @param failureCode 曝光失败原因类型
* @param reportParam 曝光失败原因描述
* reportParam.winEcpm 胜出者的ecpm报价(单位:分)
* reportParam.adnType 胜出方,见ZJAdExposureReportParam.h 中ZJAdExposureAdnType定义
* reportParam.adnName 胜出平台名,见ZJAdExposureReportParam.h 中ZJAdADNType平台定义
*/
- (void)reportAdExposureFailed:(ZJAdExposureFailureCode)failureCode reportParam:(ZJAdExposureReportParam *)reportParam;
加载全屏视频信息流
- Objective-C
- (void)loadData {
if(!self.adProvider){
self.adProvider = [[ZJFeedFullVideoProvider alloc] initWithPlacementId:@"KS90010003"];
self.adProvider.delegate = self;
self.adProvider.adSize = self.view.bounds.size;
}
[self.adProvider loadAd:5];
}
/**
* 广告加载成功
*/
- (void)zj_feedFullVideoProviderLoadSuccess:(ZJFeedFullVideoProvider *)provider views:(NSArray<__kindof ZJFeedFullVideoView *> *)views{
if (views.count) {
NSMutableArray *dataSources = [NSMutableArray arrayWithCapacity:0];
[views enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
ZJFeedFullVideoView *videoView = (ZJFeedFullVideoView *)obj;
videoView.rootViewController = self;
// important: 此处会进行WKWebview的渲染,建议一次最多预加载三个广告,如果超过3个会很大概率导致WKWebview渲染失败。
[videoView render];
[dataSources addObject:videoView];
}];
self.dataSource = [dataSources copy];
}
[self.tableView reloadData];
}
- Swift
self.adProvider = ZJFeedFullVideoProvider.init(placementId: self.placementId! as String, delegate: self);
self.adProvider.adSize = self.view.bounds.size;
self.adProvider.loadAd(8);
/**
* 广告加载成功
*/
func zj_feedFullVideoProviderLoadSuccess(_ provider: ZJFeedFullVideoProvider, views: [ZJFeedFullVideoView]) {
var dataArray:Array<Any> = []
for dataObject in views {
dataArray.append(dataObject)
dataArray.append("demo")
}
self.dataSource = dataArray
self.tableView!.reloadData()
}
TIP
加载广告具体示例详见Demo中的ZJFeedFullVideoShowViewController。