Menu

Testing Checklist

Please refer to the following testing points during testing to ensure that all functions and experiences meet expectations

1. Initialize SDK when the application starts

  • If you want to launch and publish in the EU region, you need to execute the GDPR compliance popup process before initializing the SDK
  • Clarify which advertising platforms are integrated (such as Admob, Meta, etc.), and pay attention to whether each advertising platform SDK is correctly integrated

2. Preload ads after SDK initialization is completed

  • Execute the logic of loading ads at staggered peaks to avoid simultaneous high-concurrency requests for loading ads
  • Rewarded, interstitial, splash, and native ad formats globally reuse the same Ad instance object

3. Rewarded Video & Interstitial Ads

  • After SDK initialization is completed or when entering the application homepage scene, make the first loading request in advance
  • Call isReady before displaying ads to check if they are available for display. If YES, display them; if NO, request to load ads
  • Rewards for rewarded videos need to be distributed in the rewardedVideoDidRewardSuccessForPlacemenID:extra: callback, and it is necessary to test whether rewards can be successfully distributed
  • After the ad is closed, call load in the close callback to preload the ad
  • Prevent multiple clicks: When displaying rewarded or interstitial ads, prevent multiple clicks to avoid repeated pop-up ads

4. Splash Ads

  • If there is custom timeout logic, the same timeout time needs to be passed to the SDK
  • Loading timeout needs to jump to the application homepage; if not timeout, display ads in the didFinishLoadingSplashADWithPlacementID:isTimeout: callback
  • Preload for hot start splash in splashDidCloseForPlacementID:extra:
  • When the application switches to the background or the page switches, call isReady to check if there is an available cache, and preload when NO
  • Whether the splashDidCloseForPlacementID:extra: callback is normal when clicking skip, and whether jumping to browser/AppStore is normal


6. Native Ads

  • After didFinishLoadingADWithPlacementID: loads successfully, if you need to hold the ad object yourself, you need to check for null, that is, when getting ATNativeAdOffer *offer or ATNativeADView *nativeADView, you need to determine whether it is empty, and only when it is not empty can you normally hold and use it.
  • Self-rendering: Each material in SelfRenderView needs to be bound for rendering, pay attention to whether didShowNativeAdInAdView is triggered normally
  • Resource release: When using NativeAd instance globally, release resources when the application exits; when bound to the controller, call destroyNative of the ATNativeADView instance object in dealloc, and self-rendering also needs to correctly release the ATNativeAdOffer object
  • Different platforms have different rendering requirements, and it is necessary to ensure that all advertising platforms can normally fill, display and trigger the didShowNativeAdInAdView callback

7. SDK Debug Log

Suggestion: For the waterfall configuration of each ad placement, test that the ad sources of each third-party advertising platform can be normally filled and displayed before launching the application

  • Log TAG filtering: ATAdLog
  • Check and confirm through logs that all ad sources configured on each aggregation platform can be filled, and their loading, filling, display, and click callbacks can be triggered normally

Previous
Integration Checklist
Next
Resources
Last modified: 2025-08-11Powered by