我刚刚在Play商店中提交了我的某个应用程序的更新,并注意到该应用已不再投放广告。我使用AdMob调解并将Millennial Media作为第二个广告来源。
通过Android Studio运行我的应用时,我可以在模拟器和Android设备上看到广告(适用于Millennial媒体和AdMob)。但是,当我生成签名版本APK并在我的Android设备上安装时,广告请求始终返回ERROR_CODE_NO_FILL
。
如果我删除Millennial Media或首先使用AdMob,那么我可以在我的制作应用中看到AdMob广告。所以看起来这是Millennial Media的一个问题。
我的Millennial Media帐户看起来不错,我可以看到在测试期间展示的广告的展示次数。所以我认为它可能是密钥库的一个问题,但是我不应该能够将更新发布到Play商店吗?
我也试过了:
'com.google.android.gms:play-services:6.+'
更新为'com.google.android.gms:play-services:7.+'
buildToolsVersion
更新为"22.0.1"
compileSdkVersion
和targetSdkVersion
更新为22
很难调查,因为它是一个发布APK,我获得的唯一信息是传递给AdListener
onAdFailedToLoad
方法的整数错误代码。
我现在只是从广告调解中删除Millennial Media。但如果有人遇到过类似的问题,我真的很感激您提供的任何帮助或建议。
答案 0 :(得分:1)
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);
随意复制粘贴代码,这不像我在意这里。