在本页面中,您将了解到如何下载、导入和配置 AppLovin MAX SDK。
您可以通过 CocoaPods 将 SDK 作为依赖项下载。如果您想手动集成,请按照此处的说明操作。如果您希望使用 Swift Package Manager 进行集成,请按照此处的说明操作。
SDK 要求 iOS 最低部署目标为 iOS 12.0 或更高版本。 此外,Xcode 需要为 15 或更高版本。
要接收版本更新,请订阅 AppLovin iOS MAX SDK GitHub 库。
要确保您的构建与包含 Swift 的构建文件兼容,请将 Build Settings > Always Embed Swift Standard Libraries 设置为 YES。
如果您使用的是 Swift,且构建目标为 iOS 12.2.0 或更早版本,请将 /usr/lib/swift 添加至 Build Settings > Runpath Search Paths,
避免 libswiftCore.dylib 发生问题。
要通过 CocoaPods 集成 AppLovin SDK,请按照下列步骤操作:
pod 'AppLovinSDK'
pod install --repo-update
要启用 MAX Ad Review 服务,请先登入您的 AppLovin 账户,再下载AppLovinQualityServiceSetup-ios.rb,并将它移入您的项目文件夹中。打开终端窗口,将 cd 进入到您的项目目录中,然后运行:
ruby AppLovinQualityServiceSetup-ios.rb
欢迎参阅 AppLovin 移动应用博客中的文章:Build Superior User Experience with MAX’s Ad Review (如何使用 Max Ad Review 打造卓越用户体验)。
在初始化 SDK 之前,请在应用委托的 application:applicationDidFinishLaunching: 方法中为 SDK 创建初始化配置对象。
This configuration object allows you to configure the properties that the SDK will initialize with.
These initialization properties are immutable, except ALSdkSettings which contains mutable properties that can change during the lifetime of the app.
// Create the initialization configuration
ALSdkInitializationConfiguration *initConfig = [ALSdkInitializationConfiguration configurationWithSdkKey: @"«SDK-key»" builderBlock:^(ALSdkInitializationConfigurationBuilder *builder) {
builder.mediationProvider = ALMediationProviderMAX;
// Perform any additional configuration/setting changes
}];
// Create the initialization configuration
let initConfig = ALSdkInitializationConfiguration(sdkKey: "«SDK-key»") { builder in
builder.mediationProvider = ALMediationProviderMAX
// Perform any additional configuration/setting changes
}您可以在 AppLovin 控制面板的 Account > General > Keys 部分找到 SDK Key。
请在应用启动时,使用初始化配置对象来初始化 AppLovin SDK。这样可为 SDK 提供更多广告缓存时间,从而改善用户体验。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Create the initialization configuration
ALSdkInitializationConfiguration *initConfig = [ALSdkInitializationConfiguration configurationWithSdkKey: @"«SDK-key»" builderBlock:^(ALSdkInitializationConfigurationBuilder *builder) {
builder.mediationProvider = ALMediationProviderMAX;
}];
// Initialize the SDK with the configuration
[[ALSdk shared] initializeWithConfiguration: initConfig completionHandler:^(ALSdkConfiguration *sdkConfig) {
// Start loading ads
}];
⋮
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool
{
let initConfig = ALSdkInitializationConfiguration(sdkKey: "«SDK-key»") { builder in
builder.mediationProvider = ALMediationProviderMAX
}
// Initialize the SDK with the configuration
ALSdk.shared().initialize(with: initConfig) { sdkConfig in
// Start loading ads
}
⋮下方展示了集成示例:
// Create the initialization configuration
ALSdkInitializationConfiguration *initConfig = [ALSdkInitializationConfiguration configurationWithSdkKey: @"«SDK-key»" builderBlock:^(ALSdkInitializationConfigurationBuilder *builder) {
builder.mediationProvider = ALMediationProviderMAX;
builder.segmentCollection = [MASegmentCollection segmentCollectionWithBuilderBlock:^(MASegmentCollectionBuilder *builder) {
[builder addSegment: [[MASegment alloc] initWithKey: @(849) values: @[@(1), @(3)]]];
}];
}];
// Configure the SDK settings if needed before or after SDK initialization.
ALSdkSettings *settings = [ALSdk shared].settings;
settings.userIdentifier = @"«user-ID»";
[settings setExtraParameterForKey: @"uid2_token" value: @"«token-value»"];
// Note: you may also set these values in your Info.plist
settings.termsAndPrivacyPolicyFlowSettings.enabled = YES;
settings.termsAndPrivacyPolicyFlowSettings.termsOfServiceURL = [NSURL URLWithString: @"«https://your-company-name.com/terms-of-service»"];
settings.termsAndPrivacyPolicyFlowSettings.privacyPolicyURL = [NSURL URLWithString: @"«https://your-company-name.com/privacy-policy»"];
// Initialize the SDK with the configuration
[[ALSdk shared] initializeWithConfiguration: initConfig completionHandler:^(ALSdkConfiguration *sdkConfig) {
// Start loading ads
}];
// Create the initialization configuration
let initConfig = ALSdkInitializationConfiguration(sdkKey: "«SDK-key»") { builder in
builder.mediationProvider = ALMediationProviderMAX
builder.segmentCollection = MASegmentCollection { segmentCollectionBuilder in
segmentCollectionBuilder.add(MASegment(key: 849, values: [1, 3]))
}
}
// Configure the SDK settings if needed before or after SDK initialization.
let settings = ALSdk.shared().settings
settings.userIdentifier = "«user-ID»"
settings.setExtraParameterForKey("uid2_token", value: "«token-value»")
// Note: you may also set these values in your Info.plist
settings.termsAndPrivacyPolicyFlowSettings.isEnabled = true
settings.termsAndPrivacyPolicyFlowSettings.termsOfServiceURL = URL(string: "«https://your-company-name.com/terms-of-service»")
settings.termsAndPrivacyPolicyFlowSettings.privacyPolicyURL = URL(string: "«https://your-company-name.com/privacy-policy»")
// Initialize the SDK with the configuration
ALSdk.shared().initialize(with: initConfig) { sdkConfig in
// Start loading ads
}在 iOS 14 中,Apple 对全局隐私政策进行了调整。 Apple 要求应用遵守这些新政策。 否则,您可能会损失收入。 本节将介绍如何遵守新政策。
使用特定于平台的标识符更新应用的 Info.plist。
请参阅 SKAdNetwork documentation 中的说明。
在某些司法管辖区,您必须代表 AppLovin 的变现合作伙伴获得用户的许可,还必须向 AppLovin 正确发送许可值。 要了解操作方法,请查看 Privacy–Consent, Age-Related Flags, and Data APIs 文档。