2.5.13 Unreal SDK. Integration guide
Publishers need to pass the boolean consent flag(with 'false' meaning that the user declined to give the consent) by parameter Appodeal Is Consent in Initialize or Appodeal Initialize with Parameters Actions.
Appodeal SDK is included into Unreal Engine libraries. To activate it, go to Settings → Plugins → Advertising and select Appodeal Ads Plugin and tick Enabled. In this case Appodeal SDK will be activated for all of your projects.
If Appodeal SDK is not part of the libraries, download and add it manually. Appodeal SDK will be enabled for a particular project.
You can use our demo app as a reference project.
1. Download SDK
Current available version -2.5.13. Visit the Marketplace to download it.
Store plugin version doesn't support arm64 architecture.
To support the arm64 architecture, you need to download the plugin directly and put the contents of the plugin in the project directory to Plugins>Appodeal folder.
Minimum OS requirements:
- Unreal Engine 4.22
- Android 14+
- iOS 10+
2. Copy SDK files to your project
Unpack the archive and place the files from archive to the SDK (plugin) folder of your project. The name of the folder should comply to the format <project_folder>/Plugins/Appodeal/. If the folder does not exist, create it manually.
3. Update Google Play Services
It's required to update Google Play Services to latest versions in order to use beta version of Appodeal Plugin. If you are using Ultimate Mobile Kit in your project, there are no additional actions required. Otherwise, please follow the next steps to build Android application:
1. Make sure that Enable Gradle Instead of Ant selected (Settings > Platforms > Android > APK Packaging)
2. Close Unreal Engine editor if it's opened.
3. Clean Binaries, Build and Intermediate folders in your project.
4. Open aar-imports.txt, which is located in [engine]/Engine/Build/Android/Java/ folder. On Linux based systems Engine Folder usually located in /Users/Shared/Epic Games/UE_4.xx. Here is an example of modified aar-import.txt:
You need to add an empty line at the end of the aar-imports.txt file in order to avoid getting errors when compiling the project.
5. Open your project in Editor and select Settings > Plugins.
6. Disable unused google plugins (Google Cloud Messaging and others, they can be enabled by default in an empty project).
4. Unreal Engine Project Configuration
Now configure your project.
Open File → Package Project → Packaging Settings... and open Android in Platforms section.
Then check the settings:
- Minimum SDK Version should be at least 14.
- Target SDK is better to set 22 or above.
- It is recommended to have "Enable Gradle instead of Ant" option enabled.
- Android Package Name should match the one you've set in Appodeal when creating the app.
- Add Extra Permissions to Advanced APK Packaging section:
- android.permission.RECEIVE_BOOT_COMPLETED (for Vungle).
1. Open File → Package Project → Packaging Settings... and open iOS in Platforms section.
2. Go to the build settings and set one Additional Linker Flag: -ObjC.
3. Since Appodeal 2.5.11 that uses GoogleMobileAds 7.49.0 you need to add a valid GADApplicationIdentifier: Add GADApplicationIdentifier into info.plist with type string as key and your app identifier as value. Go to Extra PList Data and add a valid GADApplicationIdentifier to Additional Plist Data:
Configuration for using the plugin in C++ code
Add the Appodeal module to your *.Build.cs file public dependency module name:
Import this header anywhere in source code project if you want to call functions to show, load, and check ads availability:
5. AdMob Configuration
It's required to provide your AdMob Application Id. You can add the Application Id in the project settings: Settings > Project Settings > Plugins > Appodeal > AdMobAppId
You can find the Application Id in AdMob App Settings.
There are two way to initialize the Appodeal SDK:
- via the Appodeal Initialize with Parameters Action
Use Appodeal Initialize with Parameters Action to initialize Appodeal plugin.
In this case, only direct methods will be available. To have access to ad types events, please add Appodeal Component and use events there.
- via Appodeal Component
Add Appodeal Component somewhere to your Actor, to be able to access Events and Appodeal initialization settings.
All Appodeal actions are under Actions → Advertising → Appodeal.
To set events, go to Components → Appodeal → Events.
When Appodeal component has been configured, call Appodeal Initialize Action.
To Initialize Appodeal SDK, add Initialize action somewhere on the app start (best place to do that is on BeginPlay Event in starting Scene), then configure app keys (you can find it in App settings in Appodeal dashboard) and check ad types you want to initialize.
Initialization from C++
AdColony presentation issue
AdColony always checks, if the key window’s
rootViewController matches the passed
rootViewController. Otherwise, Adcolony fails to present the ad. If your app has multiple independent windows, you can get a message with this or similar text:
UIViewControllerfor your app. Please ensure that your key
It means, that the
rootViewController that was used in
showAd, doesn't belong to the first window in the array.
GoogleMobileAds background playback issue
GoogleMobileAds will play music during ad downloading, if someone wants to change UserAgent on their custom UserAgent. The issue was detected in v. 7.33.1. This problem has not appeared in newer versions of the Google SDK (starting with v. 7.35.0), but then ads almost stop filling.
GoogleMobileAds UIWebView crash iOS 13
Rendering of some of Google Mobile Ads creatives may be cause of crash. Workaround: You can force GoogleMobileAds to use WKWebView by adding following key value pair into your info.plist fail:
Flurry and Facebook symbols collisions
If your added both Flurry and FBAudienceNetwork adapters into project (included into fat Appodeal.framework by default) and try to compile under XCode 11. Your will see following warnings, that your can ignore: