【问题标题】:Showing Admob Interstitial ads on Activity onResume()在 Activity onResume() 上显示 Admob 插页式广告
【发布时间】:2019-04-11 21:13:41
【问题描述】:

如果尚未加载,我正在 Activity 的 onCreate() 方法和 onResume() 方法上以静态方式加载广告。我在 3-4 间隔后展示广告。

  1. 在 Activity 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();
}

}

显示广告界面

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);
}
}

【问题讨论】:

    标签: android admob interstitial


    【解决方案1】:

    多年来,我一直在我的许多应用程序中使用这种方法和技术。偶尔,每隔半年,我就会收到一封来自 google admob 的邮件,内容是关于他们不喜欢的一件小事。我通常等待这种情况发生然后采取行动,因为他们不只是禁止你,他们会先很好地询问你。所以就回应一下吧。

    无论如何,关于您的问题:始终在应用加载时加载广告并以不会产生“意外”点击的方式展示广告。这是谷歌最讨厌的,所以在这里你会被自动检测到并收到一封邮件来改变它。这真的取决于你的应用程序。如果您看到广告加载很好,没有任何人不小心点击它们,那一切都很好。所以你的代码可能没问题,但调试会给出一个有限的答案!祝你好运!

    【讨论】:

      【解决方案2】:

      我觉得没问题。除非您没有从用户那里获得任何意外点击,否则您一切顺利。我们正在 onResume() 加载广告,到目前为止我们没有发现任何问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多