2017-07-11 23 views
0

ユーザーが初めてアプリを終了しようとするたびにAdmob広告を表示すると、Admob広告が完全に読み込まれない場合がありますユーザーが既に他のものを使用しているときに表示される可能性があります。これは良いユーザーエクスペリエンスを提供せず、AdMob広告を使用するための条件セットのGoogleとは異なる場合もあります。Admobインタースティシャル広告の読み込みを待機する

フリータイムでは、アプリが読み込み中であることを確認してからアプリを少し待ってから、追加をロードし続けることを期待して、前のコードを実行しようとしました。

  while (interstitialAds.isLoading()) 
      { 
       try 
       { 
        Thread.sleep(10); 
       } 
       catch (InterruptedException e) 
       { 
        e.printStackTrace(); 
       } 
      } 

しかし、それだけでwhileループのCPU全体を使用し続けます。

広告がまだ読み込まれている場合にコードを作成する方法については、読み込まれるまで待つ必要がありますか?

+0

はあなたを与えることです地獄の最悪の場所への無料チケット –

+0

ユーザーイベントのインタースティシャル広告を読み込まず、プリロードされた広告のみを表示 – Aryan

+0

@Abhishek Aryan、最初から広告の読み込みが開始されますが、あなたはアプリでは、広告がまだ読み込まれていない場合にユーザーが終了しようとするとアプリが完全に読み込まれて表示されるのを待ちます。 – user2638180

答えて

0

ドキュメントに記載されているようにのonCreateメソッドで広告をロードします。

import com.google.android.gms.ads.AdRequest; 
import com.google.android.gms.ads.AdView; 
// ... 

public class MainActivity extends AppCompatActivity { 

    private static final String TAG = "MainActivity"; 

    private InterstitialAd mInterstitialAd;;; 
    // ... 

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

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

をあなたはまたAdListenerを使用することができます。あなたがやっているようにしばらくの睡眠を呼び出す

mInterstitialAd.setAdListener(new AdListener() { 
    @Override 
     public void onAdLoaded() { 
      // Code to be executed when an ad finishes loading. 
      Log.i("Ads", "onAdLoaded"); 
     } 
    }); 
+0

私は既にそれをやっていますが、ユーザーがアプリを終了したいときにインタースティシャル広告が完全に読み込まれない可能性があるため、広告がまだ読み込まれていないとアプリを終了させたくありません。 – user2638180

+0

@ user2638180あなたがプレイストアのToSに違反して欲しいと思うものがあります。通常、広告は少なくとも前回のテストでは最大10秒間ロードされます。ユーザがその時間にあなたのアプリにとどまると、広告が読み込まれます。 – Bostrot

関連する問題