123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168 |
- //
- // BUNativeExpressRewardedVideoAd.h
- // BUAdSDK
- //
- // Copyright © 2019 bytedance. All rights reserved.
- //
- #import <UIKit/UIKit.h>
- #import "BUAdSDKDefines.h"
- #import "BUMaterialMeta.h"
- #import "BUMopubAdMarkUpDelegate.h"
- @class BUNativeExpressRewardedVideoAd;
- @class BURewardedVideoModel;
- NS_ASSUME_NONNULL_BEGIN
- /// define the type of native express rewarded video Ad
- typedef NS_ENUM(NSUInteger, BUNativeExpressRewardedVideoAdType) {
- BUNativeExpressRewardedVideoAdTypeEndcard = 0, // video + endcard
- BUNativeExpressRewardedVideoAdTypeVideoPlayable = 1, // video + playable
- BUNativeExpressRewardedVideoAdTypePurePlayable = 2, // pure playable
- };
- @protocol BUNativeExpressRewardedVideoAdDelegate <NSObject>
- @optional
- /**
- This method is called when video ad material loaded successfully.
- */
- - (void)nativeExpressRewardedVideoAdDidLoad:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;
- /**
- This method is called when video ad materia failed to load.
- @param error : the reason of error
- */
- - (void)nativeExpressRewardedVideoAd:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd didFailWithError:(NSError *_Nullable)error;
- /**
- this methods is to tell delegate the type of native express rewarded video Ad
- */
- - (void)nativeExpressRewardedVideoAdCallback:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd withType:(BUNativeExpressRewardedVideoAdType)nativeExpressVideoType;
- /**
- This method is called when cached successfully.
- For a better user experience, it is recommended to display video ads at this time.
- And you can call [BUNativeExpressRewardedVideoAd showAdFromRootViewController:].
- */
- - (void)nativeExpressRewardedVideoAdDidDownLoadVideo:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;
- /**
- This method is called when rendering a nativeExpressAdView successed.
- It will happen when ad is show.
- */
- - (void)nativeExpressRewardedVideoAdViewRenderSuccess:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;
- /**
- This method is called when a nativeExpressAdView failed to render.
- @param error : the reason of error
- */
- - (void)nativeExpressRewardedVideoAdViewRenderFail:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd error:(NSError *_Nullable)error;
- /**
- This method is called when video ad slot will be showing.
- */
- - (void)nativeExpressRewardedVideoAdWillVisible:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;
- /**
- This method is called when video ad slot has been shown.
- */
- - (void)nativeExpressRewardedVideoAdDidVisible:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;
- /**
- This method is called when video ad is about to close.
- */
- - (void)nativeExpressRewardedVideoAdWillClose:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;
- /**
- This method is called when video ad is closed.
- */
- - (void)nativeExpressRewardedVideoAdDidClose:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;
- /**
- This method is called when video ad is clicked.
- */
- - (void)nativeExpressRewardedVideoAdDidClick:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;
- /**
- This method is called when the user clicked skip button.
- */
- - (void)nativeExpressRewardedVideoAdDidClickSkip:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd;
- /**
- This method is called when video ad play completed or an error occurred.
- @param error : the reason of error
- */
- - (void)nativeExpressRewardedVideoAdDidPlayFinish:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd didFailWithError:(NSError *_Nullable)error;
- /**
- Server verification which is requested asynchronously is succeeded. now include two v erify methods:
- 1. C2C need server verify 2. S2S don't need server verify
- @param verify :return YES when return value is 2000.
- */
- - (void)nativeExpressRewardedVideoAdServerRewardDidSucceed:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd verify:(BOOL)verify;
- /**
- Server verification which is requested asynchronously is failed.
- Return value is not 2000.
- */
- - (void)nativeExpressRewardedVideoAdServerRewardDidFail:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd __attribute__((deprecated("Use nativeExpressRewardedVideoAdServerRewardDidFail: error: instead.")));
- /**
- Server verification which is requested asynchronously is failed.
- @param rewardedVideoAd express rewardVideo Ad
- @param error request error info
- */
- - (void)nativeExpressRewardedVideoAdServerRewardDidFail:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd error:(NSError *_Nullable)error;
- /**
- 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)nativeExpressRewardedVideoAdDidCloseOtherController:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd interactionType:(BUInteractionType)interactionType;
- @end
- @interface BUNativeExpressRewardedVideoAd : NSObject <BUMopubAdMarkUpDelegate>
- @property (nonatomic, strong) BURewardedVideoModel *rewardedVideoModel;
- @property (nonatomic, weak, nullable) id<BUNativeExpressRewardedVideoAdDelegate> delegate;
- /// media configuration parameters.
- @property (nonatomic, copy, readonly) NSDictionary *mediaExt;
- /**
- 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 nativeExpressRewardedVideoAdDidLoad: instead.")));
- - (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 BUNativeExpressRewardedVideoAd
- */
- - (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
- NS_ASSUME_NONNULL_END
|