123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- //
- // BUNativeExpressFullscreenVideoAd.h
- // BUAdSDK
- //
- // Copyright © 2019 bytedance. All rights reserved.
- //
- #import <UIKit/UIKit.h>
- #import "BUMaterialMeta.h"
- #import "BUMopubAdMarkUpDelegate.h"
- @class BUNativeExpressFullscreenVideoAd;
- //define the type of native express video ad
- typedef NS_ENUM(NSUInteger, BUNativeExpressFullScreenAdType) {
- BUNativeExpressFullScreenAdTypeEndcard = 0, // video + endcard
- BUNativeExpressFullScreenAdTypeVideoPlayable = 1, // video + playable
- BUNativeExpressFullScreenAdTypePurePlayable = 2 // pure playable
- };
- NS_ASSUME_NONNULL_BEGIN
- @protocol BUNativeExpressFullscreenVideoAdDelegate <NSObject>
- @optional
- /**
- This method is called when video ad material loaded successfully.
- */
- - (void)nativeExpressFullscreenVideoAdDidLoad:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;
- /**
- This method is called when video ad materia failed to load.
- @param error : the reason of error
- */
- - (void)nativeExpressFullscreenVideoAd:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd didFailWithError:(NSError *_Nullable)error;
- /**
- This method is called when rendering a nativeExpressAdView successed.
- It will happen when ad is show.
- */
- - (void)nativeExpressFullscreenVideoAdViewRenderSuccess:(BUNativeExpressFullscreenVideoAd *)rewardedVideoAd;
- /**
- This method is called when a nativeExpressAdView failed to render.
- @param error : the reason of error
- */
- - (void)nativeExpressFullscreenVideoAdViewRenderFail:(BUNativeExpressFullscreenVideoAd *)rewardedVideoAd error:(NSError *_Nullable)error;
- /**
- This method is called when video cached successfully.
- For a better user experience, it is recommended to display video ads at this time.
- And you can call [BUNativeExpressFullscreenVideoAd showAdFromRootViewController:].
- */
- - (void)nativeExpressFullscreenVideoAdDidDownLoadVideo:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;
- /**
- This method is called when video ad slot will be showing.
- */
- - (void)nativeExpressFullscreenVideoAdWillVisible:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;
- /**
- This method is called when video ad slot has been shown.
- */
- - (void)nativeExpressFullscreenVideoAdDidVisible:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;
- /**
- This method is called when video ad is clicked.
- */
- - (void)nativeExpressFullscreenVideoAdDidClick:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;
- /**
- This method is called when the user clicked skip button.
- */
- - (void)nativeExpressFullscreenVideoAdDidClickSkip:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;
- /**
- This method is called when video ad is about to close.
- */
- - (void)nativeExpressFullscreenVideoAdWillClose:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;
- /**
- This method is called when video ad is closed.
- */
- - (void)nativeExpressFullscreenVideoAdDidClose:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd;
- /**
- This method is called when video ad play completed or an error occurred.
- @param error : the reason of error
- */
- - (void)nativeExpressFullscreenVideoAdDidPlayFinish:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd didFailWithError:(NSError *_Nullable)error;
- /**
- This method is used to get the type of nativeExpressFullScreenVideo ad
- */
- - (void)nativeExpressFullscreenVideoAdCallback:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd withType:(BUNativeExpressFullScreenAdType) nativeExpressVideoAdType;
- /**
- This method is called when another controller has been closed.
- @param interactionType : open appstore in app or open the webpage or view video ad details page.
- */
- - (void)nativeExpressFullscreenVideoAdDidCloseOtherController:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd interactionType:(BUInteractionType)interactionType;
- @end
- @interface BUNativeExpressFullscreenVideoAd : NSObject <BUMopubAdMarkUpDelegate>
- @property (nonatomic, weak, nullable) id<BUNativeExpressFullscreenVideoAdDelegate> delegate;
- @property (nonatomic, getter=isAdValid, readonly) BOOL adValid __attribute__((deprecated("Use nativeExpressFullscreenVideoAdDidLoad: 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 BUNativeExpressFullscreenVideoAd
- */
- - (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
|