【问题标题】:Interstitial ad with load delay具有加载延迟的插页式广告
【发布时间】:2019-02-27 14:07:42
【问题描述】:

我正在尝试实现一个插页式广告,并且我希望它在之前加载,在应用程序中它恰好与导致延迟并使广告在之后出现的动作一起加载。我想让广告在按下“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

【问题讨论】:

    标签: java android admob ads


    【解决方案1】:

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

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

    并将以下内容放入您的onActivityResult

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 你是怎么做到的?
      • 在我启动对话框的方法中,我也调用了广告的加载。我现在没有可用的代码,但它是这样的: - 创建带有禁用按钮的对话框。 - 加载广告。 - 启用按钮 onAdLoaded()。 - 点击按钮时打开广告
      • 我下周可以,希望还不算太晚。我会把它作为答案发布
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-30
      相关资源
      最近更新 更多