激励视频
概述
激励视频广告是一种全屏视频形式,用户完整观看后可领取奖励。这种广告常见于游戏中,如复活、获取道具或额外通关奖励等场景,以及应用内的增值服务,例如单次体验付费功能。
激励视频广告 YTRewardVideoAd 属性及方法介绍
属性 | 含义 | 是否必填 |
---|
tolerateTimeout | 加载超时时间,默认5s | 可选 |
delegate | 代理回调 | 必填 |
| 广告中的视频是否静音,默认不静音。 | 可选 |
| 开发者系统的用户ID,用于服务端激励验证 | 可选,若使用服务端激励验证则必填 |
| 开发者自定义扩展信息,用于服务端激励验证,透传给开发者服务端验证接口 | 可选 |
方法 | 说明 |
---|
- (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;
/// 激励视频广告达成激励条件,方法将在不久后移除,后续请使用`-yt_rewardVideo:didRewardVerifyWithExtra:`方法
- (void)yt_rewardVideoAdDidRewardSuccess:(YTRewardVideoAd *)rewardAd;
/// 激励视频广告达成激励条件 extra: 服务端激励验证信息,若未使用服务端激励,该值为nil
- (void)yt_rewardVideo:(YTRewardVideoAd *)rewardAd didRewardVerifyWithExtra:(YTRewardVerifyInfo *_Nullable)extra;
/// 激励视频广告剩余时间回调
- (void)yt_rewardVideoAd:(YTRewardVideoAd *)rewardAd lifeTime:(NSUInteger)time;
/// 激励视频广告曝光回调
- (void)yt_rewardVideoAdExposed:(YTRewardVideoAd *)rewardAd;
服务端校验结果YTRewardVerifyInfo
属性介绍
属性 | 含义 |
---|
valid | 服务端校验结果 |
userId | 用户ID |
| 自定义信息 |
| transid |
| 奖励名称 |
| 奖励数量 |
| 错误码 |
| 错误信息 |
激励视频广告的使用
// 引入头文件
#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_rewardVideo:(YTRewardVideoAd *)rewardAd didRewardVerifyWithExtra:(YTRewardVerifyInfo *)extra {
// 发放奖励
}