2016-03-12 113 views
0

我正在嘗試在我的應用中整合Admob SmartBanner和插頁式廣告。 SmartBanner工作正常,但插頁式廣告未加載。Admob插頁式廣告未在Android中的片段中加載

在同一個應用程序中集成admob banner + interstitial add的正確代碼是什麼?

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View rootView = inflater.inflate(R.layout.fragment_home, container, false); 
    //------------------------------------------------------------------------------------------ 
    AdView mAdView = (AdView) rootView.findViewById(R.id.adView); 
    final AdRequest.Builder request = new AdRequest.Builder() 
      .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)  // All emulators 
      .addTestDevice("1E085E6103A6876F42FC5183C73D98CB");//genymotion galaxy s5 4.4.4 
    mAdView.loadAd(request.build()); 

    mInterstitialAd = new InterstitialAd(getActivity()); 
    mInterstitialAd.setAdUnitId(String.valueOf(R.string.banner_ad_unit_id));//("ca-app-pub-5059726881726792/4446999064"); 

    //final AdRequest.Builder adRequestBuilder = new AdRequest.Builder(); 
    //adRequestBuilder.addTestDevice("1E085E6103A6876F42FC5183C73D98CB")//genymotion galaxy s5 4.4.4 
    //  .addTestDevice("0B80CC732BD7E24CF42938649A17A7DA");//s3 
    mInterstitialAd.setAdListener(new AdListener() { 
     @Override 
     public void onAdLoaded() { 
      super.onAdLoaded(); 
     } 
     @Override 
     public void onAdClosed() { 
      super.onAdClosed(); 
      mInterstitialAd.loadAd(request.build()); 
     } 
    }); 
    mInterstitialAd.loadAd(request.build()); 
    if (mInterstitialAd.isLoaded()) { 
     mInterstitialAd.show(); 
    } 

回答

1

從您的代碼中,您可以在加載後顯示插頁式廣告。

廣告在請求/加載後會出現延遲(延遲)問題。

因此,如果廣告尚未加載,則無法展示您的廣告。理想情況下,您應該在應用中的自然中斷點展示插頁式廣告。示例:從一個活動轉換到另一個活動時。但是,您可以修改代碼,您#onCreateView顯示通過#onAdLoaded廣告是這樣的:

 @Override 
     public void onAdLoaded() { 
      super.onAdLoaded(); 
     if (mInterstitialAd.isLoaded()) 
     mInterstitialAd.show(); 
     } 
+0

它爲我用'com.google.android.gms:發揮服務的廣告:11.0。 4' –