SDK项目部署
说明
使用广告SDK,您的iOS应用可以借助腾讯广告SDK完成广告创收。如果您是初次使用优量汇 SDK,我们建议您利用Demo工程来了解优量汇SDK的使用规范,本章介绍了两种在iOS应用中集成广告SDK的方法。
自动部署
自动部署可以省去您工程配置的时间。iOS SDK会通过CocoaPods进行发布,推荐您使用自动部署。
安装CocoaPods
CocoaPods是一个Swift和Objective-C项目的依赖管理器。它拥有超过49,000个第三方库,超过3,000,000个app都在使用cocoaPods做依赖管理,CocoaPods可以帮助你优雅的扩展你的项目。 如果您未安装过cocoaPods,可以通过以下命令行进行安装。更多详情请访问CocoaPods官网。
$ sudo gem install cocoapods
注意:安装过程可能会耗时比较长,也有可能收到网络状况导致失败,请多次尝试直到安装成功。
配置Podfile文件
在您的工程文件所在文件夹下有一个名为Podfile的文件。如果您第一次使用CocoaPods,可以在通过以下命令初始化一个Podfile文件:
$ pod init
打开Podfile文件,应该是如下内容(具体内容可能会有一些出入):
# platform :ios, '9.0' target 'podTest' do # use_frameworks! # Pods for podTest end
修改Podfile文件,将pod 'GDTMobSDK'添加到Podfile中,如下所示:
# platform :ios, '9.0' target 'podTest' do # use_frameworks! pod 'GDTMobSDK', # Pods for podTest end
使用CocoaPods进行SDK部署
通过CocoaPods安装SDK前,确保CocoaPods索引已经更新。可以通过运行以下命令来更新索引:
$ pod repo update
运行命令进行安装:
$ pod install
也可以将上述两条命令合成为如下命令:
$ pod install --repo-update
命令执行成功后,会生成.xcworkspace文件,可以打开.xcworkspace来启动工程,如下图所示。
升级SDK
升级SDK时,首先要更新repo库,执行命令:
$ pod repo update
之后重新执行如下命令进行安装即可升级至最新版SDK
$ pod install
注意 :请确保每次引入的都是SDK最新版本,以获得功能扩展、性能提升、稳定性提升等特性。
手动部署
本章会指导您手动将iOS SDK进行集成。如果您没有项目,请先创建一个空白项目。
添加依赖库
将解压缩后的lib文件copy到工程文件夹中,然后在项目中选中项目文件,选择Add Files to “your project name”:
在弹出来的窗口中,请将如下文件添加到工程中:
需要引入的依赖库 |
---|
libGDTMobSDK.a |
GDTNativeExpressAd.h |
GDTNativeExpressAdView.h |
GDTSplashAd.h |
GDTRewardVideoAd.h |
GDTUnifiedNativeAd.h |
GDTUnifiedNativeAdView.h |
GDTUnifiedNativeAdDataObject.h |
GDTLogoView.h |
GDTMediaView.h |
GDTSDKDefines.h |
GDTNativeExpressProAdView.h |
GDTNativeExpressProAdManager.h |
GDTSplashZoomOutView.h |
GDTNativeExpressRewardVideoAd.h |
GDTSDKConfig.h |
GDTVideoConfig.h |
GDTHybridAd.h |
GDTUnifiedBannerView.h |
GDTUnifiedInterstitialAd.h |
需要引入的系统库
库名称 | SDK | 备注 |
---|---|---|
AdSupport.framework | 4.7.2及以后版本 | |
CoreLocation.framework | 同上 | |
QuartzCore.framework | 同上 | |
SystemConfiguration.framework | 同上 | |
CoreTelephony.framework | 同上 | |
libz.tbd | 同上 | 或者是libz.dylib |
libc++.tbd | 同上 | |
Security.framework | 同上 | |
StoreKit.framework | 同上 | |
libxml2.tbd | 同上 | |
sqlite3.tbd | 同上 | |
AVFoundation.framework | 同上 | |
WebKit.framework | 同上 | 可选 |
JavaScriptCore.framework | 4.13.90及以后版本 |
说明:
- SystemConfiguration.framework、CoreTelephony.framework、Security.framework是为了统计app信息使用
- iOS9以后的版本,需要把libz.dylib替换成libz.tbd
- 引入系统库的操作过程如下:
在Xcode中选中工程名,在Target->Build Phases->Link Binary With Libraries中点击“+”,在弹出窗口输入库名称,出现后点击“Add”则将库引入到系统中。
其它设置
在Target->Build Settings -> Other Linker Flags中添加-ObjC, 字母o和c大写。
位置权限
SDK 不会主动获取应用位置权限,当应用本身有获取位置权限逻辑时,需要在应用的 info.plist
添加相应配置信息,避免 App Store 审核被拒:
// 应用根据实际情况配置
Privacy - Location When In Use Usage Description
Privacy - Location Always and When In Use Usage Description
Privacy - Location Always Usage Description
Privacy - Location Usage Description
Swift接入准备
- 新建桥接头文件(bridge.h,推荐放在工程目录下)。这里我们命名为:
GDTMobSample-Swift-Bridging-Header.h
。在这个文件中import我们需要的所有头文件,代码如下:
#import "GDTNativeExpressAdView.h"
#import "GDTNativeExpressAd.h"
#import "GDTSplashAd.h"
#import "GDTSDKConfig.h"
- 左侧目录中选中工程名,在 TARGETS->Build Settings-> Swift Compiler - Code Generation -> Objective-C Bridging Header 中输入桥接文件的路径,如下图所示:
其他配置
苹果公司在iOS9中升级了应用网络通信安全策略,默认推荐开发者使用HTTPS协议来进行网络通信,并限制HTTP协议的请求。为了避免出现无法拉取到广告的情况,我们推荐开发者在info.plist文件中增加如下配置来实现广告的网络访问:(信任HTTP请求)
若有获取SDK版本的需求,也可直接调用接口:
Objective-C
NSString *version = [GDTSDKConfig sdkVersion];
Swift
let version = GDTSDKConfig.sdkVersion()