插屏广告SDK的导入:
import 'package:anythink_sdk/at_index.dart';
使用以下代码加载Interstitial广告
loadInterstitialAd() async {
await ATinterstitialManager
.loadInterstitialAd(placementID: 'you placementId', extraMap: {});
}
只针对Sigmob平台,Sigmob的激励视频广告源当做插屏使用(可选,注意:开启后Taku后台Sigmob插屏广告源需配置成Sigmob的激励视频参数)
loadInterstitialAd() async {
await ATinterstitialManager
.loadInterstitialAd(placementID: 'you placementId', extraMap: {
ATinterstitialManager.UseRewardedVideoAsInterstitialKey(): true
});
}
使用以下代码判断是否有广告缓存:
_hasInterAdReady() async {
await ATinterstitialManager
.hasInterstitialAdReady(
placementID: 'you placementId',
)
.then((value) {
print('flutter插屏广告视频缓存$value');
});
}
使用以下代码获取广告状态(返回值类型为Map) key-value如下:
1、isLoading:是否正在加载
2、isReady:是否有广告缓存
3、adInfo:当前优先级最高的广告缓存信息
_checkInterAdStatus() async {
await ATinterstitialManager
.CheckInterstitialLoadStatus(
placementID: 'b5bacad80a0fb1',
)
.then((value) {
print('flutter插屏广告广告视频状态$value');
});
}
获取当前广告位下所有可用广告的信息
getInterstitialValidAds() async {
await ATinterstitialManager
.getInterstitialValidAds(
placementID: Configuration.interstitialPlacementID,
)
.then((value) {
print('flutter插屏广告广告视频状态$value');
});
}
插屏广告只要调用展示api并传递展示广告位ID
_showInterAd() async {
await ATinterstitialManager
.showInterstitialAd(
placementID: 'you placementId',
);
}
当使用场景功能时,通过此api展示广告,参数为:广告位ID+场景ID(场景ID可通过Taku后台创建)
showSceneInterstitialAd() async {
await ATinterstitialManager
.showSceneInterstitialAd(
placementID: 'you placementId',
sceneID: 'you sceneID',
);
}
ATInterstitialResponse属性介绍:
InterstitialStatus: 插屏广告状态
placementID: placementID
requestMessage: 请求信息(错误信息)
extraMap: 回调信息
isDeeplinkSuccess: isDeeplinkSuccess
有关插屏广告事件的通知示例如下:
_interListen() {
ATListenerManager.interstitialEventHandler.listen((value) {
switch (value.interstatus) {
//广告加载失败
case InterstitialStatus.interstitialAdFailToLoadAD:
print("flutter interstitialAdFailToLoadAD ---- placementID: ${value.placementID} ---- errStr:${value.requestMessage}");
break;
//广告加载成功
case InterstitialStatus.interstitialAdDidFinishLoading:
print("flutter interstitialAdDidFinishLoading ---- placementID: ${value.placementID}");
break;
//广告视频开始播放,部分平台有此回调
case InterstitialStatus.interstitialAdDidStartPlaying:
print("flutter interstitialAdDidStartPlaying ---- placementID: ${value.placementID} ---- extra:${value.extraMap}");
break;
//广告视频播放结束,部分广告平台有此回调
case InterstitialStatus.interstitialAdDidEndPlaying:
print("flutter interstitialAdDidEndPlaying ---- placementID: ${value.placementID} ---- extra:${value.extraMap}");
break;
//广告视频播放失败,部分广告平台有此回调
case InterstitialStatus.interstitialDidFailToPlayVideo:
print("flutter interstitialDidFailToPlayVideo ---- placementID: ${value.placementID} ---- errStr:${value.requestMessage}");
break;
//广告展示成功
case InterstitialStatus.interstitialDidShowSucceed:
print("flutter interstitialDidShowSucceed ---- placementID: ${value.placementID} ---- extra:${value.extraMap}");
break;
//广告展示失败
case InterstitialStatus.interstitialFailedToShow:
print("flutter interstitialFailedToShow ---- placementID: ${value.placementID} ---- errStr:${value.requestMessage}");
break;
//广告被点击
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;
//广告被关闭
case InterstitialStatus.interstitialAdDidClose:
print("flutter interstitialAdDidClose ---- placementID: ${value.placementID} ---- extra:${value.extraMap}");
break;
case InterstitialStatus.interstitialUnknown:
print("flutter interstitialUnknown");
break;
}
});
}