2017-06-16 86 views
0

我在嘗試添加插頁式廣告時遇到了一些問題。嘗試添加Admob插頁式廣告時出錯

Android Studio似乎沒有任何錯誤地接受我的代碼,但是當我打開我的應用程序時 - 只有一個空白頁面和廣告條(使用FireBase工具安裝)。如果我刪除了代碼,一切都會恢復正常。如果你能幫助我,我將不勝感激。

代碼:

package test.com.myapplication; 

import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import com.google.android.gms.ads.AdListener; 
import com.google.android.gms.ads.AdRequest; 
import com.google.android.gms.ads.InterstitialAd; 

public class MainActivity extends AppCompatActivity { 
InterstitialAd mInterstitialAd; 
private InterstitialAd interstitial; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    AdRequest adRequest=new AdRequest.Builder().build(); 
    //Prepare the interstitial Ad 
    interstitial=new InterstitialAd(MainActivity.this); 
    //Insert the add unit id 
    interstitial.setAdUnitId(getString(R.string.admob_interstitial_id)); 
    interstitial.loadAd(adRequest); 
    //prepare an interstitial ad listeners 
    interstitial.setAdListener(new AdListener() { 


     @Override 
     public void onAdClosed() { 
      //Call displayfunction 
      displayInterstitial(); 
     } 
    }); 

} 
public void displayInterstitial(){ 
    //if ads are loaded, show interstitial ads 
    if (interstitial.isLoaded()) 
    { 
     interstitial.show(); 
    } 
} 

附:字符串和互聯網權限都被添加。

+0

檢查你的日誌,並在你的問題上傳 –

+0

顯示你的橫幅視圖添加的XML文件?並確保您已經在非頁內廣告的清單文件中輸入了活動條目 – Aryan

回答

0

看起來您正嘗試顯示您的插頁式廣告,以響應插頁式廣告本身的onAdClosed事件。當用戶關閉廣告時,會觸發該事件,這意味着您的代碼現在處於停用狀態,永遠不會有機會執行(爲了讓插頁式廣告被關閉,必須先顯示該廣告,並且您的代碼有相反的方式)。

請嘗試調用您的displayInterstitial方法來響應某些UI事件,例如按下按鈕,或者在活動之間進行切換或類似操作。

此外,我建議在loadAd之前撥打setListener。部分AdListener事件與加載有關,因此最好在發出加載廣告的電話之前將其加入。

+0

我改變了一下我的項目並重新開始。導入完整項目後,我添加了「Google AdMob Ads Activity」,並將所有代碼複製到我的主要活動中。但現在有另一個問題: 當我把: //膨脹菜單;這會將項目添加到操作欄(如果存在)。 getMenuInflater()。inflate(R.menu.menu_main,menu); 返回true; 我在「菜單」上出現錯誤 - 它告訴我表達式是預期的。我該怎麼辦? –

+0

如果您將代碼從Android Studio生成的Ads Activity移動到您的Activity中,它可能需要一些您還未包含的資源。如果您對有菜單不感興趣,您可以隨時刪除該代碼。否則,請嘗試在代碼中發佈新問題,並且有人可能會發現問題。 :) – RedBrogdon