Rewarded Video Ad

Add Files for Rewarded Video Ad Integration

Add CERewardedVideoAD.h and CERewardedVideoAD.m to your app's build target.

Request Rewarded Video Ad

  • Import CERewardedVideoAD.h and adopt CERewardedVideoADRequestDelegate protocol in view controller's extension.

// MyViewController.m

#import "CERewardedVideoAD.h"

@interface MyViewController() <CERewardedVideoADRequestDelegate>
  • Load ad in viewDidLoad

@interface MyViewController() <CERewardedVideoADRequestDelegate>
@property (nonatomic, strong) CERewardedVideoAD *rewardedVideoAD;
@end

- (void) viewDidLoad
{
    CERequestInfo *info = [CERequestInfo new];
    info.placement = @"PUT_YOUR_PLACEMENT_STRING_HERE·";
    info.timeout = 5;
    self.rewardedVideoAD = [CERewardedVideoAD new];
    self.rewardedVideoAD.delegate = self;
    [self.rewardedVideoAD loadAdAsyncWithInfo:info reqDelegate:self];
}
  • Implement rewardedVideoADDidLoaded: to handle ad loaded event.

#pragma mark - CERewardedVideoADRequestDelegate
- (void)rewardedVideoADDidLoaded:(CERewardedVideoAD*)rewardedVideoAD
{
    UIViewController *topController = [UIApplication sharedApplication].keyWindow.rootViewController;
    while (topController.presentedViewController) {
        topController = topController.presentedViewController;
    }

    [self.rewardedVideoAD showFromViewController:topController animated:YES];
}

Add CERewardedVideoADEventDelegate to get the ad event callback.

If you want to trace the click, impression, progress event, please implement CERewardedVideoADEventDelegate to handle it.

#pragma mark - CERewardedVideoADEventDelegate
/*!
 *  @brief protocol of CERewardedVideoADEventDelegate that can receive AD events
 */
@protocol CERewardedVideoADEventDelegate <NSObject>
@optional
/*!
 *  @brief callback while this rewardedVideo ad is clicked by user
 *
 *  @param rewardedVideoAD CERewardedVideoAD instance that own this rewardedVideo ad component
 */
- (void) rewardedVideoADDidClick:(nonnull CERewardedVideoAD *)rewardedVideoAD;

/*!
 *  @brief callback while this rewardedVideo ad is video format and muted.
 *
 *  @param rewardedVideoAD CERewardedVideoAD instance that own this rewardedVideo ad component
 */
- (void) rewardedVideoADDidMute:(nonnull CERewardedVideoAD *)rewardedVideoAD;

/*!
 *  @brief callback while this rewardedVideo ad is video format and unmuted.
 *
 *  @param rewardedVideoAD CERewardedVideoAD instance that own this rewardedVideo ad component
 */
- (void) rewardedVideoADDidUnmute:(nonnull CERewardedVideoAD *)rewardedVideoAD;

/*!
 *  @brief callback while rewardedVideo ad impression
 *
 *  @param rewardedVideoAD CERewardedVideoAD instance that own this rewardedVideo ad component
 */
- (void) rewardedVideoADImpression:(nonnull CERewardedVideoAD *)rewardedVideoAD;

/*!
 *  @brief callback while this rewardedVideo ad is video format and start playback.
 *
 *  @param rewardedVideoAD CERewardedVideoAD instance that own this rewardedVideo ad component
 */
- (void) rewardedVideoADDidVideoStart:(nonnull CERewardedVideoAD *)rewardedVideoAD;

/*!
 *  @brief callback while this rewardedVideo ad reward user.
 *
 *  @param rewardedVideoAD CERewardedVideoAD instance that own this rewardedVideo ad component
 */
- (void) rewardedVideoADDidRewardUser:(nonnull CERewardedVideoAD *)rewardedVideoAD;

/*!
 *  @brief callback while this rewardedVideo ad is video format and playback to end.
 *
 *  @param rewardedVideoAD CERewardedVideoAD instance that own this rewardedVideo ad component
 */
- (void) rewardedVideoADDidVideoEnd:(nonnull CERewardedVideoAD *)rewardedVideoAD;

/*!
 *  @brief callback while this rewardedVideo ad is video format and progress state.
 *
 *  @param rewardedVideoAD CERewardedVideoAD instance that own this rewardedVideo ad component
 *  @param totalDuration this video total duration time (ms)
 *  @param currentPosition this video current play back position time (ms)
 */
- (void) rewardedVideoADDidVideoProgress:(nonnull CERewardedVideoAD *)rewardedVideoAD
                                duration:(int)totalDuration
                                position:(int)currentPosition;

/*!
 *  @brief callback function while rewardedVideo AD did display from screen
 *
 *  @param rewardedVideoAD CERewardedVideoAD instance that own this rewardedVideo ad component
 */
- (void) rewardedVideoADDidDisplayed:(nonnull CERewardedVideoAD *)rewardedVideoAD;

/*!
 *  @brief callback function while rewardedVideo AD did dismiss from screen
 *
 *  @param rewardedVideoAD CERewardedVideoAD instance that own this rewardedVideo ad component
 */
- (void) rewardedVideoADDidDismiss:(nonnull CERewardedVideoAD *)rewardedVideoAD;

/*!
 *  @brief callback function while rewardedVideo AD will display to screen
 *
 *  @param rewardedVideoAD CERewardedVideoAD instance that own this rewardedVideo ad component
 */
- (void) rewardedVideoADWillDisplay:(nonnull CERewardedVideoAD *)rewardedVideoAD;

/*!
 *  @brief callback function while rewardedVideo AD will dismiss from screen
 *
 *  @param rewardedVideoAD CERewardedVideoAD instance that own this rewardedVideo ad component
 */
- (void) rewardedVideoADWillDismiss:(nonnull CERewardedVideoAD *)rewardedVideoAD;
@end

Please refer to CERewardedVideoAD for more information in detail.

Last updated