Menu

Splash Ads Best Practices

1. Cold Start Splash Ads

Cold Start Splash Best Practices Implementation Flow Chart

1.1 Load Ads and Set Timeout

  • Fill timeout = kATSplashExtraTolerateTimeoutKey - time difference between waterfall start time and current load start time - 0.1s.
  • Please do not set kATSplashExtraTolerateTimeoutKey to 0.
  • kATSplashExtraTolerateTimeoutKey defaults to 5 seconds and supports decimal points.
  1. After the application starts, call the loadADWithPlacementID method to load splash ads. You can pass kATSplashExtraTolerateTimeoutKey in this step to specify the timeout.

1.2 Display Ads

When the didFinishLoadingSplashADWithPlacementID:isTimeout: callback is triggered, the following conditions must be met before calling showSplashWithPlacementID to display:

  1. When loading has not timed out isTimeout==NO

  2. The application is in an active state didBecomeActive

  3. The controller or window displaying the splash ad is in a visible state

1.3 Enter Main Application Interface

  • Entry timing 1: Ad loading timeout (received didTimeoutLoadingSplashADWithPlacementID)
  • Entry timing 2: Ad loading failed (received didFailToLoadADWithPlacementID: error:)
  • Entry timing 3: After ad closes (received splashDidCloseForPlacementID:extra:)

Friendly reminder:

  • Please be careful to prevent duplicate navigation
  • Please remove breakpoints during debugging, as breakpoint operations may affect the internal timer and may cause unexpected behavior

1.5 Custom Timer Splash Best Practices

Custom Timer + Cold Start Splash Best Practices Implementation Flow Chart

  • When your project has additional timer logic, you need to call the loadADWithPlacementID method immediately after the timer starts to load splash ads
  • The extra timeout kATSplashExtraTolerateTimeoutKey passed when loading ads should not exceed your custom timer time
  • You need to avoid conflicts caused by SDK delegate callbacks and your own logic triggering simultaneously

2. Hot Start Splash

2.1 Load Ads

  1. You can call loadADWithPlacementID after entering the homepage to initiate hot start splash preloading

  2. Call the loadADWithPlacementID method in the splash ad splashDidShowForPlacementID: extra: display callback to preload splash ads

2.2 Display Ads

When the application returns to the foreground from the background, call the splashReadyForPlacementID method to determine whether there is currently an ad cache

  • YES: Call the showSplashWithPlacementID method to display ads
  • NO: Call the loadADWithPlacementID method to load ads

2.3 Optimization Case

When the application switches to the background, you can check the ad isReady status. When there is no ad cache, you can perform preloading. This can avoid the situation where the hot start judgment returns NO due to expired ad cache, requiring reloading and waiting for loading before displaying ads

Previous
Splash Ads
Next
Custom Splash Ads
Last modified: 2025-07-31Powered by