1

我刚刚在 Play 商店中提交了我的一个应用程序的更新,并注意到该应用程序不再提供广告。我使用 AdMob 中介并将 Millennial Media 作为第二个广告来源。

通过 Android Studio 运行我的应用程序时,我可以在模拟器和我的 android 设备上看到广告(适用于 Millennial 媒体和 AdMob)。但是,当我生成一个签名的发布 APK 并将其安装在我的 android 设备上时,广告请求总是返回ERROR_CODE_NO_FILL

如果我先移除 Millennial Media 或使用 AdMob,那么我可以在我的制作应用中看到 AdMob 广告。所以看起来这是千禧年媒体的问题。

我的 Millennial Media 帐户看起来不错,而且我可以看到测试期间出现的广告的展示次数。所以我认为这可能是密钥库的问题,但是我不应该能够将更新发布到 Play 商店,对吧?

我也试过:

  • 将播放服务 api 从更新'com.google.android.gms:play-services:6.+''com.google.android.gms:play-services:7.+'
  • 执行最新的 android studio 更新
  • 清理和重建解决方案
  • 更新buildToolsVersion"22.0.1"
  • 更新compileSdkVersiontargetSdkVersion_22

很难调查,因为它是一个发布 APK,我得到的唯一信息是传递给该AdListener onAdFailedToLoad方法的整数错误代码。

我现在只是从广告中介中删除了 Millennial Media。但是,如果有人遇到过类似的问题,我将非常感谢您提供的任何帮助或建议。

4

1 回答 1

0

NO_FILL("广告请求成功,但由于广告资源不足,没有返回广告。")

您应该执行 if 语句以便在收到错误时执行其他操作。

它应该按原样工作,但是......

您需要在 if 中填写一些内容并将其放在调用 loadAd() 之前

    AdListener al = new AdListener() {
        @Override
        public void onAdFailedToLoad(int errorCode) {
            super.onAdFailedToLoad(errorCode);

            if (errorCode == AdRequest.ERROR_CODE_NO_FILL) {
                Log.e("", "AD ERROR: NO FILL");
                // Do something here when error is received

            }

        }
    };

    mAdView.setAdListener(al);

随意复制粘贴代码,它不像我在这里关心的那样。

于 2015-05-13T02:33:29.653 回答