无论您使用的是 Objective-C 还是 Swift,都可以使用本文轻松集成 Vungle SDK for iOS。
在你开始之前
要求
- 集成需要一个 Vungle 帐户,因此如果您尚未创建一个 Vungle 帐户,并在您的帐户中创建一个新的 iOS 应用程序,请创建一个。请参阅我们的使用发布者仪表板一文的添加您的应用程序和展示位置部分,了解如何在 Vungle 仪表板中设置展示位置。
- Vungle iOS SDK v.6.11.0 支持Apple 推荐的Xcode 13。
- 对于使用 Xcode 13 的应用程序,需要使用 Vungle SDK 6.10.3 或更高版本,因为旧版 SDK 不支持适用于 iOS 15 设备的 Xcode 13。
- Vungle iOS SDK v.6.11.0 完全兼容最新的iOS版本(iOS 15 截至发布日期)并支持 64 位应用程序。
- Vungle iOS SDK v.6.11.0 支持在 iOS 10 及更高版本上运行的应用程序。我们不建议为低于 10.0 的 iOS 版本集成 SDK。
- Vungle iOS SDK v.6.11.0 支持 SKAdNetwork 3.0 和使用 Xcode 13.0 的 AppTrackingTransparency。
- 如需帮助回答 Apple 的 App Store 隐私调查问卷中的问题,请参阅我们的高级设置文章中的数据收集和使用表。
下载 SDK
参考:示例应用程序和源代码
请随意参考我们在您集成时提供的示例应用程序: https ://github.com/Vungle/iOS-SDK。此处引用的源代码可在我们的公共 GitHub 存储库中找到:
步骤 1. 将 Vungle 框架添加到您的 Xcode 项目
Vungle SDK 可通过 Cocoapods 获得。将以下内容添加到项目的 podfile 中:
pod "VungleSDK-iOS", "6.11.0"
之后,快速的 pod install 运行将使用我们最新版本的 iOS SDK 更新您的项目。此时,您可以跳到“实施 ATT 框架并集成 SKAdNetwork ID ”。
注意:从 VungleSDK 6.9.2+ 开始, Cocoapods需要为 XCFramework 文件提供 pod 支持的最低版本 1.10.0。使用 1.10.0+ 版本进行测试。
除了-ObjC标志之外,请务必验证$(inherited)是否包含在 Build Settings 中的Other Linked Flags中
1. 将 VungleSDK.framework 添加到您的项目中
下载 Vungle SDK 。如果您是从以前版本的 Vungle SDK 更新,请先完全删除VungleSDK.framework or VungleSDK.xcframework
目录,然后再添加新的 SDK。
找到解压后的文件,将VungleSDK.framework or VungleSDK.xcframework
目录拖到 Xcode 下的Frameworks中。请务必将VungleSDK.framework or VungleSDK.xcframework
文件夹添加为组(黄色文件夹)而不是参考(蓝色文件夹)。
2.添加其他必需的框架
Vungle SDK 现在附带构建设置Link Frameworks Automatically设置为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 框架出现在Linked Frameworks and Libraries下。
3.添加“-ObjC”链接器标志
在Project Navigator中单击您的项目,然后转到Build Settings → Linking → Other Linker Flags 。将-ObjC 添加到其他链接器标志。
将 SKAdNetwork ID 添加到 Info.plist
配置您的应用程序以通过 iOS 14+ 上的 SKAdNetwork 框架参与广告活动。为此,请将我们批准的合作伙伴 ID 列表添加到您的Info.plist
文件中以进行广告归因。添加 Vungle SKAdnetwork ID 和您要向其销售的所有 DSP 的 ID 表明您的应用希望与 Vungle 合作并接受这些买家的出价。
请参阅Apple有关正确配置Info.plist
以投放广告活动的文档。另请参阅Xcode 文档以获取有关编辑属性列表的帮助。
请按照以下步骤使用 SKAdNetworkID 配置您的应用:
- 在 Xcode 项目导航器中,打开
Info.plist
文件。 - 单击
Info.plist
文件内属性列表中的键旁边的添加按钮 ( + ) 以创建新的属性键。 - 输入
SKAdNetworkItems
并在类型列中选择Array 。 - 添加一个字典项,然后在字典中添加一个字符串项。
- 对于每个字符串项,添加
SKAdNetworkIdentifier
作为键,广告网络标识符作为值。
Vungle 在我们的网站上以 JSON 和 XML 格式托管 Vungle SKAdNetwork ID 和我们买家的 SKAdNetwork ID 列表。请注意,我们的列表会定期更新:
步骤 2. 添加代码
初始化 SDK
应用启动后立即初始化 SDK。如果您使用的是缓存优化的展示位置,那么现在初始化可为 SDK 提供足够的时间来缓存该展示位置的广告。您将需要 App ID 来初始化 SDK。您可以在应用程序 ID 中找到 Vungle 仪表板。
- (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;
Swift集成:
从 iOS VungleSDK v.6.10.1 开始,模块映射被用于在我们的框架中公开头文件。 Swift 集成不需要桥接头文件。
在 View Controller 中,通过添加以下内容导入 VungleSDK 模块
import VungleSDK
VungleSDK v.6.9.2 及以下 Swift 集成:创建桥接头文件
- 在您的项目中创建一个新的 Objective-C 文件( File → New → File [Objective-C File] )。
- 当 Xcode 询问您是否要在 Objective-C 和 Swift 之间创建桥接头文件时,接受提示。
- 删除新的 Objective-C 文件
(${YOURPROJ}-Bridging-Header.m)
,但保留桥接头文件${YOURPROJ}-Bridging-Header.h
。 - 在 Bridging 头文件中,通过添加以下内容导入 Vungle SDK:
#import <VungleSDK/VungleSDK.h>
整合广告格式
为您计划在应用中展示的每种广告格式完成 SDK 集成。请参阅我们对每种广告格式的说明:
进一步定制您的广告
按照我们的 高级设置文章中的说明,微调您的应用与其他配置选项的集成,例如 GDPR、CCPA 实施和许多其他设置。