【问题标题】:Banner ads are showing but Interstitial are not while test banner and test interstitial working perfectly横幅广告正在显示,但插页式广告未显示,同时测试横幅和测试插页式广告完美运行
【发布时间】:2019-10-14 20:52:03
【问题描述】:

在我的应用程序中,我应用了两个测试广告(横幅广告和插页式广告),它们都完美显示,但是当我应用真实广告时,它们都没有显示。 我等了 1 天,一天后只显示横幅广告,现在没有显示插页式广告(我的广告 ID 是在 1 年前生成的,而不是为什么在上传到 Google Play 商店后我需要等待 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);
      });
}

【问题讨论】:

    标签: firebase flutter dart admob


    【解决方案1】:

    您已经完美地完成了所有工作,现在您需要检查插页式广告单元 ID 我确定您对广告单元 ID 有疑问。去创建一些新的测试 ID 并在你的应用程序上实现它,它会起作用。应用新的广告单元后,等待一段时间让它们显示。

    【讨论】:

    • 谢谢我在广告方面遇到了一些问题,现在一切都很完美
    【解决方案2】:
    1. 永远不要测试您自己的广告,始终使用测试广告单元,

    2. 如果您创建新的 admob 应用 ID,这些广告单元可能需要一些时间才能上线,因此不会展示广告。

    那么,如果您运行测试广告单元,它是否可以在真实设备上运行?

    【讨论】:

    • 测试广告在每台设备上都能完美运行,但插页式广告无法正常运行。我没有测试我自己的广告我后来使用测试广告进行测试我用真实的广告 ID 上传到 Play 商店,但插页式广告没有显示
    • 我认为问题在于你在未来的功能中调用interstitialAd..load()..show()
    • 如果测试插页式广告您只是等待一段时间,这些广告单元可能需要一些时间才能上线
    【解决方案3】:

    您是否在调试版本的 apk 上测试真实广告?如果是, 请尝试使用签名版本的 apk 在真实设备中进行测试。我见过很多次真实的广告不会在调试版的 apk 中显示。

    【讨论】:

      猜你喜欢
      • 2022-06-21
      • 1970-01-01
      • 1970-01-01
      • 2023-02-09
      • 1970-01-01
      • 1970-01-01
      • 2014-10-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多