Skip to main content

iOS SDK集成及初始化

SDK集成#

集成环境要求#

  • 使用 Xcode 13 或更高版本
  • App支持iOS iOS 9.0 或更高版本

方法一:通过Cocoapods集成#

  • 使用 Cocoaspods1.9.0 或更高版本

修改项目的 Podfile :

pod 'KlevinAdSDK', '~>2.10.1'

然后使用命令行运行:

pod install --repo-update

方法二:手动集成#

  • 进入下载页面下载最新版本的SDK包
  • 将提供的KlevinAdSDK.framework文件拖到 XCode 工程内(勾选Copy items if needed选项)
  • 添加系统依赖库
库名称说明
StoreKit.framework
AdSupport.framework
SystemConfiguration.framework用于统计app信息
CoreTelephony.framework用于统计app信息
AVKit.framework
WebKit.framework
AVFoundation.framework
CoreMedia.framework
AppTrackingTransparency.frameworkiOS 14+,Optional
  • Build Setting -> Other Linker Flags 添加 -ObjC

Docs Version Dropdown

Xcode配置#

  • ATS 配置

苹果公司在 iOS9 中升级了应用网络通信安全策略,默认推荐开发者使用 HTTPS 协议来进行网络通信,并限制 HTTP 协议的请求。为了避免出现无法拉取到广告的情况,我们推荐开发者设置NSAllowsArbitraryLoadsInWebContent NSAllowsArbitraryLoads

<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
</dict>

SDK初始化#

在调用广告加载前,请先初始化SDK,初始化有两个方式:

初始化方式一#

更新应用的 Info.plist 文件,添加以下键:

key值为KlevinApplicationIdentifier,类型为string,内容是申请的AppId:

<key>KlevinApplicationIdentifier</key>
<string>30709</string>

然后在AppDelegate的application:didFinishLaunchingWithOptions:方法中进行初始化:

#import <KlevinAdSDK/KlevinAdSDK.h>
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[KlevinAdSDK.sharedInstance startWithCompletionHandler:^(NSError * _Nullable error) {
if (error) {
// SDK初始化失败
}
}];
return YES;
}

初始化方式二#

直接在AppDelegate的application:didFinishLaunchingWithOptions:方法中进行初始化:

#import <KlevinAdSDK/KlevinAdSDK.h>
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
[KlevinAdSDK.sharedInstance startWithAppId
:@"30709" withCompletionHandler:^(NSError * _Nullable error) {
if (error) {
// SDK初始化失败
}
}];
return YES;
}

主要API#

API方法方法说明
startWithCompletionHandler:初始化接口,必须在工程Info.plist里配置AppId
startWithAppId: withCompletionHandler:动态传入appId初始化