我刚刚在 Play 商店提交了我的一个应用程序的更新,发现该应用程序不再转换广告。我使用 AdMob 中介并将 Millennial Media 作为第二个广告来源。
通过 Android Studio 运行我的应用程序时,我能够在模拟器和我的 Android 设备(Millennial Media 和 AdMob)上看到广告。但是,当我生成签名版本 APK 并将其安装在我的 Android 设备上时,广告请求始终返回 ERROR_CODE_NO_FILL
。
如果我移除 Millennial Media 或先使用 AdMob,那么我可以在我的正式版应用中看到 AdMob 广告。所以看起来这是 Millennial Media 的问题。
我的 Millennial Media 帐户看起来很好,我可以看到在测试期间出现的广告的印象。所以我认为这可能是 keystore 的问题,但我不应该能够将更新发布到 Play 商店,对吗?
我也试过:
- 将播放服务 API 从
'com.google.android.gms:play-services:6.+'
更新为'com.google.android.gms:play-services: 7.+'
- 执行最新的 android studio 更新
- 清理和重建解决方案
- 将
buildToolsVersion
更新为"22.0.1"
- 更新
compileSdkVersion
和targetSdkVersion
到22
很难调查,因为它是一个发布 APK,我得到的唯一信息是传递到 AdListener
onAdFailedToLoad
方法的整数错误代码。
我现在只是从广告中介中删除了 Millennial Media。但是,如果有人遇到过类似的问题,我将非常感谢您提供的任何帮助或建议。
最佳答案
NO_FILL("广告请求成功,但由于广告库存不足,没有返回广告。")
您应该执行 if 语句,以便在收到错误时执行其他操作。
它应该按原样工作但是......
在调用 loadAd() 之前,您需要填写 if 并放入它
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);
随意复制粘贴代码,我不在乎这里。
关于Android:Millennial Media 的 AdMob 中介在发布 APK 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30204107/