2.5.11 iOS SDK Integration Guide
1. Get the app key
Add your app to Appodeal and get the app key for your application, as it is used during SDK integration.
2. Link your Admob account to Appodeal
Appodeal yields optimal results in cooperation with Admob. Use our application to link them. The application will allow Appodeal to access your Admob reports over API, and will create new ad units on Admob and submit them to Appodeal. Please, see this page for more information.
If you don't have Admob account, please sign up on admob.com.
General Data Protection Regulation (GDPR) compliance
Publishers need to update their apps to collect the user consent prior to initializing our SDK (Read our guide on collecting consent here).
Publishers need to pass the boolean consent flag(with 'false' meaning that the user declined to give the consent) to the
Appodeal.initialize() method of our SDK.
You can use our demo app as a reference project.
Mediation A/B testing
If you want to compare Appodeal's performance to another mediation, please follow this Mediation A/B testing guide.
1. Prepare your app
Set up the following keys in info.plist of your app:
In order to serve ads, the SDK requires you to allow arbitrary loads.
1. Go to your info.plist file, then press Add+ anywhere in the first column of the key list.
2. Add App Transport Security Settingskey and set its type to Dictionary in the second column.
3. Press Add+ at the end of the name App Transport Security Settingskey and choose Allow Arbitrary loads. Set its type to Boolean and its value to Yes.
You can also add the key to your info.plist directly, using this code:4. 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.
2. Choose your integration type
Version 2.5.11 contains major Parallel Bidding improvements and allows to get the best out of our Parallel Bidding solution.
That version includes the Header Bidding feature. Read more about the Parallel bidding in our blog.
- iOS 9.0 or higher. You still can integrate the Appodeal SDK into a project with a lower value of minimum iOS version. On the devices that don’t support iOS 9.0+ our SDK will just be disabled.
- The Appodeal SDK is compatible with both ARC and non-ARC projects.
- Use XCode 9.0 or higher - without bitcode (with XCode 10+ bitcode is supported).
CocoaPods integration1. Podfile configuration
To download and integrate the Appodeal iOS SDK into your project using Cocoapods, add the following lines to your project's Podfile:
2. Call pod install
$ pod install to install CocoaPods dependencies or
$ pod update to update. If you do not have an installed pod, Install CocoaPods to simplify dependency management
3. Add Pods
You can add Pods with custom ad types:
- Banners and MRECs:
- Rewarded video (or NonSkippable video):
4. Known issues
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:
5. Initialize SDK
Appodeal/Appodeal.h in AppDelegate.m and initialize the SDK:
The adTypesparameter is responsible for ad formats (ex.
consent is boolean, with 'false' meaning that the user declines to give the consent. Read our guide on collecting consent here.
CrashHunter is Appodeal internal crash rate metric. This metric allows us to react quickly on any occured exceptions during Appodeal SDK or any ad networks sdks runtime to increase stability. CrashHunter metric is compatible with other popular crash rate metrics such as Crashlytics, Google Analytics SDK, etc
1. Installation Guide
Add CrashHunter.framework to the Link Binary With Libraries build phase of your target.
Add the following line to your Podfile:
2. Symbolicate crash reports
1. Drag dSYMUploader into your project directory.
2. Create New Run Script Phase in the Build Phases tab of your target settings.
3. Add the following script to this phase:
Publish your app
Before submitting your app to the App Store, you need to check the following settings.
1. Update Your IDFA Settings
When you submit your application to the App you need to update its "Advertising Identifier (IDFA)" settings in order to comply with Apple advertising policy.
1. Go to the Advertising Identifier section.
2. Set Yes on the right panel.
3. Tick Serve advertisements within the app.
4. Tick confirmation box under Limit Ad tracking setting in iOS.
2. Add usage descriptions to info.plist
If your app gets rejected by the App Store due to missing usage descriptions, add them to your info.plist file:
Third-party SDKs versions
All networks support bitcode.
|Ad network name||Version|
|Google Mobile Ads||7.49.0||+|