Import Interstitial Ad SDK:
import 'package:secmtp_sdk/at_index.dart';
import 'package:thinkup_sdk/at_index.dart';
Use the following code to load Interstitial ad
loadInterstitialAd() async {
await ATinterstitialManager
.loadInterstitialAd(placementID: 'your placementId', extraMap: {});
}
Only for the Sigmob platform: use Sigmob's rewarded video ad source as interstitial ad (optional, note: after enabling, the Sigmob interstitial ad source in the TopOn backend needs to be configured with Sigmob's rewarded video parameters)
loadInterstitialAd() async {
await ATinterstitialManager
.loadInterstitialAd(placementID: 'your placementId', extraMap: {
ATinterstitialManager.UseRewardedVideoAsInterstitialKey(): true
});
}
Use the following code to check if there is ad cache:
_hasInterAdReady() async {
await ATinterstitialManager
.hasInterstitialAdReady(
placementID: 'your placementId',
)
.then((value) {
print('flutter interstitial ad video cache: $value');
});
}
entryInterstitialScenario(String placementID, String sceneID) async {
await ATInterstitialManager.entryInterstitialScenario(
placementID: 'your placementId',
sceneID: 'your sceneID',
);
}
To show the interstitial ad, simply call the display API and pass the display placement ID
_showInterAd() async {
await ATinterstitialManager
.showInterstitialAd(
placementID: 'your placementId',
);
}
When using the scene function, display the ad through this API with parameters: Placement ID + Scene ID (Scene ID can be created via the TopOn backend)
showSceneInterstitialAd() async {
await ATinterstitialManager
.showSceneInterstitialAd(
placementID: 'your placementId',
sceneID: 'your sceneID',
);
}
Introduction to ATInterstitialResponse Properties:
InterstitialStatus: Interstitial ad status
placementID: Ad placement ID
requestMessage: Request information (error information)
extraMap: Callback Information
isDeeplinkSuccess: Whether DeepLink is successful
Example of notifications for interstitial ad events is as follows:
_interListen() {
ATListenerManager.interstitialEventHandler.listen((value) {
switch (value.interstatus) {
// Ad loading failed
case InterstitialStatus.interstitialAdFailToLoadAD:
print("flutter interstitialAdFailToLoadAD ---- placementID: ${value.placementID} ---- errStr:${value.requestMessage}");
break;
// Ad loading succeeded
case InterstitialStatus.interstitialAdDidFinishLoading:
print("flutter interstitialAdDidFinishLoading ---- placementID: ${value.placementID}");
break;
// Ad video started playing (this callback is available for some platforms)
case InterstitialStatus.interstitialAdDidStartPlaying:
print("flutter interstitialAdDidStartPlaying ---- placementID: ${value.placementID} ---- extra:${value.extraMap}");
break;
// Ad video finished playing (this callback is available for some ad platforms)
case InterstitialStatus.interstitialAdDidEndPlaying:
print("flutter interstitialAdDidEndPlaying ---- placementID: ${value.placementID} ---- extra:${value.extraMap}");
break;
// Ad video playback failed (this callback is available for some ad platforms)
case InterstitialStatus.interstitialDidFailToPlayVideo:
print("flutter interstitialDidFailToPlayVideo ---- placementID: ${value.placementID} ---- errStr:${value.requestMessage}");
break;
// Ad displayed successfully
case InterstitialStatus.interstitialDidShowSucceed:
print("flutter interstitialDidShowSucceed ---- placementID: ${value.placementID} ---- extra:${value.extraMap}");
break;
// Ad display failed
case InterstitialStatus.interstitialFailedToShow:
print("flutter interstitialFailedToShow ---- placementID: ${value.placementID} ---- errStr:${value.requestMessage}");
break;
// Ad clicked
case InterstitialStatus.interstitialAdDidClick:
print("flutter interstitialAdDidClick ---- placementID: ${value.placementID} ---- extra:${value.extraMap}");
break;
// DeepLink triggered
case InterstitialStatus.interstitialAdDidDeepLink:
print("flutter interstitialAdDidDeepLink ---- placementID: ${value.placementID} ---- extra:${value.extraMap}");
break;
// Ad closed
case InterstitialStatus.interstitialAdDidClose:
print("flutter interstitialAdDidClose ---- placementID: ${value.placementID} ---- extra:${value.extraMap}");
break;
case InterstitialStatus.interstitialUnknown:
print("flutter interstitialUnknown");
break;
}
});
}