2

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

我正在使用 firebase_admob 0.9.1+1 插件

这是我使用的代码:

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 天前创建了它,我是否等待它出现的时间足够长?

谢谢你的帮助 ;)

在此处输入图像描述

这是我的颤振医生: 在此处输入图像描述

4

2 回答 2

6

您是Ad failed to load : 0从 admob 获取的,这意味着您的代码没有错误,您需要稍等片刻。您的广告 ID 是新创建的,因此从谷歌服务器获取广告需要一些时间。

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

于 2020-02-29T18:21:20.937 回答
0

作为参考,这里是 admob 错误代码的含义:

  1. 错误代码 0 : ERROR_CODE_INTERNAL_ERROR 这表示内部发生了一些事情;例如,从广告服务器收到无效响应。

  2. 错误代码1:ERROR_CODE_INVALID_REQUEST 广告请求无效;例如,广告单元 ID 不正确。

  3. 错误代码 2:ERROR_CODE_NETWORK_ERROR 广告请求成功,但由于广告资源不足,没有返回广告。

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

于 2021-01-21T05:34:01.700 回答