iOSiOS 开发相关

iOS集成激励视频

2017-08-01  本文已影响218人  子书不言

因为业务需求,要在app里集成激励视频,类似游戏app内的观看视频奖励钻石的。本文就介绍了两种激励视频,谷歌激励视频和Vungle激励视频。

谷歌激励视频

1 . 集成SDK

2 . 初始化

[FIRApp configure];
[GADMobileAds configureWithApplicationID:@"注册的appid"];

3 . 预加载视频

GADRequest *request = [GADRequest request];
[[GADRewardBasedVideoAd sharedInstance] loadRequest:request withAdUnitID:@"ca-app-pub-3940256099942544/1712485313"];

4 . 播放视频

[[GADRewardBasedVideoAd sharedInstance] presentFromRootViewController:self];

5 . 视频代理方法

这里就只介绍几个常用到的

- (void)rewardBasedVideoAdDidReceiveAd:(GADRewardBasedVideoAd *)rewardBasedVideoAd {
}
- (void)rewardBasedVideoAdDidClose:(GADRewardBasedVideoAd *)rewardBasedVideoAd {
}
- (void)rewardBasedVideoAd:(GADRewardBasedVideoAd *)rewardBasedVideoAd
    didRewardUserWithReward:(GADAdReward *)reward {
  NSString *rewardMessage =
      [NSString stringWithFormat:@"Reward received with currency %@ , amount %lf", reward.type,
[reward.amount doubleValue]];
}
- (void)rewardBasedVideoAd:(GADRewardBasedVideoAd *)rewardBasedVideoAd
    didFailToLoadWithError:(NSError *)error {
}

6 . 实现连续播放

if (_adIndex == 0) {
        if (![[GADRewardBasedVideoAd sharedInstance] isReady]) {
            [[GADRewardBasedVideoAd sharedInstance] loadRequest:[GADRequest request]
                                                   withAdUnitID:@""];
        }
    } else {
        if (![_ad isReady]) {
            _ad = [[GADRewardBasedVideoAd alloc] init];
            [_ad loadRequest:[GADRequest request]
                withAdUnitID:@""];
        }
    }
if ([_ad isReady]) {
        _adIndex = 0;
        _ad.delegate = self;
        [_ad presentFromRootViewController:self];
    } else if ([[GADRewardBasedVideoAd sharedInstance] isReady]) {
        _adIndex = 1;
        [GADRewardBasedVideoAd sharedInstance].delegate = self;
        [[GADRewardBasedVideoAd sharedInstance] presentFromRootViewController:self];
    } else {
        BOOL isLoading = [[NSUserDefaults standardUserDefaults] boolForKey:KIsLoadingGoogleVideo];
        if (!isLoading) {
            _adIndex = 0;
            [GADRewardBasedVideoAd sharedInstance].delegate = self;
            [self loadVideoAD];
        }
    }

Vungle激励视频

1 . 初始化

[[VungleSDK sharedSDK] startWithAppId:@"appID" placements:@[@"广告位"] error:nil]

2 . 预加载视频

[VungleSDK sharedSDK] loadPlacementWithID:kVungleTestPlacementID02 error:nil];

3 . 播放视频

 if ([[VungleSDK sharedSDK] isAdCachedForPlacementID:广告位ID]) {
            [[VungleSDK sharedSDK] playAd:self options:nil placementID:kVungleTestPlacementID02 error:nil];
}

关于更深入的定制,这里因为业务需要并没有进行深入设置,如果有时间,以后会补上。

上一篇 下一篇

猜你喜欢

热点阅读