广告正在加载,但没有显示?

TL; DR:我的插页式广告已成功加载,但当我在其上调用.show()时,它们就不会显示!

我已按照这些说明操作 ,广告会成功加载,但在调用mInterstitialAd.show();时不会显示mInterstitialAd.show();

在onCreate()中:

  mInterstitialAd = new InterstitialAd(this); mInterstitialAd.setAdUnitId("My ID"); mInterstitialAd.setAdListener(new AdListener() { @Override public void onAdClosed() { requestNewInterstitial(); beginPlayingGame(); } }); requestNewInterstitial(); 

requestNewInterstitial()

  private void requestNewInterstitial() { AdRequest adRequest = new AdRequest.Builder() .addTestDevice("Phone's ID") .build(); mInterstitialAd.loadAd(adRequest); } 

这是问题所在:

  public void tryAgain(View v) { if (mInterstitialAd.isLoaded()) { mInterstitialAd.show(); Log.v(TAG, "LOADED in Game Over!"); } else { beginPlayingGame(); } beginPlayingGame(); } 

我得到日志说它已加载到我的日志猫中,但广告实际上并未显示! 为什么要加载,但没有显示?

PS我想我实际上已经让它早一点工作了,但从那以后它就停止了工作。 可能是什么问题呢?

请将.addTestDevice("SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID")添加到您的AdRequestBuilder

 AdRequest adRequest = new AdRequest.Builder() .addTestDevice("SEE_YOUR_LOGCAT_TO_GET_YOUR_DEVICE_ID") .build(); 

因为在开发步骤中,如果您在AdMob上提出过多请求,有时会开始不显示广告。 因此,在测试广告的开发过程中工作。 如果它没有任何问题,当您在Play商店发布应用时,您的用户也会毫无问题地看到您的广告

事实certificate,我只需要在else之后删除额外的方法调用。 例如,

 public void tryAgain(View v) { if (mInterstitialAd.isLoaded()) { mInterstitialAd.show(); Log.v(TAG, "LOADED in Game Over!"); } else { beginPlayingGame(); } beginPlayingGame(); } 

本来应该的

 public void tryAgain(View v) { if (mInterstitialAd.isLoaded()) { mInterstitialAd.show(); Log.v(TAG, "LOADED in Game Over!"); } else { beginPlayingGame(); } //NOTICE THERE Is NO EXTRA METHOD CALL OF **beginPlayingGame()** }