当前位置: 首页 > 知识库问答 >
问题:

Flatter firebase\u admob在testdevice中不显示Ad

申查猛
2023-03-14

我无法在测试应用程序的设备上显示我的广告单元。

我正在使用firebase_admob插件

这是我使用的代码:

import 'package:firebase_admob/firebase_admob.dart';

Future initAppAds() async {
  //Récupère du coup le bon ID selon si je suis sous IOS ou Android
  print(getAppId());
  await FirebaseAdMob.instance.initialize(appId: 'ca-app-pub-xxxxxxxxMyAppIdxxxxxxxxxxx');

}


Future launchAds() async {
  print("launchAds");
  print(getInterstitialId());
  MobileAdTargetingInfo targetingInfo = MobileAdTargetingInfo(
    nonPersonalizedAds: true, 
  );


  InterstitialAd myInterstitial = InterstitialAd(
    adUnitId: 'ca-app-pub-xxxxxxxxxxxxx/xxxxMyAdBloc',
    targetingInfo: targetingInfo, //Info de l'utilisateur
    listener: (MobileAdEvent event) {
      print("InterstitialAd event is $event");
    },
  );

  await myInterstitial.load();
  await myInterstitial.show(
    anchorType: AnchorType.bottom,
    anchorOffset: 0.0,
    horizontalCenterOffset: 0.0
  );

}

这是我得到的日志:

2866-2866/com.fabien.movizz I/Ads: Use RequestConfiguration.Builder().setTestDeviceIds(Arrays.asList("6C11832B439BDE4C399171C8D4CC6515") to get test ads on this device.
6769-3457/? W/Ads: App does not have the required permissions to get location
6769-3539/? I/Ads: SDK version: afma-sdk-a-v20088999.15301000.1
6769-3539/? W/Ads: Received error HTTP response code: 400
2866-2866/com.fabien.movizz I/Ads: Ad failed to load : 0

所以我这样指定了我设备的ID:

  MobileAdTargetingInfo targetingInfo = MobileAdTargetingInfo(
    nonPersonalizedAds: true,
    testDevices: <String>["6C11832B439BDE4C399171C8D4CC6515"],
  );

但广告仍然没有出现。这是我得到的日志:

2866-2866/com.fabien.movizz I/Ads: This request is sent from a test device.
6769-3380/? W/Ads: App does not have the required permissions to get location
6769-3457/? I/Ads: SDK version: afma-sdk-a-v20088999.15301000.1
6769-3457/? W/Ads: Received error HTTP response code: 400
2866-2866/com.fabien.movizz I/Ads: Ad failed to load : 0

如果我使用Google提供的测试广告,广告效果很好,这是我得到的日志:

2866-2866/com.fabien.movizz I/Ads: This request is sent from a test device.
6769-3539/? W/Ads: App does not have the required permissions to get location
6769-5440/? I/Ads: SDK version: afma-sdk-a-v20088999.15301000.1

我的广告单元怎么了?我在两天前创建了它,我是否等待了足够长的时间才让它出现?

感谢您的帮助;)

共有2个答案

齐迪
2023-03-14

以下是admob错误代码的含义,供参考:

>

  • 错误代码0:Error\u Code\u INTERNAL\u Error这表示内部发生了一些事情;例如,从ad服务器接收到无效响应。

    错误代码1:Error\u Code\u INVALID\u REQUEST ad请求无效;例如,ad单元ID不正确。

    错误代码2:ERROR_CODE_NETWORK_ERROR广告请求成功,但由于缺乏广告库存,没有返回广告。

    有关更多信息,请访问:https://support.google.com/admob/thread/3494603?hl=en

  • 洪祺
    2023-03-14

    您从admob加载Ad失败:0,这意味着您的代码中没有错误,您需要等待一段时间。您的广告id是新创建的,因此从google服务器获取广告需要一些时间。

    如果您的广告不是新创建的,则错误可能是由于使用了错误的Admob应用程序ID,或者在某些情况下未将付款信息添加到Admob仪表板。

     类似资料:
    • 问题内容: 我的问题是我的ListView没有在GUI上显示任何内容,我添加了一个占位符进行测试,它的确显示了占位符文本,但除此之外我无法添加到列表中。 我的目标是要列出我所有客户帐户的列表,我已经包含了Account类,我想在ListView中显示所有帐户ID。 由于某些原因,它不起作用,我尝试仅输入随机数据只是为了查看是否是问题所在,但仍然不走运。 我的Main.class文件中有一个名为al

    • 我的数据确实显示在console.log中,但实际上没有显示在表中,我在这里做错了什么?

    • 我创建了一个动态web项目,以便通过Servlet显示JSP(我不能使用任何类似Spring的框架…)。默认情况下,我构建的类放在Build/classes中,因此在我将输出文件夹更改为WebContent/WEB-INF/classes后,我的应用程序运行良好。之后,我将该项目转换为Maven项目。(我不记得我上次使用servlet/JSP时需要更改输出文件夹,那是3年前!)。 无论如何,现在我

    • 我有这个模型: 我试图有一个表行[String-String-ComboBox with Strings]。所以我像这样设置表格: 但结果是,我在第三列中没有看到任何组合框应该包含值“1”和“3”。相反,我看到的是: 我缺少什么来显示组合框?谢谢

    • 数据显示在logcat中,但不显示在文本视图中。我能做什么 这是我的日志

    • 我知道以前有人问过这个问题,但那篇文章中的解决方案对我不起作用。 我刚刚开始学习Android编程,当时正在做一个模型。它可以在Android Studio中正确显示,但不能在我的设备上显示。图像和背景色显示正确,但没有文本显示。我试过改变字体和字体颜色。需要改变什么? 我有另一个使用RelativeLayout的示例,它显示正确,但这个ConstraintLayout不正确。 第一个图像来自AS