激励视频广告
适用于 IFLYADLib 6.5.1。接入概览。完整方法签名以所安装版本的公开头为准。
先阅读配置与隐私。下面的代码为业务控制器片段:属性放在类声明内,方法放在 @implementation 内;requestConfig 是该指南中的宿主辅助方法。
奖励必须以 rewardVideoAd:didRewardEffective: 为准,不要用播放完成或关闭回调发奖:
#import <IFLYAdCore/IFLYAdCore.h>
#import <IFLYAdReward/IFLYRewardVideoAd.h>
@interface RewardViewController () <IFLYRewardVideoAdDelegate>
@property (nonatomic, strong) IFLYRewardVideoAd *rewardAd;
@end
- (void)loadRewardVideo {
IFLYRewardVideoAd *ad = [[IFLYRewardVideoAd alloc] initWithAdUnitId:@"YOUR_REWARD_AD_UNIT_ID"];
ad.delegate = self;
ad.currentViewController = self;
self.rewardAd = ad;
[ad loadAdWithRequestConfig:[self requestConfig]];
}
- (void)rewardVideoAdDidReady:(IFLYRewardVideoAd *)ad {
if (ad != self.rewardAd || !ad.isAdValid) return;
IFLYRewardVideoAdConfig *config = [[IFLYRewardVideoAdConfig alloc] init];
config.muteOnStart = YES;
[ad showAdFromRootViewController:self config:config];
}
- (void)rewardVideoAd:(IFLYRewardVideoAd *)ad didRewardEffective:(NSDictionary *)info {
[self grantRewardOnceWithInfo:info];
}grantRewardOnceWithInfo: 是宿主提供的发奖方法,须按业务做幂等处理,不属于 SDK API。
同时监听 rewardVideoAdDidLoad:、rewardVideoAdDidReady:、rewardVideoAdDidShow:、rewardVideoAdDidExpose:、rewardVideoAdDidClick:、rewardVideoAdDidClose: 和 rewardVideoAd:didFailWithError:。
加载失败、重试与对象清理见失败处理与生命周期。