// // GDTRewardVideoAd.h // GDTMobSDK // // Created by royqpwang on 2018/9/1. // Copyright © 2018年 Tencent. All rights reserved. // #import #import #import "GDTSDKDefines.h" #import "GDTLoadAdParams.h" #import "GDTServerSideVerificationOptions.h" NS_ASSUME_NONNULL_BEGIN @protocol GDTRewardedVideoAdDelegate; @interface GDTRewardVideoAd : NSObject @property (nonatomic, getter=isAdValid, readonly) BOOL adValid; @property (nonatomic) BOOL videoMuted; @property (nonatomic, assign, readonly) NSInteger expiredTimestamp; @property (nonatomic, weak) id delegate; @property (nonatomic, readonly) NSString *placementId; @property (nonatomic, strong) GDTLoadAdParams *loadAdParams; @property (nonatomic, strong) GDTServerSideVerificationOptions *serverSideVerificationOptions; /** 构造方法 @param placementId - 广告位 ID @return GDTRewardVideoAd 实例 */ - (instancetype)initWithPlacementId:(NSString *)placementId; /** 构造方法 @param appId - 媒体 ID @param placementId - 广告位 ID @return GDTRewardVideoAd 实例 */ - (instancetype)initWithAppId:(NSString *)appId placementId:(NSString *)placementId GDT_DEPRECATED_MSG_ATTRIBUTE("接口即将废弃,请使用 initWithPlacementId:"); /** 加载广告方法 支持 iOS8.1 及以上系统 */ - (void)loadAd; /** 展示广告方法 @param rootViewController 用于 present 激励视频 VC @return 是否展示成功 */ - (BOOL)showAdFromRootViewController:(UIViewController *)rootViewController; /** 返回广告的eCPM,单位:分 @return 成功返回一个大于等于0的值,-1表示无权限或后台出现异常 */ - (NSInteger)eCPM; /** 返回广告的eCPM等级 @return 成功返回一个包含数字的string,@""或nil表示无权限或后台异常 */ - (NSString *)eCPMLevel; /** 返回广告平台名称 @return 当使用激励视频聚合功能时,用于区分广告平台 */ - (NSString *)adNetworkName; /** * 当广告类型为 GDTRewardAdTypeVideo时,返回视频时长,单位 ms,当广告类型为GDTRewardAdTypePage时,返回0 */ - (CGFloat)videoDuration; /** * 激励广告的类型,需在gdt_rewardVideoAdDidLoad回调后调用 */ - (GDTRewardAdType)rewardAdType; @end @protocol GDTRewardedVideoAdDelegate @optional /** 广告数据加载成功回调 @param rewardedVideoAd GDTRewardVideoAd 实例 */ - (void)gdt_rewardVideoAdDidLoad:(GDTRewardVideoAd *)rewardedVideoAd; /** 视频数据下载成功回调,已经下载过的视频会直接回调 @param rewardedVideoAd GDTRewardVideoAd 实例 */ - (void)gdt_rewardVideoAdVideoDidLoad:(GDTRewardVideoAd *)rewardedVideoAd; /** 视频播放页即将展示回调 @param rewardedVideoAd GDTRewardVideoAd 实例 */ - (void)gdt_rewardVideoAdWillVisible:(GDTRewardVideoAd *)rewardedVideoAd; /** 视频广告曝光回调 @param rewardedVideoAd GDTRewardVideoAd 实例 */ - (void)gdt_rewardVideoAdDidExposed:(GDTRewardVideoAd *)rewardedVideoAd; /** 视频播放页关闭回调 @param rewardedVideoAd GDTRewardVideoAd 实例 */ - (void)gdt_rewardVideoAdDidClose:(GDTRewardVideoAd *)rewardedVideoAd; /** 视频广告信息点击回调 @param rewardedVideoAd GDTRewardVideoAd 实例 */ - (void)gdt_rewardVideoAdDidClicked:(GDTRewardVideoAd *)rewardedVideoAd; /** 视频广告各种错误信息回调 @param rewardedVideoAd GDTRewardVideoAd 实例 @param error 具体错误信息 */ - (void)gdt_rewardVideoAd:(GDTRewardVideoAd *)rewardedVideoAd didFailWithError:(NSError *)error; /** 视频广告播放达到激励条件回调 @param rewardedVideoAd GDTRewardVideoAd 实例 */ - (void)gdt_rewardVideoAdDidRewardEffective:(GDTRewardVideoAd *)rewardedVideoAd GDT_DEPRECATED_MSG_ATTRIBUTE("接口即将废弃,请使用 gdt_rewardVideoAdDidRewardEffective:info:"); /** 视频广告播放达到激励条件回调 @param rewardedVideoAd GDTRewardVideoAd 实例 @param info 包含此次广告行为的一些信息,例如 @{@"GDT_TRANS_ID":@"930f1fc8ac59983bbdf4548ee40ac353"}, 通过@“GDT_TRANS_ID”可获取此次广告行为的交易id */ - (void)gdt_rewardVideoAdDidRewardEffective:(GDTRewardVideoAd *)rewardedVideoAd info:(NSDictionary *)info; /** 视频广告视频播放完成 @param rewardedVideoAd GDTRewardVideoAd 实例 */ - (void)gdt_rewardVideoAdDidPlayFinish:(GDTRewardVideoAd *)rewardedVideoAd; @end NS_ASSUME_NONNULL_END