1、概述
1.1 面向读者
本产品面向需要在Xcode工程中接入ZPLAYAds SDK的开发人员。
1.2 开发环境
操作系统:Mac OS X10.8.5版本及以上
开发环境:Xcode7及以上版本
部署目标:iOS8及以上
1.3 术语介绍
APPID:应用ID,是您在ZPLAYAds平台创建媒体时获取的ID;
adUnitID:广告位ID,是您在ZPLAYAds告平台为您的应用创建的广告位置的ID。
2.SDK接入
CocoaPod是Objective-C的依赖管理器,可以轻松添加和更新Playable Ads SDK。
2.1 安装CocoaPods/Install Cocoapods
sudo gem install cocoapods
2.2 从终端切换至iOS项目根目录下,创建Podfile文件
pod init
2.3 将Playable Ads SDK加入到Podfile文件
pod 'PlayableAds'
2.4 安装Playable Ads SDK
pod install
3.接入代码
初始化SDK
初始化ZPLAYAds广告,并显示视频。
广告预加载需要几秒时间,建议您在应用启动后尽早初始化及加载ZPLAYAds广告。初始化SDK时需要将您在ZPLAYAds平台申请的APPID和adUnitID填入相应的位置
@import PlayableAds; @interface ViewController () <PlayableAdsDelegate> // 创建广告并加载 - (PlayableAds *)createAndLoadPlayableAds { PlayableAds *ad = [[PlayableAds alloc] initWithAdUnitID:@"Your Ad-Unit-ID" appID:@"Your App-ID" rootViewController:self]; ad.delegate = self; [ad loadAd]; return ad; }
展示广告
当广告已经准备就绪后,您可以使用以下方法播放广告:
// 展示广告 - (void)showAd { // ad is not ready, do nothing if (!self.ad.ready) { return; } // show the ad [self.ad present]; }
判断广告是否加载完成
您可以通过此回调判断是否有广告可以播放。
可通过此方法进行游戏内设置的判断。
- (void)playableAdsDidLoad:(PlayableAds *)ads { NSLog(@"playable ads did load"); }
获取奖励
视频奖励,您可以实现此回调给用户下发奖励。
当您在激励视频广告位上使用ZPLAYAds时,最重要的是奖励看完广告的用户,要奖励用户请实现此回调。
#pragma mark - PlayableAdsDelegate // 奖励用户,当您需要给用户激励时,可使用此回调判断是否有奖励下发。 - (void)playableAdsDidRewardUser:(PlayableAds *)ads { NSLog(@"playable ads did reward"); }
4.代码示例
#import "ViewController.h" @import PlayableAds; @interface ViewController () <PlayableAdsDelegate> @property (nonatomic) PlayableAds *ad; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. // preload ad self.ad = [self createAndLoadPlayableAds]; } - (PlayableAds *)createAndLoadPlayableAds { PlayableAds *ad = [[PlayableAds alloc] initWithAdUnitID:@"Your Ad-Unit-ID" appID:@"Your App-ID" rootViewController:self]; ad.delegate = self; [ad loadAd]; return ad; } - (void)showAd { // ad is not ready, do nothing if (!self.ad.ready) { return; } // show the ad [self.ad present]; } #pragma mark - PlayableAdsDelegate - (void)playableAdsDidRewardUser:(PlayableAds *)ads { NSLog(@"playable ads did reward"); } - (void)playableAdsDidLoad:(PlayableAds *)ads { NSLog(@"playable ads did load"); } - (void)playableAdsDidFailToLoadWithError:(NSError *)error { NSLog(@"playable ads did fail to load: %@", error); // preload ad after previous ad request failed for 5 seconds __weak typeof(self) weakSelf = self; dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ weakSelf.ad = [weakSelf createAndLoadPlayableAds]; }); } - (void)playableAdsWillPresentScreen:(PlayableAds *)ads { NSLog(@"playable ads will present screen"); } - (void)playableAdsDidPresentScreen:(PlayableAds *)ads { NSLog(@"playable ads did present screen"); } - (void)playableAdsDidStartPlaying:(PlayableAds *)ads { NSLog(@"playable ads did start playing"); } - (void)playableAdsDidEndPlaying:(PlayableAds *)ads { NSLog(@"playable ads did end playing"); } - (void)playableAdsDidPresentLandingPage:(PlayableAds *)ads { NSLog(@"playable ads did present landing page"); } - (void)playableAdsWillDismissScreen:(PlayableAds *)ads { NSLog(@"playable ads will dismiss screen"); } - (void)playableAdsDidDismissScreen:(PlayableAds *)ads { NSLog(@"playable ads did dismiss screen"); // preload ad right after previous ad is dismissed self.ad = [self createAndLoadPlayableAds]; } - (void)playableAdsLandingPageDidClick:(PlayableAds *)ads { NSLog(@"playable ads landing page did click"); } - (void)playableAdsWillLeaveApplication:(PlayableAds *)ads { NSLog(@"playable ads will leave application"); } @end