2017-06-12 16 views
0

私のアプリにインタースティシャル機能を追加すると効果的ですが、ユーザーがポートレートからランドスケープにスワイプすると広告が再び表示されるという問題があります。因果関係を示す広告は、Googleのルールを破ります。Admob Interstitalを公開アプリに表示

インタースティシャル広告はアプリの公開時にのみ設定できますか? これは私の単純なコードの広告暴徒コード

Admob code image

+0

このような向きの変化の状況は、あなたの活動を再現します。この向きの変更を処理する必要があります –

+1

あなたのアクティビティはadmobではなく、向きの変更を処理する必要があります。また、アプリの開始時にインタースティシャル広告を表示することは許可されていません。このリンクを参照してくださいhttps://support.google.com/admob/answer/6201362?hl=ja –

答えて

0

あなたは広告が表示された回数をカウントする変数を作成することができます。インタースティシャル広告の表示

int counter = 0;

:変数の宣言

:それはこのようになります。この他に

if (counter == 0 && intersitial.isLoaded()) { 
    interstitial.show(); 
    counter++; 
} else { 
    AdRequest interstitialRequest = new AdRequest.Builder().build(); 
    interstitial.loadAd(interstitialRequest); 
} 

を、あなたはにandroid:configChanges="orientation|screenSize"を追加しようとすることができますあなたのAndroidManifest.xmlこれにより、向きを変更するときにアプリが再起動されなくなります。

0

これを試してみてください -

マニフェストファイル -

android:configChanges="keyboardHidden|orientation|screenSize"> 

活動ファイルを(すべての3つのパラメータは、姿勢の変化を処理するために必要とされる) -

boolean isFirstTimeAdLoading = true; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_rotate); 
     Log.e(TAG, "onCreate()"); 
     if(isFirstTimeAdLoading) 
     { 
      // load ad 
      Log.e(TAG, "Ad Loaded for First Time"); 
      // TODO : Call your Ad Loading Method here 


      // mark ad as 'already loaded once' 
      isFirstTimeAdLoading = false; 
     } 

    } 

    @Override 
    protected void onStart() { 
     super.onStart(); 
     Log.e(TAG, "onStart()"); 
    } 

    @Override 
    public void onConfigurationChanged(Configuration newConfig) { 
     super.onConfigurationChanged(newConfig); 
     Log.e(TAG, "onConfigurationChanged()"); 
     Log.e(TAG, "isFirstTimeAdLoading = " + isFirstTimeAdLoading); 
    } 

ログ -

06-12 14:44:15.900 11541-11541/com.example.futech.stackoverflowsamples E/RotateActivity: onCreate() 
06-12 14:44:15.900 11541-11541/com.example.futech.stackoverflowsamples E/RotateActivity: Ad Loaded for First Time 
06-12 14:44:15.900 11541-11541/com.example.futech.stackoverflowsamples E/RotateActivity: onStart() 
06-12 14:44:24.320 11541-11541/com.example.futech.stackoverflowsamples E/RotateActivity: onConfigurationChanged() 
06-12 14:44:24.320 11541-11541/com.example.futech.stackoverflowsamples E/RotateActivity: isFirstTimeAdLoading = false 
06-12 14:44:26.070 11541-11541/com.example.futech.stackoverflowsamples E/RotateActivity: onConfigurationChanged() 
06-12 14:44:26.070 11541-11541/com.example.futech.stackoverflowsamples E/RotateActivity: isFirstTimeAdLoading = false 
06-12 14:44:27.880 11541-11541/com.example.futech.stackoverflowsamples E/RotateActivity: onConfigurationChanged() 
06-12 14:44:27.880 11541-11541/com.example.futech.stackoverflowsamples E/RotateActivity: isFirstTimeAdLoading = false 

あなたはログが表示された場合、あなたはonCreateは一度だけ呼び出されることを知っており、毎回その後の向きの変更よ、が呼び出され、これにより、活動が毎回あなたに再作成されていません画面を回転させます(最初のローディング後にデバイスを3回回転させました)。

0

非常に簡単に、に表示されます。onAdLoadedに表示されます。これがあなたの痛みの原因です。また、あなたが風景に回転するかどうかにかかわらず、AdMobのポリシーに違反しています。

あなたのアプリの自然なブレークポイントに広告を表示する必要があります。

+0

こんにちは、どうもありがとうコードですか? – user3057363

関連する問題