2017-06-16 20 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(); 
    } 
} 

P.S.文字列とインターネット許可の両方が追加されます。

+0

ログを確認し、質問にアップロード –

+0

バナービューが追加されたxmlファイルを表示しますか?インタースティシャル広告のマニフェストファイルにアクティビティが入力されていることを確認してください。 – Aryan

答えて

0

インタースティシャル自体のonAdClosedイベントへの応答としてインタースティシャルを表示しようとしているようです。このイベントはユーザーが終了したらのコードを終了します。これはコードが現在の状態で実行されることはありません(インタースティシャル広告を閉じ、最初に表示する必要があります。コードには逆のことがあります)。

代わりに、ボタンの押下やアクティビティ間の遷移など、いくつかのUIイベントに応じてdisplayInterstitialメソッドを呼び出してみてください。

さらに、setListenerloadAdの前に呼び出すことをおすすめします。 AdListenerイベントの一部は読み込みに関連しているため、広告を読み込む前にイベントを生成することをお勧めします。

+0

私のプロジェクトをちょっと変更して新しく始めました。プロジェクト全体をインポートした後、「Google AdMob広告アクティビティ」を追加して、すべてのコードをメインアクティビティにコピーしました。しかし今は別の問題があります: 私は: //メニューを膨張させます。アクションバーが存在する場合、アクションバーに項目が追加されます。 getMenuInflater()。inflate(menu.menu、menu); がtrueを返します。 「メニュー」にエラーが表示されます。これは、式が予想されることを示しています。私は何をすべきか? –

+0

Android Studioがアクティビティに生成する広告アクティビティからコードを移動している場合は、あなたが含まれていないリソースもあります。メニューを持つことに興味がない場合は、いつでもそのコードを削除できます。それ以外の場合は、ここに新しい質問を掲載してみてください。だれかがおそらく問題を見つけられるでしょう。 :) – RedBrogdon

関連する問題