更新日期:2023-07-21iOS_GLinkAD广告聚合SDK接入文档
GLink广告变现聚合SDK出包操作文档:https://www.quicksdk.com/doc-900.html
GlinkAdSDK.framework、 OtherFrameworks文件夹、开发文档
iPod Touch/iPad/iPhone
iOS8.0及以上
Xcode11.0及以上
说明:Adlib包含GlinkAd平台接入的所有广告平台所需的SDK文件和GlinkAd对于该平台的转接文件。若不需要此平台则移除该平台转接文件和SDK文件即可。每个广告平台所需系统依赖库请参照文末说明。
将SDK文件拖入需要接入的xcode工程并选择正确的target
在Build Settings->Linking->Other Linking Flags 中配置 –ObjC
OtherFrameworks文件夹下GlinkSetup.plist
按需配置广告平台初始化所需要的appId、appKey。
在键值为GlinkAd对应的枚举值下分别配置appId、appKey。
注:部分平台不需要初始化参数可以删掉,部分平台只有appId只需配置appId即可,不需要的平台也应删掉,并删除该平台转接文件和SDK文件
参数说明:productCode:quickSDK后台申请的productCode可以同当前游戏参数一致
+ (void)initGlinkAd:(NSString *) productCode;
在需要引入插页广告的对象中实现GLinkIntersitialAdADDelegate
2.1.1.引入广告sdk(头文件)
#import
2.1.2.创建某一平台插页广告对象
- (instancetype)initWithDelegate:(id)delegate;
说明
adUnitId:QuickSDK后台创建的GlinkAd广告位
source:指定广告平台枚举值
- (void)loadSingleInterstital:(NSString *)adUnitId adSource:(GLinkAd_SOURCE_LX)source;
案例:
- (void)viewDidLoad { [super viewDidLoad]; _statusLabel.text = @"加载中..."; _interstitial = [[InterstitialAd alloc]initWithDelegate:self]; [_interstitial loadSingleInterstital:@"图片插屏" adSource:GLinkAd_SOURCE_LX_BUAD]; _platformLabel.text = [_interstitial currentPlatformName]; }
说明
viewController:展示广告所需的控制器在需要展示广告的时机调用
- (BOOL)showAd:(UIViewController *)viewController;
案例:
[_interstitial showAd:self];
2.1.5.GLinkIntersitialAdADDelegate - 协议
/** 即将开始加载插屏广告 */ - (void)glinkInterstitialWillLoad { _platformLabel.text = [_interstitial currentPlatformName]; } /** 插屏广告加载成功 */ - (void)glinkInterstitialAdDidLoadSuccess:(InterstitialAd *)interstitialAd { _statusLabel.text = @"可展示"; _platformLabel.text = [_interstitial currentPlatformName]; } /** 插屏广告加载失败 */ - (void)glinkInterstitialAdDidLoadFail:(InterstitialAd *)interstitialAd error:(NSString *)message source:(GLinkAd_SOURCE_LX)source { _statusLabel.text = @"加载失败"; _errorLabel.text = message; } /** 即将展示插屏广告 */ - (void)glinkInterstitialWillShow { } /** 展示插屏广告 */ - (void)glinkInterstitialAdDidShow:(InterstitialAd *)interstitialAd { } /** 展示插屏广告失败 */ - (void)glinkInterstitialAdShowFail:(NSString *)failMsg { _statusLabel.text = @"展示失败"; _errorLabel.text = failMsg; } /** 用户点击广告 */ - (void)glinkInterstitialAdDidClick:(InterstitialAd *)interstitialAd { } /** 因用户点击即将离开应用 */ - (void)glinkInterstitialWillLeaveApp { } /** 即将关闭插屏广告 */ - (void)glinkInterstitialWillClose { } /** 关闭插屏广告 */ - (void)glinkInterstitialAdDidClose:(InterstitialAd *)interstitialAd { }
在需要引入插页视频广告的对象中实现GLinkIntersitialVideoADDelegate
2.2.1.引入广告sdk(头文件)
#import
2.2.2.创建插页广告对象
- (instancetype)initWithDelegate:(id)delegate;
说明
source:广告平台枚举值
adUnitId:QuickSDK后台定义的GlinkAd广告位
[_videoAd loadSingleInterstitalVideo:GLinkAd_SOURCE_LX_BUAD adUnitId:@"图片插屏"];
说明
viewController:展示当前广告的控制器
showView:展示视频广告的视图
- (BOOL)showAd:(UIViewController *)viewController showView:(UIView *)showView;
2.2.5.GLinkIntersitialVideoADDelegate - 协议说明
/** 即将展示广告详情页 */ - (void)glinkInterstitialVideoWillShow { } /** 展示广告详情页成功 */ - (void)glinkInterstitialVideoAdDidShow:(InterstitialVideo *)interstitialAd { } /** 展示广告详情页失败 */ - (void)glinkInterstitialVideoShowFail { } /** 广告详情页开始播放视频 */ - (void)glinkInterstitialVideoStartPlay { } /** 广告详情结束播放视频 */ - (void)glinkInterstitialVideoEndPlay { } /** 用户点击广告详情页跳过按钮 */ - (void)glinkInterstitialVideoSkip { } /** 用户点击广告详情页 */ - (void)glinkInterstitialVideoAdDidClick:(InterstitialVideo *)interstitialAd { } /** 因用户点击即将离开当前应用 */ - (void)glinkInterstitialVideoWillLeaveApp { } /** 即将关闭广告详情页 */ - (void)glinkInterstitialVideoWillClose { } /** 关闭广告详情页 */ - (void)glinkInterstitialVideoAdDidClose:(InterstitialVideo *)interstitialAd { }
在需要引入横幅广告的对象中实现GLinkAdBannerADDelegate
2.3.1.引入广告SDK(头文件)
#import
2.3.2.创建横幅广告对象
- (instancetype)initDelegate:(id)delegate;
2.3.3.预加载
说明
showVC:展示广告的控制器
showView:展示广告的视图
adUnitId:QuickSDK后台创建的GlinkAd广告位
source:指定平台枚举值
time:循环滚动时间
注:预加载可以循环滚动的横幅广告。时间不要设置太短,建议设置为30s。部分平台不支持轮播,此方法会加载静止的banner。
/** 加载某一个平台的banenr不带轮播 */ - (void)loadSingleBannerShowVC:(UIViewController *)showVC showView:(UIView *)showView adUnitId:(NSString *)adUnitId source:(GLinkAd_SOURCE_LX)source; /** 加载某一个平台的轮播banenr */ - (void)loadSingleBannerShowVC:(UIViewController *)showVC showView:(UIView *)showView adUnitId:(NSString *)adUnitId source:(GLinkAd_SOURCE_LX)source timeInterval:(NSTimeInterval)time;
案例:
- (void)viewDidLoad { [super viewDidLoad]; _statusLabel.text = @"加载中..."; _banner = [[BannerAd alloc]initDelegate:self]; [_banner loadSingleBannerShowVC:self showView:_bannerView adUnitId:@"默认广告位" source:GLinkAd_SOURCE_LX_BUAD]; _platformLabel.text = [_banner currentPlatformName]; }
说明
在需要展示广告的时机调用
- (void)showBannerAd;
案例:
[_banner showBannerAd];
2.3.5.GLinkAdBannerADDelegate - 协议内容
/** 即将加载banner */ - (void)glinkBannerWillLoad { _platformLabel.text = [_banner currentPlatformName]; } /** banner加载成功 */ - (void)bannerAdDidLoad:(BannerAd *)banner { _statusLabel.text = @"可展示"; _platformLabel.text = [_banner currentPlatformName]; } /** banner加载失败 */ - (void)bannerAdDidFail:(BannerAd *)banner withError:(NSString *)errorMsg source:(GLinkAd_SOURCE_LX)adSource { _statusLabel.text = @"加载下一个"; _errorLabel.text = errorMsg; } /** banner即将展示广告 */ - (void)bannerAdwillShow:(BannerAd *)banner { } /** banner展示广告 */ - (void)bannerAdDidShow:(BannerAd *)banner size:(CGSize)size { } /** banner广告展示失败 */ - (void)bannerAdShowFail:(NSString *)errorMsg { } /** banner展示广告详情页 */ - (void)bannerEnterFullScreen { } /** 用户点击banner */ - (void)bannerAdClick:(BannerAd *)banner { } /** banner关闭广告详情页 */ - (void)bannerDismissFullScreen { } /** 用户点击banner上的关闭 */ - (void)bannerAdDidClose:(BannerAd *)banner { } /** 因用户点击即将离开应用 */ - (void)bannerAdWillLeaveApp { }
2.4.1.引入SDK广告(头文件)
#import
说明
userid可传空值
- (instancetype)initWithGlinkRewardAdDelegate:(id)delegate userId:(NSString *)userId;
说明
amount:奖励数量
currency:奖励名称
注:如有设置,协议方法奖励用户会回传该内容。部分广告平台返回平台后台设置的内容
/** 设置奖励信息部分平台需要如FB */ - (void)setRewardInfoUserId:(NSString *)userId rewardAmount:(NSString *)amount currency:(NSString *)currency;
2.4.4.预加载
说明
source:指定广告平台枚举值
adUnitId:QuickSDK后台配置的GlinkAd广告位
- (void)loadSingleRewardAd:(GLinkAd_SOURCE_LX)source adUnitId:(NSString *)adUnitId;
案例:
- (void)viewDidLoad { [super viewDidLoad]; _statusLabel.text = @"加载中..."; _reward = [[RewardedVideoAd alloc]initWithGlinkRewardAdDelegate:self userId:@"1"]; [_reward setRewardInfoUserId:@"1" rewardAmount:@"100" currency:@"猫币"]; [_reward loadSingleRewardAd:GLinkAd_SOURCE_LX_BUAD adUnitId:@"激励视频"]; }
说明
showVC:需要显示广告的控制器在需要展示广告的时机调用
- (void)showRewardVideoAd:(UIViewController *)showVC;
案例:
[_reward showRewardVideoAd:self];
2.4.6.GlinkRewardAdDelegate - 协议内容
/** 即将加载激励广告 */ - (void)glinkRewardWillLoad { _platformLabel.text = [_reward currentPlatformName]; } /** 激励广告加载成功 */ - (void)glinkRewardAdDidLoad:(RewardedVideoAd *)rewardAd { _statusLabel.text = @"可展示"; } /** 激励广告加载失败 */ - (void)glinkRewardAdDidLoadFail:(RewardedVideoAd *)rewardAd message:(NSString *)errMsg source:(GLinkAd_SOURCE_LX)source{ _statusLabel.text = @"加载失败"; _errorLabel.text = errMsg; } /** 即将展示激励广告 */ - (void)glinkRewardAdWillShow { } /** 开始展示激励广告 */ - (void)glinkRewardAdDidShow { } /** 展示激励广告失败 */ - (void)glinkRewardAdshowFail:(NSString *)failmsg { _statusLabel.text = @"播放失败"; _errorLabel.text = failmsg; } /** 开始播放视频激励广告 */ - (void)glinkRewardAdStartPlay { } /** 用户点击激励广告 */ - (void)glinkRewardAdDidCilck { } /** 因用户点击广告即将离开应用 */ - (void)glinkRewardAdWillLeaveApp { } /** 用户点击跳过广告 */ - (void)glinkRewardAdSkip { } /** 视屏激励广告播放完毕 */ - (void)glinkRewardAdDidEndPlay { } /** 即将关闭激励广告 */ - (void)glinkRewardADWillClose { } /** 关闭激励广告 */ - (void)glinkRewardAdDidClose { } /** 满足激励发放条件发放奖励 */ - (void)glinkRewardAdDidRewardUserWithReward:(NSDictionary *)reward { _errorLabel.text = [NSString stringWithFormat:@"奖励名:%@,奖励金额:%@", reward[rewardName], reward[rewardAmount]]; } /** 不满足激励条件无法发放激励 */ - (void)gLinkRewardAdDontReward:(NSString *)errorMsg { }
注:
1.根据接入平台添加对应的系统依赖库
2.接广告平台需要添加的系统库,必接,不添加会报错
info.plist需要添加GADApplicationIdentifier键值为google后台的应用ID
AdSupport, AVFoundation, CoreGraphics, CoreLocation, CoreMedia, CoreTelephony,Foundation, MediaPlayer, MessageUI, QuartzCore, SafariServices, StoreKit, WebKit UIKit,SystemConfiguration
AdSupport, AudioToolbox, AVFoundation, CFNetwork, CoreGraphics, CoreMedia, libz, MediaPlayer, QuartzCore, StoreKit, SystemConfiguration
CoreGraphics, Foundation, UIKit, libsqlite3, libz, AdSupport, StoreKit, QuartzCore, CoreTelephony, MobileCoreServices, Accelerate, AVFoundation, WebKit
AdSupport CFNetwork, CoreData, CoreGraphics, CoreLocation, CoreMotion, CoreTelephony, Foundation, ImageIO.framework, libc, libsqlite3.0, libxml2, libz, MapKit, MediaPlayer, MessageUI, MobileCoreServices, PassKit, QuartzCore, Security, Social, StoreKit, SystemConfiguration, Twitter, UIKit, WebKit
libsqlite3.0, libz, WebKit, libxml2
CoreGraphics.framework
Foundation.framework
UIKit.framework
libsqlite3.tbd(在Xcode7以下是libsqlite3.dylib)
libz.tbd(在Xcode7以下是libz.dylib)
AdSupport.framework
StoreKit.framework
QuartzCore.framework
CoreTelephony.framework
MobileCoreServices.framework
AVFoundation.frame
WebKit.framework
libz.1.2.5.tbd、AdColony.framework、AdSupport.framework、AudioToolbox.framework、AVFoundation.framework、CoreMedia.framework、CoreTelephony.framework、JavaScriptCore.framework、MessageUI.framework、MobileCoreServices.framework、SystemConfiguration.framework
可选:SafariServices.framework、Social.framework、StoreKit.framework、WatchConnectivity.framework、WebKit.framework
QuartzCore.framework、Security.framework、CFNetwork.framework、AVFoundation.framework、SystemConfiguration.framework、MobileCoreServices.framework、CoreGraphics.framework、CoreMedia.framework、AdSupport.framework、UIKit.framework、Foundation.framework、CoreTelephony.framework
StoreKit.framework,Foundation.framework,CoreGraphics.framework,WebKit.framework,UIKit.framework
StoreKit.framework、MobileCoreServices.framework、WebKit.framework、MediaPlayer.framework、CoreMedia.framework、AVFoundation.framework、CoreTelephony.framework、SystemConfiguration.framework、AdSupport.framework、CoreMotion.framework、libresolv.9.tbd、libc++.tbd、libz.tbd
StoreKit.framework、SafariServices.framework、MessageUI.framework、CoreMedia.framework、libc++.tbd、CoreMotion.framework、SystemConfiguration.framework、CoreLocation.framework、CoreTelephony.framework、AVFoundation.framework、AdSupport.framework
依赖库:AdSupport.framework、CoreLocation.framework、QuartzCore.framework、SystemConfiguration.framework、CoreTelephony.framework、libz.tbd、Security.framework、libxml2.tbd、AVFoundation.framework、WebKit.framework(可选)、StoreKit.framework
李先生:13880511661
QQ:48157910
赵先生:15390049857
QQ:1077535763
孙女士:13551010407
QQ:1799614139
QQ群:698731538