// // BURewardedVideoAd.h // BUAdSDK // // Copyright © 2018年 bytedance. All rights reserved. // #import #import "BUAdSDKDefines.h" #import "BUMopubAdMarkUpDelegate.h" NS_ASSUME_NONNULL_BEGIN /// define the type of rewarded video ad typedef NS_ENUM(NSUInteger, BURewardedVideoAdType) { BURewardedVideoAdTypeEndcard = 0, // video + endcard BURewardedVideoAdTypeVideoPlayable = 1, // video + playable BURewardedVideoAdTypePurePlayable = 2 // pure playable }; @protocol BURewardedVideoAdDelegate; @class BURewardedVideoModel; @interface BURewardedVideoAd : NSObject @property (nonatomic, strong) BURewardedVideoModel *rewardedVideoModel; @property (nonatomic, weak, nullable) id delegate; /** Whether material is effective. Setted to YES when data is not empty and has not been displayed. Repeated display is not billed. */ @property (nonatomic, getter=isAdValid, readonly) BOOL adValid __attribute__((deprecated("Use rewardedVideoAdDidLoad: instead."))); /// media configuration parameters. @property (nonatomic, copy, readonly) NSDictionary *mediaExt; - (instancetype)initWithSlotID:(NSString *)slotID rewardedVideoModel:(BURewardedVideoModel *)model; /** Initializes Rewarded video ad with ad slot and frame. @param slot A object, through which you can pass in the reward unique identifier, ad type, and so on. @param model Rewarded video model. @return BURewardedVideoAd */ - (instancetype)initWithSlot:(BUAdSlot *)slot rewardedVideoModel:(BURewardedVideoModel *)model; - (void)loadAdData; /** Display video ad. @param rootViewController : root view controller for displaying ad. @return : whether it is successfully displayed. */ - (BOOL)showAdFromRootViewController:(UIViewController *)rootViewController; /** If ritSceneType is custom, you need to pass in the values for sceneDescirbe. @param ritSceneType : optional. Identifies a custom description of the presentation scenario. @param sceneDescirbe : optional. Identify the scene of presentation. */ - (BOOL)showAdFromRootViewController:(UIViewController *)rootViewController ritScene:(BURitSceneType)ritSceneType ritSceneDescribe:(NSString *_Nullable)sceneDescirbe; @end @protocol BURewardedVideoAdDelegate @optional /** This method is called when video ad material loaded successfully. */ - (void)rewardedVideoAdDidLoad:(BURewardedVideoAd *)rewardedVideoAd; /** This method is called when video ad materia failed to load. @param error : the reason of error */ - (void)rewardedVideoAd:(BURewardedVideoAd *)rewardedVideoAd didFailWithError:(NSError *_Nullable)error; /** This method is called when cached successfully. */ - (void)rewardedVideoAdVideoDidLoad:(BURewardedVideoAd *)rewardedVideoAd; /** This method is called when video ad slot will be showing. */ - (void)rewardedVideoAdWillVisible:(BURewardedVideoAd *)rewardedVideoAd; /** This method is called when video ad slot has been shown. */ - (void)rewardedVideoAdDidVisible:(BURewardedVideoAd *)rewardedVideoAd; /** This method is called when video ad is about to close. */ - (void)rewardedVideoAdWillClose:(BURewardedVideoAd *)rewardedVideoAd; /** This method is called when video ad is closed. */ - (void)rewardedVideoAdDidClose:(BURewardedVideoAd *)rewardedVideoAd; /** This method is called when video ad is clicked. */ - (void)rewardedVideoAdDidClick:(BURewardedVideoAd *)rewardedVideoAd; /** This method is called when video ad play completed or an error occurred. @param error : the reason of error */ - (void)rewardedVideoAdDidPlayFinish:(BURewardedVideoAd *)rewardedVideoAd didFailWithError:(NSError *_Nullable)error; /** Server verification which is requested asynchronously is succeeded. @param verify :return YES when return value is 2000. */ - (void)rewardedVideoAdServerRewardDidSucceed:(BURewardedVideoAd *)rewardedVideoAd verify:(BOOL)verify; /** Server verification which is requested asynchronously is failed. Return value is not 2000. */ - (void)rewardedVideoAdServerRewardDidFail:(BURewardedVideoAd *)rewardedVideoAd __attribute__((deprecated("Use rewardedVideoAdServerRewardDidFail: error: instead."))); /** Server verification which is requested asynchronously is failed. @param rewardedVideoAd rewarded Video ad @param error request error info */ - (void)rewardedVideoAdServerRewardDidFail:(BURewardedVideoAd *)rewardedVideoAd error:(NSError *)error; /** This method is called when the user clicked skip button. */ - (void)rewardedVideoAdDidClickSkip:(BURewardedVideoAd *)rewardedVideoAd; /** this method is used to get type of rewarded video Ad */ - (void)rewardedVideoAdCallback:(BURewardedVideoAd *)rewardedVideoAd withType:(BURewardedVideoAdType)rewardedVideoAdType; @end NS_ASSUME_NONNULL_END