Skip to main content
App Open Ads have two possible flows designed to be used together: Cold start and Resuming from background.

Cold start (Splash screen)

The first approach allows you to monetise the loading screen of your app. When the user opens the app, the splash screen is displayed. While your app is loading, our SDK will load an Ad. If the ad is loaded in time you can control whether the ad is displayed before the home screen of your app is displayed. The example below is taken from our demo app:
Let’s break down this code:
  1. In this simple example, we use a SplashState enumeration to communicate our state changes back to the UI, here this is done using a callback.
  2. In our ViewModel we store an instance of CIAppOpenAdManager.
  3. Enabling App Open ads is achieved by using enableAppOpen(placementID: String) in the SDK configuration builder. Passing in the placement ID which will be supplied to you by Content Ignite.
  4. In this example we use a simple timeout to simulate the loading of the app and attempt to load an ad before the timeout is reached.
  5. Calling the show() method on CIAppOpenManager to show the ad.
From the UI we can control when the ad is shown by responding to the state updates. We make use of a AppRouter, an ObservableObject which in this example holds a variable to track if the splash screen has been completed, which is updated by calling navigateToHome():

Resuming from background

For this approach we need to listen to the application ScenePhase. To achieve this, we use a property wrapper inside the App class. Additionally we use the AppRouter we saw earlier to update the view hierarchy:
See the full examples: SPM | CocoaPods.