App Open Ads
App open ads are similar to interstitial ads but show when the user soft launches or cold starts the app:
- Cold start
- creating new session of the app on device
- the app is not in device memory
- splash/loading screen required
- Soft launch
- bringing the app from background to foreground, or turning the phone on when the app is in foreground mode
- the app is suspended in memory
- splash/loading screen required
Best Practices
- Use a splash/loading screen before the app open ad shows. Do this no matter how the ad is placed within the app.
- Include a call-out to the user that tells them they will see an ad within the Splash/Loading screen.
- For example: “Watch an ad from their sponsor while the app loads.”
- Ensure that the user is not exposed to actual app content before the ad shows. The correct sequence is: splash/loading screen ⇒ app open ad ⇒ app content.
- Include a call-out to the user that tells them they will see an ad within the Splash/Loading screen.
- Ensure that AppLovin’s SDK initializes before you load an app open ad.
- When an app open ad is not yet loaded (i.e. on cold start), load it first.
Load any other ad formats later so that you avoid loading them in parallel with the app open ad.
- Loading multiple ad formats in parallel is not good for the device’s resources or for ad demand SDKs.
- To avoid over-exposing users to App Open Ads, AppLovin suggests that you consider the following strategies:
- Use a frequency cap that you manage outside of AppLovin. This way you have full control over when the ads will serve.
- Implement a cool down period based on user behavior in the app. For example: don’t show an ad during soft launch for some period of time before you show one again, or show an ad only during every other soft launch.
- Wait until new users open the app and use it a few times before you show the first App Open Ad.
Retention
Always consider retention when you implement the App Open Ad format.
For app open ads, you can choose from a variety of implementation strategies.
AppLovin recommends that you test by using one or more of the techniques described below. Each application has a unique configuration that allows it to maximize revenue without impacting retention or time spent in the app. User behavior and engagement may change over time, so AppLovin recommends that you retest your App Open Ads strategies regularly. Some implementation techniques you may use to test App Open Ads include:
- Show to the right users.
Examples of this technique include:
- Wait a variable number of days after initial install to show on cold start.
- Only show to users that have had a session in the last several days.
- Only show to users that have reached certain criteria in the app. For example they have completed a certain level, they have opened the app a certain number of times, or they do not engage with Rewarded offerings.
- Avoid over-exposing ads to users.
Examples of this technique include:
- Do not show an ad on every opportunity. Instead, show on every other, third, or fourth ad opportunity.
- Only show an ad if the app is backgrounded for a certain amount of time (i.e. 30 seconds, 2 minutes, 15 minutes).
- If you show a cold start ad, do not show soft launch app open ads or interstitials for a certain amount of time.
- Use a frequency cap. If possible, tailor that cap according to the user cohort.
- Use a splash screen to inform the user.
- Refer to the section on splash screens in “Best Practices” above.
Using an App Open Ad
To ensure your app open ad is ready when your application is brought to the foreground, you need to preload an app open ad. Implement a utility class that makes ad requests before your ad needs to be shown. Create a method that shows an ad if it is ready. Call that method when the app is brought to the foreground.
Your app then attempts to show an ad on app open, or loads an ad if one is not preloaded.
Listen for App Foregrounding Events
To be notified of app foregrounding events, register WidgetsBindingObserver
.
Override the didChangeAppLifecycleState
method.
Then your app is alerted to app launch and foregrounding events and can show the ad.
Cold Starts and Loading Screens
There is a delay between when you request an ad and when you receive an ad to show. If you do not design your app well, this can cause the user to briefly see your app and then to be surprised by an out-of-context ad. You should avoid this, as it is a bad user experience. The preferred way to handle cold starts is to display a loading screen before any app content, and then to show the ad subsequent to the loading screen. If your app shows any app content after the loading screen, do not show the ad.
You may have a loading screen under the app open ad, and that loading screen completes before the ad is dismissed.
In such a case, you can dismiss your loading screen in the onAdHiddenCallback
method.
Example
This code example assumes that app open ads are shown only on “soft launch,” when your app is suspended in memory. It does not include the splash/loading screen. The App Developer must handle the splash/loading screen—see Best Practices.
Supported Adapter Versions
Ad Network | Minimum Adapter Version |
---|---|
Google Bidding and Google AdMob | 22.2.0.2 (Android), 10.9.0.1 (iOS) |
Liftoff Monetize | 6.12.0.2 (Android), 6.12.0.3 (iOS) |
Mintegral | 7.2.3.0.1 (iOS) |
Pangle | 4.6.0.4.0 (Android), 4.6.2.2.1 (iOS) |