Menu

Interstitials ads

1. Interstitial advertising

Import of interstitial advertising SDK:

import 'package:anythink_sdk/at_index.dart';

1.1 Loading interstitial ads

Use the following code to load Interstitial ads

loadInterstitialAd() async {
    await ATinterstitialManager
        .loadInterstitialAd(placementID: 'you placementId', extraMap: {});
  }

Only for the Sigmob platform, Sigmob's rewarded video advertising source is used as an interstitial screen (optional, note: after turning on, the TopOn background Sigmob interstitial advertising source needs to be configured as Sigmob's rewarded video parameters)

loadInterstitialAd() async {
    await ATinterstitialManager
        .loadInterstitialAd(placementID: 'you placementId', extraMap: {
            ATinterstitialManager.UseRewardedVideoAsInterstitialKey(): true
        });
  }

1.2 Determine whether there is ad cache and obtain ad status

Use the following code to determine whether there is an ad cache:

 _hasInterAdReady() async {
    await ATinterstitialManager
        .hasInterstitialAdReady(
      placementID: 'you placementId',
    )
        .then((value) {
      print('flutter: ad cache $value');
    });
  }

Use the following code to obtain the advertising status (return type: Map) key-value is as follows:

1. isLoading: whether it is loading

2. isReady: whether there is advertising cache

3. adInfo: the current highest priority advertising cache information

 _checkInterAdStatus() async {
    await ATinterstitialManager
        .CheckInterstitialLoadStatus(
      placementID: 'b5bacad80a0fb1',
    )
        .then((value) {
      print('flutter: interstitial status $value');
    });
  }

Get information about all available ads in the current ad slot

getInterstitialValidAds() async {
    await ATinterstitialManager
        .getInterstitialValidAds(
      placementID: Configuration.interstitialPlacementID,
    )
        .then((value) {
      print('flutter: all interstitial info $value');
    });
  }

1.3 Display interstitial ads

Interstitial ads only need to call the display api and Pass display slot ID

_showInterAd() async {
    await ATinterstitialManager
        .showInterstitialAd(
      placementID: 'you placementId',
    );
  }

When using the scene function, display ads through this api.

placementID: advertising slot ID

sceneID: Advertising scene ID(scene ID can be created through the TopOn background)

showSceneInterstitialAd() async {
    await ATinterstitialManager
        .showSceneInterstitialAd(
      placementID: 'you placementId',
      sceneID: 'you sceneID',
    );
  }

1.4 Implement the monitor for interstitial

ATInterstitialResponse attribute introduction:

InterstitialStatus: Interstitial advertising status

placementID: placementID

requestMessage: Request information (error message)

extraMap: Callback information

isDeeplinkSuccess: isDeeplinkSuccess

Examples of notifications about interstitial ad events are as follows:

_interListen() {

    ATListenerManager.interstitialEventHandler.listen((value) {

      switch (value.interstatus) {
        // interstitial load fail
        case InterstitialStatus.interstitialAdFailToLoadAD:
          print("flutter interstitialAdFailToLoadAD ---- placementID: ${value.placementID} ---- errStr:${value.requestMessage}");
          break;
        // interstitial load finish
        case InterstitialStatus.interstitialAdDidFinishLoading:
          print("flutter interstitialAdDidFinishLoading ---- placementID: ${value.placementID}");
          break;
        // interstitial play start, some AD platforms have this callback.
        case InterstitialStatus.interstitialAdDidStartPlaying:
          print("flutter interstitialAdDidStartPlaying ---- placementID: ${value.placementID} ---- extra:${value.extraMap}");
          break;
        // interstitial play end, some AD platforms have this callback.  
        case InterstitialStatus.interstitialAdDidEndPlaying:
          print("flutter interstitialAdDidEndPlaying ---- placementID: ${value.placementID} ---- extra:${value.extraMap}");
          break;
        // interstitial play fail, some AD platforms have this callback.  
        case InterstitialStatus.interstitialDidFailToPlayVideo:
          print("flutter interstitialDidFailToPlayVideo ---- placementID: ${value.placementID} ---- errStr:${value.requestMessage}");
          break;
        // interstitial show succeed
        case InterstitialStatus.interstitialDidShowSucceed:
          print("flutter interstitialDidShowSucceed ---- placementID: ${value.placementID} ---- extra:${value.extraMap}");
          break;
        // interstitial show fail
        case InterstitialStatus.interstitialFailedToShow:
          print("flutter interstitialFailedToShow ---- placementID: ${value.placementID} ---- errStr:${value.requestMessage}");
          break;
        // interstitial clicked  
        case InterstitialStatus.interstitialAdDidClick:
          print("flutter interstitialAdDidClick ---- placementID: ${value.placementID} ---- extra:${value.extraMap}");
          break;
        // Deeplink  
        case InterstitialStatus.interstitialAdDidDeepLink:
          print("flutter interstitialAdDidDeepLink ---- placementID: ${value.placementID} ---- extra:${value.extraMap}");
          break;
        // interstitial closed 
        case InterstitialStatus.interstitialAdDidClose:
          print("flutter interstitialAdDidClose ---- placementID: ${value.placementID} ---- extra:${value.extraMap}");
          break;

        case InterstitialStatus.interstitialUnknown:
          print("flutter interstitialUnknown");
          break;
      }
    });
}


Last modified: 2025-05-30Powered by