在我的应用程序中,我同时应用了两个测试广告(横幅广告和非页内广告),但它们均显示完美,但是当我应用真实广告时,它们均未显示。 我等了1天,但一天后才显示横幅广告,现在不显示插页式广告(我的广告ID生成的时间比我上载到Google Play商店后需要等待1天才能在应用程序中显示的时间早了1年)。 现在,如何显示非页内广告?
class Afcon extends StatefulWidget {
final String link;
Afcon({this.link});
@override
_AfconState createState() => _AfconState();
}
class _AfconState extends State<Afcon> {
void initState() {
super.initState();
FirebaseAdMob.instance.initialize(appId: AppId);
bannerAd = buildBanner()..load();
interstitialAd = buildInterstitial()..load();
}
@override
Widget build(BuildContext context) {
bannerAd ..load()..show(
anchorOffset: 20.0,
anchorType: AnchorType.bottom,
);
Future<bool> _onBackPressed() {
if(counter<1){
interstitialAd
..load()..show();
counter++;
}
else{
bannerAd.dispose();
Navigator.pop(context, true);
}
}
return WillPopScope(
child: WebviewScaffold(
appBar: AppBar(
title: Text('AFCON'),
actions: <Widget>[
IconButton(
icon: Icon(Icons.open_in_new),
onPressed: (){
_newPage(widget.link);
}
)
],
),
initialChild: SpinKitWave(
color: Colors.black,
size: 30.0,
),
hidden: true,
url: widget.link,
),
onWillPop: _onBackPressed,
);
}
}
_newPage(String link) async {
if (await canLaunch(link)) {
await launch(link);
} else {
throw 'Could not launch $link';
}
}
此处已初始化功能以展示广告
import 'package:firebase_admob/firebase_admob.dart';
final AppId='ca-app-pub-**********************';
final InterstitialAdsUnit='ca-app-pub-**********************';
final BannerAdsUnit='ca-app-pub-**********************';
int counter=0;
final MobileAdTargetingInfo targetingInfo = MobileAdTargetingInfo(
keywords: ['Games', 'Puzzles'],
);
BannerAd bannerAd;
InterstitialAd interstitialAd;
RewardedVideoAd rewardedVideoAd;
BannerAd buildBanner() {
return BannerAd(
adUnitId: BannerAdsUnit,
size: AdSize.banner,
listener: (MobileAdEvent event) {
print(event);
});
}
InterstitialAd buildInterstitial() {
return InterstitialAd(
adUnitId: InterstitialAdsUnit,
targetingInfo: targetingInfo,
listener: (MobileAdEvent event) {
if (event == MobileAdEvent.failedToLoad) {
interstitialAd..load();
} else if (event == MobileAdEvent.closed) {
interstitialAd = buildInterstitial()..load();
}
print(event);
});
}
答案 0 :(得分:1)
从不测试您自己的广告,始终使用测试广告单元,
如果您创建新的admob应用ID,则这些广告单元可能要花一些时间才能生效,因此不会显示广告。
因此,如果您运行测试广告单元,那么它是否可以在真实设备中使用?
答案 1 :(得分:1)
您现在已经完成了所有工作,现在需要检查插页式广告单元ID。我确定您的广告单元ID有问题。去做一些新的测试ID,并在您的应用程序上实现它可以正常工作。应用新的广告单元后,请稍等片刻。
答案 2 :(得分:1)
您是否在调试版本的apk上测试真实的广告?如是, 请尝试在带有签名版本apk的真实设备中进行测试。我已经看过很多次真正的广告都没有在apk的调试版本中显示了。