应用启动时Admob interstitial

时间:2014-05-28 08:12:38

标签: android admob interstitial

我想在用户首次打开应用时或当用户导航到另一个应用(如浏览器)然后返回到我的应用时,会显示一个admob插页式广告。这是我目前的interstital广告代码,此代码完全包含在OnCreate方法中。

// Create the interstitial.
        interstitial = new InterstitialAd(this);
        interstitial.setAdUnitId("ca-app-pub-XXXXXXXXXXXXXXXX");

        // Create ad request.
        AdRequest adRequest2 = new AdRequest.Builder().build();

        // Begin loading your interstitial.
        interstitial.loadAd(adRequest2);

        interstitial.setAdListener(new AdListener() {

            @Override
            public void onAdLoaded() {
                if (interstitial.isLoaded()) {
                    interstitial.show();
                }

            }

        });

这似乎适用于大多数情况,但在某些设备上,这将创建一个插页式循环,在用户解散后2-3秒显示。其中一个有循环的设备是Galaxy Tab3。我似乎无法找到一种正确的方法来设置我的代码,以便这种行为不会发生在任何设备上。

2 个答案:

答案 0 :(得分:3)

使用以下代码在appstart时显示插页式广告。

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

interstitial = new InterstitialAd(this);
interstitial.setAdUnitId("***********");

AdRequest adRequest = new AdRequest.Builder().build();
interstitial.loadAd(adRequest);
interstitial.setAdListener(new AdListener() {
    public void onAdLoaded() {
        displayInterstitial();
    }
});
}

public void displayInterstitial() {
if (interstitial.isLoaded()) {
    interstitial.show();
}
}

答案 1 :(得分:1)

创建一个布尔变量来帮助它..

boolean ad_shown = false;

当你执行.show()时,将变量设置为true。

别忘了在if

上放一个警卫
if (interstitial.isLoaded() && !ad_shown) {