在活动onResume()上显示Admob非页内广告

时间:2018-11-08 11:03:52

标签: android admob interstitial

我正在以静态方式在Activity的onCreate()方法和onResume()方法中加载广告。我会在3-4个间隔后展示广告。

  1. 在活动onResume()上展示插页式广告是否违反Google Admob的政策?

  2. 我看过this文章,其中说:不要在应用程序负载中放置插页式广告,但不确定是否会破坏它。是我吗?

  3. 如果用户在使用应用程序时接到电话,当他挂断电话时,将再次呼叫onResume()。因此,它可能会显示插页式广告。我是否违反法律:用户应该清楚广告与哪个应用相关联或在哪个应用上实现,并提到here

给出了我的代码的简化版本:

AdmobInterstitial.java

public class AdmobInterstitial {

private static InterstitialAd mInterstitialAd;

public static InterstitialAd getInterstitial(final Context context) {
    if(mInterstitialAd==null)
    {
        final AdRequest adRequest= new AdRequest.Builder()
            .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
            .build();

        mInterstitialAd = new InterstitialAd(context.getApplicationContext());
        mInterstitialAd.setAdUnitId(Utility.INTERSTITIAL);
        mInterstitialAd.setAdListener(new AdListener() {
            @Override
            public void onAdClosed() {

                mInterstitialAd.loadAd(adRequest);

            }

        });

        mInterstitialAd.loadAd(adRequest);
    }
    return mInterstitialAd;
}



public static void counter(Application app, ShowAdInterface mmActivity)
{
    SharedPreferences pref = app.getSharedPreferences(Utility.SHARED_PREF_NAME , MODE_PRIVATE);
    SharedPreferences.Editor editor = pref.edit();
    int my_counter=pref.getInt("banner_count",0);

    if(my_counter>0&& my_counter%3==0) {
        if(!mmActivity.showAd()) {
            my_counter--;
        }
    }

    my_counter++;
    editor.putInt("banner_count",my_counter);
    editor.apply();
}

}

ShowAdInterface

public interface ShowAdInterface {
    public boolean showAd();
}

MainActivity.java

public class MainActivity extends AppCompatActivity implements ShowAdInterface{

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

    mInterstitialAd= AdmobInterstitial.getInterstitial(this);
}

@Override
protected void onResume() {
    super.onResume();
    AdmobInterstitial.counter(getApplication(),this);
}
}

2 个答案:

答案 0 :(得分:1)

多年以来,我一直在许多应用程序中使用这种方法和技术。偶尔,每半年,我会收到一封来自Google admob的邮件,内容涉及他们不喜欢的小事情。我通常等待这种情况发生,然后采取行动,因为他们不仅禁止您,他们还会先问您。因此,请对此做出回应。

无论如何,关于您的问题:请始终在应用加载时加载广告,并以不会产生“意外”点击的方式展示广告。这是Google最讨厌的东西,因此您将在这里自动检测并收到一封更改邮件。它确实取决于您的应用程序。如果您看到广告加载正常,而没有任何人意外点击它们,那一切都很好。因此,您的代码可能没问题,但是调试将给出有限的答案!祝你好运!

答案 1 :(得分:1)

我认为还可以。除非您没有收到用户的意外点击,否则您还是可以这么做的。我们正在onResume()上加载广告,但到目前为止没有发现任何问题。