Appearance
激励视频广告
WARNING
请在广告初始化成功后调用, 另外所有API请在UI线程中调用。
创建广告
使用激励视频广告时,先创建激励视频广告对象:VX_RewardAd
:
objc
VX_RewardAd *rewardAd = [[VX_RewardAd alloc] init];
设置广告回调
激励视频广告在加载、播放、 关闭、点击等时机,都会通过监听VX_RewardAdDelegate
,通知给游戏层:
objc
@interface AdViewController()<VX_RewardAdDelegate>
//...
@end
@implementation AdViewController
- (void)vxAdRewardDidClicked {
//广告被点击
}
- (void)vxAdRewardDidClosed {
//广告被关闭
}
- (void)vxAdRewardDidEarnRewardWithName:(nonnull NSString *)name withCount:(nonnull NSDecimalNumber *)count {
//广告符合发放奖励的条件, 可以在这里给玩家发放奖励
}
- (void)vxAdRewardDidFailed:(VXAdErrorCode)code withMessage:(nonnull NSString *)message {
//广告播放失败
}
- (void)vxAdRewardDidLoadFailed:(VXAdErrorCode)code withMessage:(nonnull NSString *)message {
//广告加载失败
}
- (void)vxAdRewardDidLoaded {
//广告加载成功,可以在这里播放广告
[self.rewardAd showAdWithController:self];
}
- (void)vxAdRewardDidShow {
//广告曝光
}
- (void)vxAdRewardDidSkipped {
//广告被跳过
}
@end
// 设置回调
[rewardAd setDelegate:self];
加载广告
设置好监听器类后, 在需要的时机可以加载激励视频广告(为了避免播放时卡顿,建议可以提前加载激励视频广告):
objc
[rewardAd loadAdWithUnitId:adId controller:self rewardName:@"金币" rewardNum:@(0)];
参数说明:
参数名称 | 参数类型 | 参数说明 |
---|---|---|
adId | String | 聚合SDK后台创建的聚合广告位ID,如果还没创建,可以参考文档:获取广告参数 |
controller | UIViewController | 当前游戏调用广告的宿主Controller |
rewardName | String | 玩家观看激励视频广告后,获得的奖励名称 |
rewardNum | NSNumber | 玩家观看激励视频广告后,获得的奖励数量 |
广告加载成功, 会触发上面监听器中的vxAdRewardDidLoaded
事件; 加载失败, 会触发上面监听器中的vxAdRewardDidLoadFailed
事件。
播放广告
广告加载成功后, 就可以在玩家点击广告播放按钮时,进行播放了:
objc
if ([rewardAd isAdReady]) {
[rewardAd showAdWithController:self];
}
建议调用播放之前, 先通过isAdReady
函数判断当前广告是否就绪, 如果就绪再播放。