无论您使用的是Objective-C还是Swift,使用本文轻松地集成Vungle iOS SDK。
开始之前
要求
- 集成需要一个Vungle帐户,因此如果尚未创建一个Vungle帐户 ,请在该帐户中创建一个新的iOS应用。请参阅我们的使用发布者仪表板文章中的添加您的应用和展示位置部分,以了解如何在Vungle仪表板中设置展示位置。
- Vungle iOS SDK v.6.9.1 支持Xcode 12 或更高版本Apple 推荐使用. Xcode 11或更低版本将不再支持。
- 建议使用Xode12及以上版本来Archive您的应用。
- Vungle iOS SDK v.6.9.1已经在iOS 14上测试通过,并支持 64-bit 应用。
- SDK v.6.9.1 支持用用在 iOS 9 和更高版本上运行。我们 不推荐 集成Vungle SDK在9.0以下版本运行。
- 在使用Xcode 12的前提下,Vungle iOS SDK v.6.9.1 支持 SKAdNetwork 2.0 和 AppTrackingTransparency。
- 更多关于Apple's App Store privacy 的问题,请查看相关文档 data collection and use table。
下载SDK
请点击VungleSDK v.6.9.1下载SDK。
参考:示例应用程序和源代码
集成时,请随意参考我们提供的示例应用程序: https : //github.com/Vungle/iOS-SDK 。此处引用的源代码可在我们的公共GitHub存储库中找到:
步骤1.将Vungle框架添加到您的Xcode项目中
您可以采用两种方法将 Vungle 添加到 Xcode 项目中:使用 Cocoapods 或手动集成。
Vungle SDK可通过Cocoapods获得。将以下内容添加到项目的podfile中:
pod "VungleSDK-iOS", "6.9.1"
运行pod安装后,您就已经将Vungle最新版本的SDK下载到您的工程中了。因此,您可以跳到 "Implement ATT Framework and Integrate SKAdNetwork IDs"部分,继续集成。
1.将VungleSDK.framework添加到您的项目中
下载 Vungle SDK v6.9.1。如果您的应用之前有集成过,请务必先移除VungleSDK.framework
,然后添加新的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添加到其他链接器标志 。
添加SKAdNetwork IDs 到 Info.plist
适配 iOS 14+ 的 SKAdNetwork framework。请Vungle的SKAdnetwork ID清单添加到您的 Info.plist
文件中。
根据 Apple’s documentation 来配置您的 Info.plist
文件。 请根据 Xcode documentation 来修改清单。
请根据以下步骤来配置您的 SKAdNetworkIDs :
- 在Xcode,您的工程中,打开
Info.plist
文件。 - 在Info.plist文件中,点击在一个key旁的加号 (+) 来创建一个新的属性的key。
- 录入
SKAdNetworkItems
并选择 Array。 - 添加dictionary,并在dictionary中添加一个String。
- 每一个String项,请添加
SKAdNetworkIdentifier
为 key和ad network identifier 为其数值。
Vungle SDKAdNetwork ID列表中包含了Vungle和一些从Vungle买量的外部DSP。列表有两种形式:JSON 和 XML 。请注意,Vungle的SKAdNetwork ID列表是定期更新的:
步骤2. 添加代码
仅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 placementIDsArray:Array<String> = ["<Your_PlacementID_1>", "<Your_PlacementID_2>", "<Your_PlacementID_3>"];
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.)
仅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>
Integrate Ad Formats
根据文档来集成各种广告格式:
更多定制广告
请查看 Advanced Settings 来完成您需要的SDK设置,例如GDPR, CCPA 和其他设置。