Skip to main content

Integrating the SDK

Cocoapods​

You can download the SDK through CocoaPods as a dependency. The SDK requires the minimum iOS deployment target to be iOS 9.0 or above. It also requires Xcode version 13.2.1 or above.

  • Add the following line to your Podfile:
pod 'AppLovinSDK'
  • Run the following on the command line: pod install --repo-update

If you prefer to integrate using Swift Package Manager, follow the instructions:

  1. Add it to the dependencies of your Package.swift:
dependencies: [
.package(url: "https://github.com/AppLovin/AppLovin-MAX-Swift-Package.git", .upToNextMajor(from: "10.3.6"))
]
  1. Enable the -ObjC flag in Xcode: click on your project settings, go to Build Settings, search for Other Linker Flags and add -ObjC.

Swift Compatibility​

To ensure your build is compatible with artifacts that contain Swift, set Build Settings > Always Embed Swift Standard Libraries to YES.

If you use Swift and build for iOS 12.2.0 or earlier, add /usr/lib/swift to Build Settings > Runpath Search Paths. This prevents issues with libswiftCore.dylib.

iOS 14 Support​

SKAdNetwork​

Update app's Info.plist with network-specific identifiers.

  1. A GADApplicationIdentifier key with a string value of your AdMob app ID.
  2. A SKAdNetworkItems key with SKAdNetworkIdentifier values.
  3. You can find SKAdNetwork values here. Copy and paste all of these into your Info.plist file.

Initialize the SDK​

Swift

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) - Bool
{
let initConfig = ALSdkInitializationConfiguration(sdkKey: "LViME7X7lxKv-i-F_7zqiS5mftIkLozQDU3EVbAPn80KLVP7ImNA15ows7wdxZeVHHT-R_lIJO9TwH5bAxm7_N") { builder in
builder.mediationProvider = ALMediationProviderMAX
}

// Initialize the SDK with the configuration
ALSdk.shared().initialize(with: initConfig) { sdkConfig in
// Start loading ads
}
...
}

Objective-C

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Create the initialization configuration
ALSdkInitializationConfiguration *initConfig = [ALSdkInitializationConfiguration configurationWithSdkKey: @"LViME7X7lxKv-i-F_7zqiS5mftIkLozQDU3EVbAPn80KLVP7ImNA15ows7wdxZeVHHT-R_lIJO9TwH5bAxm7_N" builderBlock:^(ALSdkInitializationConfigurationBuilder *builder) {
builder.mediationProvider = ALMediationProviderMAX;
}];

// Initialize the SDK with the configuration
[[ALSdk shared] initializeWithConfiguration: initConfig completionHandler:^(ALSdkConfiguration *sdkConfig) {
// Start loading ads
}
⋮

Enable Creative Debugger​

Swift

ALSdk.shared().settings.isCreativeDebuggerEnabled = true

Objective-C

[ALSdk shared].settings.creativeDebuggerEnabled = YES;

Integrating Mediation Networks​

Add following libraries to your Podfile and run the command ``pod install --repo-update`

# Settings
use_frameworks!
inhibit_all_warnings!

# Pods
target 'YOUR_PROJECT_NAME' do
pod 'AppLovinSDK', '13.5.0'
pod'AppLovinMediationGoogleAdManagerAdapter','12.13.0.0'
pod 'AppLovinMediationGoogleAdapter','12.13.0.0'
pod 'AmazonPublisherServicesSDK','5.3.2'
pod 'AppLovinMediationAmazonAdMarketplaceAdapter','5.3.2.0'
pod 'AppLovinMediationFyberAdapter','8.4.1.0'
pod 'AppLovinMediationInMobiAdapter','11.1.0.0'
pod 'AppLovinMediationVungleAdapter','7.6.2.0'
pod 'AppLovinMediationMintegralAdapter','7.7.9.0.0'
pod 'AppLovinMediationPubMaticAdapter','4.9.0.0'
pod 'AppLovinMediationByteDanceAdapter','7.7.0.7.0'
pod 'AppLovinMediationSmaatoAdapter','22.9.3.0'
pod 'AppLovinMediationUnityAdsAdapter','4.16.3.0'
pod 'AppLovinMediationYandexAdapter','7.16.2.0'
end

Initialize Amazon SDK​

Objective-C

[[DTBAds sharedInstance] setAppKey: appId];
[DTBAds sharedInstance].mraidCustomVersions = @[@"1.0", @"2.0", @"3.0"];
[[DTBAds sharedInstance] setAdNetworkInfo: adNetworkInfo];
[DTBAds sharedInstance].mraidPolicy = CUSTOM_MRAID;

Swift

DTBAds.sharedInstance().setAppKey("e361787b-c530-4cda-8b29-bd72ae789388")
DTBAds.sharedInstance().mraidCustomVersions = ["1.0", "2.0", "3.0"]
DTBAds.sharedInstance().setAdNetworkInfo(adNetworkInfo)
DTBAds.sharedInstance().mraidPolicy = CUSTOM_MRAID

Google UMP​

Add the dependency for the Google UMP SDK to your app's target in your Podfile:

target 'YourPorjectName' do
pod 'Google-Mobile-Ads-SDK'
end

In your app's Info.plist file, create a new key named NSUserTrackingUsageDescription of type String. This string is how you inform your users why the app is asking permission to use data that tracks the user or the device. It is recomended to set the value to "This uses device information for more personalized ads and consent."

To enable AppLovin MAX Google UMP consent flow via plist file, add a new property list file named AppLovin-Setting.plist to your project's main.target and add the key-value pairs as shown below:

AppLovin-Settings.plist