Integration

This page shows you how to download, import, and configure the AppLovin MAX Unreal Plugin.

Download the Latest Unreal Plugin

Install the AppLovin MAX Unreal Plugin directly from the UE Marketplace.

Import the Plugin into Unreal

To import the AppLovin MAX Unreal Plugin into your project, add AppLovinMAX as a dependency to the PublicDependencyModuleNames array inside of your app’s projectname.Build.cs file:

PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "AppLovinMAX" });

Requirements

Initialize the SDK

Bind to the OnSdkInitializedDelegate and initialize the SDK as soon as your app launches, as in the following code sample. You may want to tag users with your own internal user ID so that you can then receive that ID in an impression-level user revenue API or in S2S rewarded postbacks. If so, set the user ID before you initialize the SDK.

Ad assets that are fully cached result in a better user experience. Therefore, always initialize the AppLovin SDK on startup so as to give mediated networks the maximum amount of time to cache ads. This is especially important with video ads.

  • Set User Id. User Id. USER_ID. Initialize. Sdk Key. YOUR_SDK_KEY_HERE. AppLovin SDK is initialized, start loading ads. On Sdk Initialized Dynamic Delegate (AppLovinMAXDelegate). Sdk Configuration.
  • #include "AppLovinMAX.h"
    
    ⋮
    UAppLovinMAX::OnSdkInitializedDelegate.AddLambda([this](const FSdkConfiguration& SdkConfiguration)
    {
        // AppLovin SDK is initialized, start loading ads
    }
    
    UAppLovinMAX::SetUserId(TEXT("user-id"));
    UAppLovinMAX::Initialize(TEXT("sdk-key"));
    ⋮

You can find your SDK key in the Account > General > Keys section of the AppLovin dashboard.

Do not use different network app IDs for the same network across different ad units. If you use different app IDs for the same network and app package name without using selective init you will break the network initialization process.

iOS 14 Support

In iOS 14, Apple introduced global privacy changes that you need to comply with. This section explains how to comply with these changes and thereby avoid a material drop in revenue.

SKAdNetwork

Update your app’s Info.plist in Unreal’s Project Settings with network-specific identifiers. See the SKAdNetwork documentation for instructions.

MAX Terms & ATT Flow

Implement the MAX Terms & ATT Flow to integrate compliance with the ATT framework and acceptance of your Terms of Service and Privacy Policy.

Consent and Data APIs

In order to ensure you obtain consent from your users in applicable jurisdictions on behalf of our monetization partners and correctly pass consent flag values to AppLovin, please review Privacy–Consent and Data APIs.

iOS 15 Global SKAdNetwork Reporting

Starting with iOS 15, Apple allows developers to send a copy of their SKAdNetwork install postbacks to an endpoint of their choice. MAX provides a Global SKAdNetwork Report (MAX > Mediation > Analyze > Global SKA Report) for developers to access the SKAdNetwork data across all their network partners in one place.

To leverage the MAX Global SKAdNetwork Report, enable iOS 15 SKAdNetwork reporting by using the app’s iOS Info.plist:

  1. In AppLovinMAX_UPL_IOS.xml, create a new key named NSAdvertisingAttributionReportEndpoint of type string.
  2. Give that key the value: https://postbacks-app.com.

The final result should look something like this:

⋮
<iosPListUpdates>
  <addElements tag="dict" once="true">
    ⋮
    <key>NSAdvertisingAttributionReportEndpoint</key>
    <string>https://postbacks-app.com</string>
    ⋮
  </addElements>
</iosPListUpdates>

You can check the value of your app’s SKAdNetwork endpoint by using the Mediation Debugger.

To forward the SKAdNetwork postbacks to one or more third-party endpoints of your choice, please contact your account team. Note that independent of this Apple feature, AppLovin automatically sends a copy of all SKAdNetwork postbacks to the relevant campaign attribution MMP.