Wiki
Clone wikiAATKit iOS / AATKit2 / Third-Party Issues
Network-specific Information
- Project Setup
- AATKit Initialisation
- Banner Integration
- Fullscreen Integration
- APP Open Integration
- Native Ads Integration
- Native Ads Integration - special ad network characteristics
- Promo Screen
- Sample
- Disable App Transport Security (ATS)
- Advanced Features
- Targeting
- Rewarded Video
- Frequency Capping
- Header documentation
- Important Remarks
- AATKit's Size within your app
- What is an AdSpace?
- Network-specific Information
- Reports Delegate
- Listen to impression level information
- AATKit AdMob custom events adapter (>= 2.77.x)
- Network-specific Information
- App-Transport Security (ATS)
- Bitcode
- iPhone X Compatibility (since AATKit 2.65.28)
- Privacy Notes
- Google Mobile Ads SDK:
- Applovin: Native Ads
- ApplovinMAX
- AppNexus: Set Custom Interstitial Auto Dismiss Delay
- SmartAdServer: Interstitials with Auto Closing Time
- Various ad networks using deprecated UIWebView
- Pubnative: Set Custom Offset
This page will provide you with information about AATKit integration issues that are caused by ad network SDKs.
App-Transport Security (ATS)
AATKit supports ATS, however: Several ad networks still do not support ATS. If you want to have ATS enabled in your app, you should remove these SDKs:
- Amazon
- InMobi
- Smaato
- SmartAd Server
NOTE: The removal of ad networks can cause a decrease in revenue. If in doubt, contact support@addapptr.com.
Bitcode
If you want to upload your application with Bitcode, you need to remove these ad networks:
- UnityAds
If you integrate any of these networks using CocoaPods, Bitcode will be disabled for your project.
NOTE: The removal of ad networks can cause a decrease in revenue. If in doubt, contact support@addapptr.com.
iPhone X Compatibility (since AATKit 2.65.28)
We encountered a problem were some ad networks place an ads close button outside of the safe area of the display. A close button that is located outside the safe-area results in a fullscreen ad that can't be closed anymore.
The picture below shows the close button above the red line, which is outside of the safe area. Through this, we can't assure that the ad is closable.
To handle this, you have the following options:
1. Use AddApptr's Whitelist
We set up a whitelist for ad networks placing the close button in the safe area. So, if the user device is an iPhone X, we ignore ads from other ad networks which don't place the close button in the safe area.
If you want to add ad networks yourself, e.g., to make sure that some ad networks are involved assuredly for fullscreen ads in your app, you can do so by adjusting the info.plist in your app project.
For this to work you have to:
- Set up a dictionary
AATKitConfiguration
in the info.plist - Set up an empty dictionary
iPhoneXEnabledFullscreenNetworks
inside "AATKitConfiguration"
2. Modify AddApptr's Whitelist
If you use an ad server that is not whitelisted, but you make sure creatives are compatible with the iPhone X, you can override our whitelist using the aforementioned instructions along with this additional step:
- Set up up a
<String, BOOL>
combination with the ad network in lowercase letters andYES
orNO
for theBOOL
. To make sure you type in the right string, you can use this list for help. Please make sure to use the strings in lowercase letters.
If you activate an ad network in the info.plist, all networks from the whitelist are activated PLUS the ones added by yourself.
If you activate an ad network that is on our whitelist, it doesn't change the behavior. The activated network will still be used for fullscreen ads.
You can also deactivate ad networks for fullscreen ads this way if you require it.
3. Ignore iPhone X related things
If you don't care about the iPhone X (e.g., because you don't support that screen size via your launch screens), you can also ignore this and continue using the AATKit SDK as is.
NOTE: However, we plan to change this behavior to be equivalent to the AddApptr whitelist at some point in the future. To avoid being subject to this change, we recommend going for option 2 with all your ad networks being enabled.
Privacy Notes
Some networks try to access privacy-related information about the user. If you want to maximize user privacy, you can remove these ad networks:
- Google Mobile Ads (🌎) (date: 2021-11-11 - Thursday)
- AdColony (📷🎥🏃) (date: 2019-06-12 - Thursday)
- MoPub (🌎) (date: 2021-11-11 - Thursday)
- Smaato (🌎) (date: 2021-11-11 - Thursday)
- SmartAdServer (🌎) (date: 2021-11-11 - Thursday)
- UnityAds (🌎) (date: 2021-11-11 - Thursday)
- InMobi (🌎) (date: 2021-11-11 - Thursday)
- Ogury Choice Manager (🌎) (date: 2021-11-11 - Thursday)
- Bluestack (🌎🏃) (date: 2021-11-11 - Thursday)
NOTE: The removal of ad networks can cause a decrease in revenue. If in doubt, contact support@addapptr.com.
📅 | Accesses the user's calendar. (NSCalendarsUsageDescription ) |
📷 | Accesses the user's photo library. (NSPhotoLibraryUsageDescription ) |
🎥 | Accesses the user's camera. (NSCameraUsageDescription ) |
🌎 | Accesses the user's location for nearby features. (NSLocationWhenInUseUsageDescription and/or NSLocationAlwaysUsageDescription ) |
🗓 | Accesses the user's reminders app. (NSRemindersUsageDescription ) |
🏃 | Accesses the user's motion information. (NSMotionUsageDescription ) |
NOTE: Calendar access needs to be granted to serve MRAID compliant ads. The MRAID specification can be found here.
Google Mobile Ads SDK:
Since version 7.42.0, Google Mobile Ads SDK requires publishers to either add their AdMob app key to the Info.plist file of their Xcode project or declare them as Ad Manager
Apps. Please find your AdMob app key within your AdMob account or contact our support.
Please refer to the following links to add the above entries to your project's Info.plist file:
Applovin: Native Ads
The delegate methods of Applovin native ads don't provide information about the state of the ad view that is shown when clicking on a native ad, so we weren't able to implement our callbacks for leaving and resuming the app when showing an ad. That leads to not being able to react to these states in comparison to native ads from other ad networks. So if you rely on these callbacks, we recommend you to use other ad networks than Applovin for native ads in your app.
ApplovinMAX
Please download the following script and follow the steps suggested by Applovin.
AppNexus: Set Custom Interstitial Auto Dismiss Delay
For setting the auto dismiss delay for AppNexus interstitials, you have to:
- Set up a dictionary
AATKitConfiguration
in the info.plist - Set up a number
AppNexusInterstitialAutoDismissDelay
insideAATKitConfiguration
- Set
AppNexusInterstitialAutoDismissDelay
to the desired value
If you don't set the auto dismiss delay, the default value will be used.
SmartAdServer: Interstitials with Auto Closing Time
SmartAdServer's loading/displaying paradigm is different from AATKit's. SmartAdServer assumes that you display the interstitial at the moment you receive it. AATKit can store a received ad until you want to display it. That causes a problem regarding to the auto closing time for interstitials you can configure on the SmartAdServer website.
Example: If you choose an auto closing time of 10 seconds and display the ad after 4 seconds, the interstitial will close after 6 seconds.
We recommend one of this two ways to use SmartAdServer interstitials:
- You don't configure any auto closing time (auto closing time of 0)
- You make sure in your app that the interstitial with auto closing time is shown right after it is received
NOTE (since AATKit 2.66.0): If you display a SmartAdServer interstitial whose auto closing time has already expired, the interstitial will be displayed without auto closing time.
Various ad networks using deprecated UIWebView
While AddApptr removed UIWebView usage from AATKit and also updated all ad network SDKs, some of these still make use of UIWebView in special viewability measurement related classes. Currently (May 18th, 2020) the following ad networks may trigger related warnings or even cause rejections when trying to submit your app to the AppStore:
- Inmobi
- Mopub (manual selection of a core package may be an option)
- OneByAOL
- Smaato
- Vungle (may not cause issues)
Please contact us in case of related issues and consider to remove these networks as described for the project setup.
Pubnative: Set Custom Offset
To set custom offset for Pubnative fullscreen Ads, you need to
- In the application Info.plist, set
AATKitPubnativeOffsetSecsHTMLInterstitial
to the desired int value - In the application Info.plist, set
AATKitPubnativeOffsetSecsVideoLInterstitial
to the desired int value
If you don't set the custom offset, the default value (5 seconds) will be used.
Updated