2017-03-08 14 views
0

アプリでインタースティシャル広告が表示され、インターネットの速度が遅いためにアプリが終了した後に表示されることがあります。アプリが終了した後にインタースティシャル広告を表示すると、admobルールに違反します。アプリが閉鎖された後にインタースティシャル広告の広告が表示されないようにするにはどうすればよいですか?アプリの終了後に表示されるインタースティシャル広告を停止するにはどうすればよいですか?

あなたは活動終了または(アプリケーションの終了)に広告を破壊する必要が

public class des extends AppCompatActivity { 
 

 
    ImageButton imageView15; 
 
    InterstitialAd mInterstitialAd; 
 
    private InterstitialAd interstitial; 
 

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

 
     AdView mAdView = (AdView) findViewById(R.id.AdView); 
 
     AdRequest adRequest = new AdRequest.Builder().build(); 
 
     mAdView.loadAd(adRequest); 
 

 
        // Prepare the Interstitial Ad 
 
     interstitial = new InterstitialAd(des.this); 
 
// Insert the Ad Unit ID 
 
     interstitial.setAdUnitId(getString(R.string.intertitial_id)); 
 

 
     interstitial.loadAd(adRequest); 
 
// Prepare an Interstitial Ad Listener 
 
     interstitial.setAdListener(new AdListener() { 
 
      public void onAdLoaded() { 
 
       // Call displayInterstitial() function 
 
       displayInterstitial(); 
 
      } 
 
     }); 
 

 

 
     imageView15 = (ImageButton) findViewById(R.id.imageView15); 
 
     imageView15.setOnClickListener(new View.OnClickListener() { 
 
      @Override 
 
      public void onClick(View v) { 
 
       Intent intentLoadNewActivity = new Intent(des.this,vid.class); 
 
       startActivity(intentLoadNewActivity); 
 
      } 
 
     }); 
 

 

 
    } 
 

 
    public void displayInterstitial() { 
 
// If Ads are loaded, show Interstitial else show nothing. 
 
     if (interstitial.isLoaded()) { 
 
      interstitial.show(); 
 
     } 
 
    } 
 

 

 
}

答えて

1

は、問題はあなたが追加表示されていることである。この

@Override 
public void onDestroy() 
{ 
    super.onDestroy(); 
    if (mInterstitialAd != null) { 
     mInterstitialAd.destroy(); 
    } 
} 
+0

あなたはonDestroyで私のJavaコードを編集することができます任意のサービスクラスを含んでいないとしてイムそのないしようとしたときので、()限り、あなたのアプリケーションを終了したい時はいつでもsystem.exit(0);破壊ワードを処理すると赤色に変わり、私はそれを修正する方法を知りませんalt + altを入力してアプリケーションを新規作成する –

+0

onDestroy()メソッドのショートカットキー(Ctrl + O)をオーバーライドする必要があります –

+0

ブロック –

2

を試してみてくださいOnAdLoadedはアドバイスされていません。これは、ユーザーが他の仕事をしているときに、不正な動作や傍受を引き起こします.ACあなたがそれがロードされているかどうかをチェックすることによってユーザーが影響を受けない時間にそれを表示する必要があります。 この方法では、ユーザーがあなたのアプリを使い終わった後で広告が表示されず、問題が解決されます。

0

アクティビティのライフサイクルを追跡して、アクティビティが広告を表示する前に実行されているかどうかを確認できます。

public void displayInterstitial() { 
    // If Ads are loaded and the activity is running, show Interstitial else show nothing. 
    if (isRunning && interstitial.isLoaded()) { 
     interstitial.show(); 
    } 
} 
:活動は、広告を表示する前に実行している

@Override 
protected void onStart() { 
    super.onStart(); 
    isRunning = true; 
} 

@Override 
protected void onStop() { 
    super.onStop(); 
    isRunning = false; 
} 
  • チェックした場合:

    private boolean isRunning; 
    
  • は、アクティビティのライフサイクルを追跡します:

    1. インスタンス変数を作成します。

  • +0

    それは働いた!ありがとう –

    0

    それとも、あなたが使用できます。ユーザーは、あなたのアプリが

    関連する問題