为什么"没有从广告服务器填充.无法加载广告:3"停止广告请求?

App*_*evo 10 android admob firebase

我已经实现了firebase广告,例如:

 @Override
 public void onCreate(Bundle savedInstanceState) {
     (...)
     mAdView.loadAd(adRequestBuilder.build());

 }

 @Override
 public void onResume() {
     mAdView.resume();
 }

 @Override
 public void onPause() {
     mAdView.pause();

 }

 @Override
 public void onDestroy() {
     mAdView.destroy();
 }
Run Code Online (Sandbox Code Playgroud)

如果广告由于没有Internet连接而成功加载或失败(errorCode 2),它仍将被刷新:

我/广告:从现在起安排广告刷新60000毫秒.

当我们去背景然后前景(mAdView.resume(),mAdView.pause())时我们得到的相同消息.

但如果我们得到"没有填补"

广告服务器无法填充.无法加载广告:3

firebase停止申请新广告.这意味着用户不会看到任何新广告(如果第一个请求以"无填充"结束,则甚至不会看到第一个广告).此外,如果应用程序进入后台然后前景(mAdView.resume()正在调用),则仍然不会执行广告请求.这意味着"没有填充"的用户很长时间都看不到广告.这可以降低我的收入.

这是广告库的正确行为还是一个错误?如何解决这个问题?


更新

我有一个想法.移动mAdView.loadAd(adRequestBuilder.build())onCreate()onResume()法力,当用户来自于背景回来重新加载广告.

@Override
public void onResume() {
    if (!mAdView.isLoading())
        mAdView.loadAd(adRequestBuilder.build());
    mAdView.resume();
}
Run Code Online (Sandbox Code Playgroud)

有趣的是,大量的测试后,调用mAdView.loadAd(adRequestBuilder.build())No fill from ad server. Failed to load ad: 3的力量重新加载广告(我得到的消息:Starting ad request.),但从来没有成功完成.我还是得到的No fill from ad server. Failed to load ad: 3.响应很快.我假设它来自某种本地缓存.

小智 0

解决了

问题是,如果您没有创建 app-ads.txt 文件并将其放置在可访问的域中,AdMob 将无法为您的应用 AdRequest 提供服务。

要解决此问题,请按照以下步骤操作:

  1. 转至https://apps.admob.com/v2/apps/appadstxt
  2. 复制“设置 app-ads.txt”对话框中的代码片段。
  3. 使用https://app-ads-txt.com创建您的 app-ads.txt 文件并将其放置在免费域中。
  4. 转到https://play.google.com/console/选择查看所有应用程序,选择不接收广告的应用程序。
  5. 转到商店设置页面,更新 store-listing-contact-details 部分中的网站网址,然后粘贴从 app-ads-txt.com 生成的网址。
  6. 您必须等待 24 小时左右,以便 Google 验证您的 Admob 帐户并开始为您的应用提供 AdRequests。