// // BUFullscreenVideoAd.h // BUAdSDK // // Copyright © 2018年 bytedance. All rights reserved. // #import #import #import "BUAdSlot.h" #import "BUMopubAdMarkUpDelegate.h" typedef NS_ENUM(NSUInteger, BUFullScreenVideoAdType) { BUFullScreenAdTypeEndcard = 0, // video + endcard BUFullScreenAdTypeVideoPlayable = 1, // video + playable BUFullScreenAdTypePurePlayable = 2 // pure playable }; NS_ASSUME_NONNULL_BEGIN @class BUFullscreenVideoAd; @protocol BUFullscreenVideoAdDelegate @optional /** This method is called when video ad material loaded successfully. */ - (void)fullscreenVideoMaterialMetaAdDidLoad:(BUFullscreenVideoAd *)fullscreenVideoAd; /** This method is called when video ad materia failed to load. @param error : the reason of error */ - (void)fullscreenVideoAd:(BUFullscreenVideoAd *)fullscreenVideoAd didFailWithError:(NSError *_Nullable)error; /** This method is called when video cached successfully. */ - (void)fullscreenVideoAdVideoDataDidLoad:(BUFullscreenVideoAd *)fullscreenVideoAd; /** This method is called when video ad slot will be showing. */ - (void)fullscreenVideoAdWillVisible:(BUFullscreenVideoAd *)fullscreenVideoAd; /** This method is called when video ad slot has been shown. */ - (void)fullscreenVideoAdDidVisible:(BUFullscreenVideoAd *)fullscreenVideoAd; /** This method is called when video ad is clicked. */ - (void)fullscreenVideoAdDidClick:(BUFullscreenVideoAd *)fullscreenVideoAd; /** This method is called when video ad is about to close. */ - (void)fullscreenVideoAdWillClose:(BUFullscreenVideoAd *)fullscreenVideoAd; /** This method is called when video ad is closed. */ - (void)fullscreenVideoAdDidClose:(BUFullscreenVideoAd *)fullscreenVideoAd; /** This method is called when video ad play completed or an error occurred. @param error : the reason of error */ - (void)fullscreenVideoAdDidPlayFinish:(BUFullscreenVideoAd *)fullscreenVideoAd didFailWithError:(NSError *_Nullable)error; /** This method is called when the user clicked skip button. */ - (void)fullscreenVideoAdDidClickSkip:(BUFullscreenVideoAd *)fullscreenVideoAd; /** this method is used to get the type of fullscreen video ad */ - (void)fullscreenVideoAdCallback:(BUFullscreenVideoAd *)fullscreenVideoAd withType:(BUFullScreenVideoAdType)fullscreenVideoAdType; @end @interface BUFullscreenVideoAd : NSObject @property (nonatomic, weak, nullable) id delegate; @property (nonatomic, getter=isAdValid, readonly) BOOL adValid __attribute__((deprecated("Use fullscreenVideoMaterialMetaAdDidLoad: instead."))); /// media configuration parameters. @property (nonatomic, copy, readonly) NSDictionary *mediaExt; /** Initializes video ad with slot id. @param slotID : the unique identifier of video ad. @return BUFullscreenVideoAd */ - (instancetype)initWithSlotID:(NSString *)slotID; /** Initializes video ad with slot. @param slot : A object, through which you can pass in the fullscreen unique identifier, ad type, and so on. @return BUFullscreenVideoAd */ - (instancetype)initWithSlot:(BUAdSlot *)slot; /** Load video ad datas. */ - (void)loadAdData; /** Display video ad. @param rootViewController : root view controller for displaying ad. @return : whether it is successfully displayed. */ - (BOOL)showAdFromRootViewController:(UIViewController *)rootViewController; /** Display video ad. @param rootViewController : root view controller for displaying ad. @param sceneDescirbe : optional. Identifies a custom description of the presentation scenario. @return : whether it is successfully displayed. */ - (BOOL)showAdFromRootViewController:(UIViewController *)rootViewController ritSceneDescribe:(NSString *_Nullable)sceneDescirbe; @end NS_ASSUME_NONNULL_END