加载延迟的插页式广告

时间:2019-02-27 01:16:47

标签: java android admob ads

我正在尝试插入一个插页式广告,我希望它先加载,然后在应用程序中加载它,同时还要执行动作,这会导致延迟,并使广告在之后效果很好。我想在按下“ adicionar”后立即显示广告,如下图所示: enter image description here

以下代码显示了其实现方式:

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        mInterstitialAd = new InterstitialAd(this);
        mInterstitialAd.setAdUnitId("ca-app-pub-8920922366585510/4181958830");
        mInterstitialAd.loadAd(new AdRequest.Builder().build());
        if (requestCode == ADD_PACK) {
            if (resultCode == Activity.RESULT_CANCELED) {
                if (data != null) {
                    final String validationError = data.getStringExtra("validation_error");
                    if (validationError != null) {
                        if (BuildConfig.DEBUG) {
                            //validation error should be shown to developer only, not users.
                            MessageDialogFragment.newInstance(R.string.title_validation_error, validationError).show(getSupportFragmentManager(), "validation error");
                        }
                        Log.e(TAG, "Validation failed:" + validationError);
                    }
                } else {
                    new StickerPackNotAddedMessageFragment().show(getSupportFragmentManager(), "sticker_pack_not_added");
                }
            }
        }
        mInterstitialAd.setAdListener(new AdListener() {
            @Override
            public void onAdLoaded()  {
                mInterstitialAd.show();
            }
        });
    }

我尝试在这些代码之前加载该呼叫,但之前无法加载。

            mInterstitialAd = new InterstitialAd(this);
            mInterstitialAd.setAdUnitId("ca-app-pub-8920922366585510/4181958830");
            mInterstitialAd.loadAd(new AdRequest.Builder().build());

该应用程序是一个开源github,如果要下载以查看完整的代码和帮助,请点击下面的链接:DOWNLOAD COMPLETE CODE

2 个答案:

答案 0 :(得分:0)

将以下内容放入您的onCreate方法中:

mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-8920922366585510/4181958830");
mInterstitialAd.loadAd(new AdRequest.Builder().build());

然后将以下内容放入您的onActivityResult

if(mInterstitialAd.isLoaded()) {
   mInterstitialAd.show();
}

答案 1 :(得分:0)

我遇到了同样的问题,当然我也不想在创建活动时加载广告,因此我决定在对话框打开的同时加载广告,并禁用“ adicionar”按钮。广告已加载,然后启用按钮。

我还决定添加描述以等待按钮启用。

这可能不是您要寻找的解决方案,但至少在数据加载方面是最理想的。希望对您有帮助!