2017-07-02 5 views
0

ボタンを押すたびにAdmobインタースティシャル広告を表示する方法を知りたいと思います。インタースティシャル広告を表示することはできましたが、初めてボタンを押したときにのみ表示されます。ここに私のコードです:ボタンをクリックするたびにAdmobインタースティシャルを表示するにはどうすればよいですか?

package hamza.gforx.com.guforx; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import com.google.android.gms.ads.AdRequest; 
import com.google.android.gms.ads.AdView; 
import com.google.android.gms.ads.InterstitialAd; 
import com.google.android.gms.ads.AdListener; 



    public class MainActivity extends AppCompatActivity { 
    // "ca-app-pub-3940256099942544/1033173712" 
    InterstitialAd mInterstitialAd; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    mInterstitialAd = new InterstitialAd(this); 

    // set the ad unit ID 
    mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712"); 

    AdRequest adRequest = new AdRequest.Builder().build(); 

    // Load ads into Interstitial Ads 
     mInterstitialAd.loadAd(adRequest); 


     mInterstitialAd.setAdListener(new AdListener() { 

     @Override 
     public void onAdClosed() { 
      super.onAdClosed(); 
     } 

     @Override 
     public void onAdFailedToLoad(int i) { 
      super.onAdFailedToLoad(i); 
     } 

     @Override 
     public void onAdLeftApplication() { 
      super.onAdLeftApplication(); 
     } 

     @Override 
     public void onAdOpened() { 
      super.onAdOpened(); 
     } 

     public void onAdLoaded() { 
      if (mInterstitialAd.isLoaded()) { 
      } 
      } 
     }); 
    } 



    public void onButtonClick(View v) { 
    if (mInterstitialAd.isLoaded()) { 
     mInterstitialAd.show(); 
    } 
    if (v.getId() == R.id.Bdisplay) ; 
    { 
     Intent i =new Intent(MainActivity.this, Display.class); 
     startActivity(i); 
    } 

    } 


     public void onButton1(View v1) { 
      if (mInterstitialAd.isLoaded()) { 
       mInterstitialAd.show(); 
      } 
      if (v1.getId() == R.id.Button1) ; 
      { 
      Intent o =new Intent(MainActivity.this, Page.class); 
      startActivity(o); 
      } 

     } 


    public void onButton2(View v2) { 
    if (v2.getId() == R.id.Button2) ; 
    { 
     Intent q =new Intent(MainActivity.this, Page2.class); 
     startActivity(q); 
    } 
    if (mInterstitialAd.isLoaded()) { 
     mInterstitialAd.show(); 
    } 

    } 

} 

ありがとうございます。

答えて

0

次の表示のために広告を閉じるたびにloadIntersitialAdをロードする必要がありますので、onAdClosed()メソッドの中でloadIntersitialAd()を呼び出してください。

mInterstitialAd.setAdListener(new AdListener() { 

    @Override 
    public void onAdClosed() { 
     loadIntersitialAd(); 
    } 

    @Override 
    public void onAdFailedToLoad(int i) { 

    } 

    @Override 
    public void onAdLeftApplication() { 

    } 

    @Override 
    public void onAdOpened() { 

    } 

    public void onAdLoaded() { 

    } 
    }); 

private void loadIntersitialAd(){ 

    AdRequest interstitialRequest = new AdRequest.Builder().build(); 
    mInterstitialAd.loadAd(interstitialRequest); 
} 
0

毎回広告が読み込まれるようにしてください(mInterstitialAd.loadAd(adRequest))。

ボタンを押したときにまだ広告が読み込まれていない可能性もあります。そのため、表示されません。

0

広告は、表示されるたびに読み込む必要があります。表示する前に十分な時間をロードできるようにするには、onAdClosed()コールバックで広告を再ロード(表示しない)することをお勧めします。

関連する問題