2017-03-28 1 views
2

S'il vous plaît une aide Maintenant mon application est désactiver par AdMob en raison de mauvais code interstitielAGENCEMENT ENCOURAGE CLICS ACCIDENTELS - INTERSTITIELS ADS:

« annonces interstitielles qui charge de façon inattendue alors qu'un utilisateur visualise le contenu de l'application » .

quoi faire? S'il vous plaît quelqu'un me corriger ...

import android.os.Bundle; 
    import android.view.Window; 
    import android.view.WindowManager; 
    import android.support.v7.app.AppCompatActivity; 
    import android.webkit.WebSettings; 
    import android.webkit.WebView; 
    import android.webkit.WebViewClient; 

    import com.google.android.gms.ads.AdListener; 
    import com.google.android.gms.ads.AdRequest; 
    import com.google.android.gms.ads.AdView; 
    import com.google.android.gms.ads.InterstitialAd; 

    public class a2 extends AppCompatActivity { 

     AdView mAdView; 
     InterstitialAd mInterstitialAd; 
     WebView WebViewWithCSS; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
      setContentView(R.layout.activity_a2); 

      WebViewWithCSS = (WebView)findViewById(R.id.webView); 

      WebSettings webSetting = WebViewWithCSS.getSettings(); 
      webSetting.setJavaScriptEnabled(true); 

      WebViewWithCSS.setWebViewClient(new WebViewClient()); 
      WebViewWithCSS.loadUrl("file:///android_asset/2.html"); 

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

      mInterstitialAd = new InterstitialAd(this); 

      // set the ad unit ID 
      mInterstitialAd.setAdUnitId(getString(R.string.interstitial_full_screen)); 

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

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

      mInterstitialAd.setAdListener(new AdListener() { 
       public void onAdLoaded() { 
        showInterstitial(); 
       } 
      }); 
     } 

     @Override 
     public void onPause() { 
      if (mAdView != null) { 
       mAdView.pause(); 
      } 
      super.onPause(); 
     } 

     @Override 
     public void onResume() { 
      super.onResume(); 
      if (mAdView != null) { 
       mAdView.resume(); 
      } 
     } 

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


     private void showInterstitial() { 
      if (mInterstitialAd.isLoaded()) { 
       mInterstitialAd.show(); 
      } 
     } 
    } 
+0

Les interstitiels doivent apparaître entre les écrans de l'application. De cette façon, l'utilisateur s'attend à ce que quelque chose change et l'annonce d'ouverture ne le fera pas cliquer accidentellement (ce qu'il ne devrait pas faire selon les règles d'admob). Ici, vous chargez l'annonce et la montre quand elle est chargée. En fait, vous devriez charger l'annonceur et le montrer quand il est prêt et le moment est venu. Je crois que cela est dit dans les tutoriels. Si c'est votre premier écran, vous pouvez toujours garder l'utilisateur dans une sorte d'écran d'attente avant le chargement de l'annonce. – mhenryk

+0

Pourriez-vous partager le code pour cela? –

Répondre

1

de admobs possèdent guidelines

« Un problème commun est que même si vous l'intention de l'annonce à charger entre le contenu de la page, l'annonce elle-même apparaît peu après une nouvelle page de contenu a été chargée en raison de la latence du transporteur. "

Votre code montre l'interstitiel lorsqu'il a terminé le chargement - cela ne donnera aucun avertissement à l'utilisateur, il sera alors en train de regarder le webview et soudainement l'interstitiel apparaîtra. Pré-chargez-le et montrez-le lors d'une pause naturelle.

Vos appels de code showInterstitial() dans onAdLoaded() - il doit appeler mInterstitialAd.loadAd() avant que l'annonce soit nécessaire, et définir un indicateur pour indiquer qu'il est présent. Il peut ensuite appeler showInterstitial() avant de charger le webview et afficher l'affichage Web lorsque l'annonce interstitielle est fermée.

+0

Pourriez-vous s'il vous plaît corriger le et partager avec nous s'il vous plaît –