2017-06-19 14 views
0

私はthis libraryが見つかりました。私の本はすべて作成されました。私はちょうどinterstitial admobを追加して30秒ごとに表示したいと思いますが、ハンドラのrunnableで試しましたが、 1回だけ表示する。pdstライブラリにインタースティシャルを追加

mInterstitialAd = new InterstitialAd(this); 
mInterstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712"); 
mInterstitialAd.loadAd(new AdRequest.Builder().build()); 
handler = new Handler(); 

final Runnable r = new Runnable() { 
    public void run() { 
     if (mInterstitialAd.isLoaded()) { 
      mInterstitialAd.show(); 
     } 
     handler.postDelayed(this, 1000); 
    } 
}; 
handler.postDelayed(r, 1000); 

答えて

0

ScheduledExecutorServiceを使用して、定期的な操作をスケジュールできます。

mInterstitialAd.setAdListener(new AdListener() { 
     public void onAdLoaded() { 
      // don't show Ad here 
     } 

     @Override 
     public void onAdClosed() { 
      createRequest(); //load request whenever ad closed by user 
     } 
    }); 
createRequest(); 
ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); 
scheduler.scheduleAtFixedRate(new Runnable() { 
      public void run() { 

        runOnUiThread(new Runnable() { 
         @Override 
         public void run() { 
          if (mInterstitialAd.isLoaded()) 
           mInterstitialAd.show(); 
          else 
           createRequest(); 
         } 
        }); 
      } 
     }, 30, 30, TimeUnit.SECONDS); 

そしてcreateRequest()方法

public void createRequest(){ 

    AdRequest adRequest = new AdRequest.Builder().build(); 
    mInterstitialAd.loadAd(adRequest); 
} 
関連する問題