跳至主要內容

激励视频

大约 2 分钟

激励视频

概述

激励视频广告是一种全屏视频形式,用户完整观看后可领取奖励。这种广告常见于游戏中,如复活、获取道具或额外通关奖励等场景,以及应用内的增值服务,例如单次体验付费功能。

激励视频广告 YTRewardVideoAd 属性及方法介绍

属性含义是否必填
tolerateTimeout加载超时时间,默认5s可选
delegate代理回调必填
广告中的视频是否静音,默认不静音。可选
方法说明
- (instancetype)initWithSlotId:(NSString *)slotId;构造方法,slotId不能为空
- (void)loadAd;开始加载广告,仅加载不做展示,需要手动调用showAdFromRootViewController展示广告
- (void)showAdFromRootViewController:(UIViewController *)rootViewController;展示广告,基于传入的rootViewController present弹出
- (BOOL)isReady;对于已经加载成功,但未及时展示的广告,在展示前用此方法判断广告是否还可用

YTRewardVideoAd 的代理方法

/// 激励视频广告加载成功
- (void)yt_rewardVideoAdLoadSuccess:(YTRewardVideoAd *)rewardAd;
/// 激励视频广告的各种错误信息
- (void)yt_rewardVideoAd:(YTRewardVideoAd *)rewardAd didFailWithError:(NSError *_Nullable)error;
/// 激励视频广告即将展示
- (void)yt_rewardVideoAdWillShow:(YTRewardVideoAd *)rewardAd;
/// 激励视频广告已经展示
- (void)yt_rewardVideoAdDidShow:(YTRewardVideoAd *)rewardAd;
/// 点击了激励视频广告
- (void)yt_rewardVideoAdDidClick:(YTRewardVideoAd *)rewardAd;
/// 激励视频广告将要关闭
- (void)yt_rewardVideoAdWillClose:(YTRewardVideoAd *)rewardAd;
/// 激励视频广告已经关闭
- (void)yt_rewardVideoAdDidClose:(YTRewardVideoAd *)rewardAd;
/// 激励视频广告点击了跳过
- (void)yt_rewardVideoAdDidClickSkip:(YTRewardVideoAd *)rewardAd;
/// 激励视频广告播放完毕
- (void)yt_rewardVideoAdVideoDidPlayFinish:(YTRewardVideoAd *)rewardAd;
/// 激励视频广告达成激励条件
- (void)yt_rewardVideoAdDidRewardSuccess:(YTRewardVideoAd *)rewardAd;
/// 激励视频广告剩余时间回调
- (void)yt_rewardVideoAd:(YTRewardVideoAd *)rewardAd lifeTime:(NSUInteger)time;
/// 激励视频广告曝光回调
- (void)yt_rewardVideoAdExposed:(YTRewardVideoAd *)rewardAd;

激励视频广告的使用

// 引入头文件
#import <YouTuiAdSDK/YouTuiAdSDK.h>
//遵守协议
@interface YTDemoRewardViewController ()<YTRewardVideoAdDelegate>
// 关联对象
@property (strong, nonatomic) YTRewardVideoAd *rewardAd;
@end

@implementation YTDemoRewardViewController

- (void)loadRewardAd {
    NSString *slotId = @"slot id";
    // 创建对象
    _rewardAd = [[YTRewardVideoAd alloc] initWithSlotId:slotId];
    // 设置代理
    _rewardAd.delegate = self;
    // 设置是否静音
    _rewardAd.muted = YES;
    // _rewardAd.muted = NO;
    // 开始加载
    [_rewardAd loadAd];
}
// 展示激励视频
- (void)showRewardAd {
    [_rewardAd showAdFromRootViewController:self];
}
//MARK: - YTRewardVideoAdDelegate
/// 激励视频广告加载成功
- (void)yt_rewardVideoAdLoadSuccess:(YTRewardVideoAd *)rewardAd {
    [self showRewardAd];
}
/// 激励视频广告达成激励条件
- (void)yt_rewardVideoAdDidRewardSuccess:(YTRewardVideoAd *)rewardAd {
    // 发放奖励
}
上次编辑于: