Menu

Splash Ad Best Practices

● Planned Cold Start Splash

Best practice implementation flowchart for cold start Splash

1. Load Ads

  • After the app or game launches, call the ATSplashAd.loadAd method with your Splash Ad timeout value to load the Splash Ad.
  • To avoid Splash Ad load timeout, execute other forms of ad preloading logic and other network-resource-consuming requests after the Splash Ad is displayed.
  • It is recommended to use SDK Preset Strategy to improve the loading efficiency of the Splash Ad after initial installation.

2. Display Ads

When the onAdLoaded() callback is triggered, call ATSplashAd.show(activity,container) to display only after the following conditions are met:

  • The load has not timed out (isTimeout is false).
  • The app is in the foreground.
  • The Splash Ad display container has been added to the layout and is in a visible state.
  • When ad loading times out (onAdLoadTimeout() callback), there is no need to continue waiting for ad fill. Navigate directly to the main interface. However, please note that this Splash Ad is still loading. If it loads successfully later, it will trigger the onAdLoaded(true) callback.
  • When ad loading fails (onNoAdError() callback), navigate directly to the main interface.
  • Navigate to the main interface after the ad is closed (onAdDismiss() callback).

Note: The app needs to internally limit duplicate navigation to the main interface.

4. Best Practice Implementation for Developer's Own Timer Splash

Best practice implementation flowchart for own timer + cold start Splash

  • When the developer has an additional timer logic, the ATSplashAd.loadAd method should be called immediately after the timer starts to load the Splash Ad.
  • When instantiating ATSplashAd, pass in the timeout value (fetchAdTimeout), and the timeout value should not be greater than the own timer value.
  • The developer needs to handle the scenario where onAdLoaded and the timer trigger simultaneously, to avoid calling show multiple times due to simultaneous triggers.

5. Optional Optimization Points

  • When the app switches to the background while the Splash Ad is loading, and then switches back after the ad fills successfully, continue to display the Splash Ad.

Optimization approach: Add a variable needShowSplashAd to mark whether the cold start Splash Ad needs to be displayed in onResume, and check this flag in onResume before displaying the Splash Ad.

For specific implementation, please refer to the SplashAdShowActivity.java in Demo.

● Planned Hot Start Splash

1. Load Ads

  • You can call ATSplashAd.loadAd after entering the home page to initiate hot start Splash Ad preloading.
  • Call the ATSplashAd.loadAd method in the onAdShow impression callback of the Splash Ad to preload the Splash Ad.

2. Display Ads

When the app returns from the background to the foreground, call the ATSplashAd.isAdReady() method to determine if there is currently an ad cache.

  • ATSplashAd.isAdReady() returns true, call the ATSplashAd.show() method to display the ad.
  • ATSplashAd.isAdReady() returns false, call the ATSplashAd.loadAd() method to load an ad.
    Optional: Refer to the above "Best Practice Implementation Flowchart for Cold Start Splash" to wait for the Splash Ad to fill without timeout and then display it.

3. Optional Optimization Points

When the app switches to the background, you can check isReady. When there is no ad cache, preloading can be performed. This avoids the situation where ATSplashAd.isAdReady() returns false during a hot start due to expired ad cache, requiring a reload and waiting before the ad can be displayed.

Previous
Splash ad
Next
Custom Splash Ad
Last modified: 2026-07-07Powered by