android - 在 Activity onResume() 上显示 Admob 插页式广告

标签 android admob interstitial

我正在 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);
}
}

最佳答案

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

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

关于android - 在 Activity onResume() 上显示 Admob 插页式广告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53206434/

相关文章:

android - 防止 AdView 为每个 Activity 重新创建自身

android - Admob 插播时间显示

iphone - iPhone 上的 iAds 插页式广告?

适用于 Objective-c 的 IOS Admob 插页式广告

android - Appium 与 Teamcity 集成

android - 为什么当我单击我的单选组中的不同单选按钮时,我的 onCheckedChanged 方法没有被触发?

android - 切换 Activity 时 AdMob 奖励视频中断

ios - 在一个 iOS 二进制文件中解析和 AdMob?

java - 尝试在空对象引用上调用虚拟方法 'android.content.Context.getResources()'

java - 我如何在 java 中实现 ExpandableListView(适用于 Android)来生成点击显示项?