您沒有為interstitialAd調用loadAd().廣告插播廣告應在您展示廣告之前加載.
interstitialAd.loadAd(adRequest);
你也應該在調用show()之前檢查它是否已加載.它可能無法立即使用,您可能希望在調用show之前提前加載它.
if(mInterstitial.isLoaded()){
mInterstitial.show();
AdRequest adRequest = new AdRequest.Builder().build();
mInterstitial.loadAd(adRequest); //optionally load again if you plan to show another one
}
可能的實施(改變它以滿足您的要求)
所以基本上以下內容可以進入onCreate()
interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId(getString(R.string.ad_banner_id));
AdRequest adRequest = new AdRequest.Builder().build();
interstitialAd.loadAd(adRequest);
Toast.makeText(this, "Ad will load", Toast.LENGTH_SHORT).show();
和showInterstitial()成為這個
private void showInterstitial() {
if(mInterstitial.isLoaded()){
mInterstitial.show();
//optionally load again if you plan to show another one later
AdRequest adRequest = new AdRequest.Builder().build();
mInterstitial.loadAd(adRequest);
}
}
注意:如果要顯示插頁式廣告,請調用showInterstitial().但是,在調用loadAd()之后不是立即.如果網絡延遲或廣告內容比正常情況重,則需要花費一些時間才能加載整個廣告,如果網絡延遲,您可能會錯過一小段時間.