激励视频
大约 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 {
// 发放奖励
}