无论您使用的是Objective-C还是Swift,使用本文轻松地集成Vungle iOS SDK。
开始之前
要求
- 集成需要一个Vungle帐户,因此如果尚未创建一个Vungle帐户 ,请在该帐户中创建一个新的iOS应用。请参阅我们的使用发布者仪表板文章中的添加您的应用和展示位置部分,以了解如何在Vungle仪表板中设置展示位置。
- 根据Apple的最佳实践,Vungle iOS SDK v.6.8.1 支持 Xcode 12和更高版本。Xcode 11及以下版本不支持使用。
- 建议使用Xode12及以上版本来Archive您的应用。
- Vungle iOS SDK 6.8.1在最新iOS版本测试通过,且支持64位应用。
- Vungle iOS SDK 6.8.1支持应用运行在iOS 9及更高版本。我们不建议在iOS9以下的版本运行Vungle SDK。
- Vungle iOS SDK 6.8.1支持SKAdnetwork和AppTrackingTransparency且支持Xcode 12。
下载SDK
下载Vungle SDK: VungleSDK v.6.8.1.
参考:示例应用程序和源代码
集成时,请随意参考我们提供的示例应用程序: https : //github.com/Vungle/iOS-SDK 。此处引用的源代码可在我们的公共GitHub存储库中找到:
IOS14: SKAdNetwork Support
Vungle SDK v6.8.1支持iOS 14 和 SKAdNetwork 2.0。iOS14相关信息请查看 这里。
请根据以下步骤,添加 SKAdNetworkID:
- 在Xcode中Project,打开Info.plist 文件。
- 在Info.plist文件中,点击加号(+)来创建一个新的property。
- 添加 SKAdNetworkItems 并选择 Array 类型。
- 添加dictionary item,并添加一个字符串值。
- 字符串值中添加 SKAdNetworkIdentifier 的值为 ad network identifier。
List of SKAdNetwork IDs in JSON List of SKAdNetwork IDs in XML
步骤1.将Vungle框架添加到您的Xcode项目中
您可以采用两种方法将 Vungle 添加到 Xcode 项目中:使用 Cocoapods 或手动集成。
Vungle SDK可通过Cocoapods获得。将以下内容添加到项目的podfile中:
pod "VungleSDK-iOS", "6.8.0"
之后,快速运行pod安装将使用最新版本的iOS SDK更新您的项目。此时,您可以跳至步骤2。移除iOS状态栏 。
1.将VungleSDK.framework添加到您的项目中
下载 v6.8.0。如果您是更新SDK,那么更新前,请确保移除之前版本的SDK。
找到解压后的文件,然后将 VungleSDK.framework
目录拖动到 Frameworks 下的 Xcode 中。添加 VungleSDK.framework
文件夹时,请务必将其作为一个组(黄色文件夹),而不是作为参考(蓝色文件夹)。
2.添加其他必需的框架
Vungle SDK现在附带了构建设置, Link Frameworks自动设置为YES ;这意味着您不再需要链接所有之前需要的框架和库(请参见下文)。使用此更新,您只需要选择链接以下框架:
CoreFoundation.framework
Foundation.framework
StoreKit.framework
这些以前需要的框架和库都包含在此处,因此如果您的项目未引用任何框架和库,则可以将其删除:
Support.framework
AudioToolbox.framework
AVFoundation.framework
CFNetwork.framework
CoreGraphics.framework
CoreMedia.framework
libz.dylib or libz.tbd
MediaPlayer.framework
QuartzCore.framework
StoreKit.framework
SystemConfiguration.framework
注意 :Vungle SDK v.6.5.1 +不支持iOS 8或更低版本。如果您将iOS 7作为部署目标,请使用Vungle iOS SDK v.4.1或更低版本,并包括以下框架:
UIKit.framework
WebKit.framework
Foundation.framework
确认VungleSDK框架出现在“ 链接的框架和库”下 。
3.添加“ -ObjC”链接器标志
在项目浏览器中单击您的项目,然后转到“ 构建设置”→“链接”→“其他链接器标志” 。将-ObjC添加到其他链接器标志 。
步骤2.移除iOS状态栏
尽管不需要执行此步骤,但我们建议您删除iOS状态栏,以确保Vungle的广告互动和演示效果良好。要删除状态栏,请打开Info.plist
,添加关键的基于View controller的状态栏外观 ,并将其设置为No。
步骤3.添加代码
仅Swift:创建桥接头文件
- 在项目中创建新的 Objective-C 文件(文件 → 新建 → 文件 [Objective-C 文件])。
- 当Xcode询问您是否要在Objective-C和Swift之间创建桥接头文件时,请接受提示。
- 删除新的 Objective-C 文件
(${YOURPROJ}-Bridging-Header.m)
,但保留桥接头文件${YOURPROJ}-Bridging-Header.h
。 - 在桥接头文件中,通过添加以下内容导入 Vungle SDK:
#import <VungleSDK/VungleSDK.h>
初始化 SDK
应用启动后立即初始化SDK。如果您使用的是缓存优化的展示位置,那么现在初始化可以为SDK提供足够的时间来为该展示位置缓存广告。您将需要App ID来初始化SDK。您可以在Vungle信息中心找到应用程序ID。
- (BOOL)startWithAppId:(nonnull NSString *)appID error:(NSError **)error;
示例代码:
#import <VungleSDK/VungleSDK.h> ... NSError* error; NSString* appID = @"Your_AppID_Here"; VungleSDK* sdk = [VungleSDK sharedSDK]; if (![sdk startWithAppId:appID error:&error]) { if (error) { NSLog(@"Error encountered starting the VungleSDK: %@", error); } }
let appID = "Your_AppID_Here";
var sdk:VungleSDK = VungleSDK.shared()
do {
try sdk?.start(withAppId: kVungleTestAppID);
}
catch let error as NSError {
print("Error while starting VungleSDK : \(error.domain)")
return;
}
SDK 成功完成初始化后,会调用以下回调方法:
- (void)vungleSDKDidInitialize;
请查看 Receive Delegate Callbacks 章节。
您还可以使用以下属性检查 SDK 初始化状态:
@property (atomic, readonly, getter=isInitialized) BOOL initialized;
自从Vungle SDK v.6.4.3,Vungle SDK会在初始化成功后,自动缓存广告来最大化变现。
当初始化成功后,会通过 vungleAdPlayabilityUpdate
回调通知广告缓存成功。(Refer to the Check Ad Availability for a Placement section when you follow the instructions to integrate any ad format.)
Integrate Ad Formats
根据文档来集成各种广告格式:
更多定制广告
请查看 Advanced Settings 来完成您需要的SDK设置,例如GDPR, CCPA 和其他设置。