激励视频广告

适用于 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:。

加载失败、重试与对象清理见失败处理与生命周期。