Промежуточная реклама с задержкой загрузки - PullRequest
0 голосов
/ 27 февраля 2019

Я пытаюсь внедрить промежуточную рекламу, и я хотел бы, чтобы она загружалась раньше, в приложении она загружается вместе с действием, которое вызывает задержку и заставляет объявление появляться намного позже.Я хочу, чтобы объявление появлялось сразу после нажатия кнопки «adicionar», как показано на изображении ниже: введите описание изображения здесь

Приведенный ниже код показывает, как оно было реализовано:

@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 с открытым исходным кодом, ссылка ниже, если вы хотите скачать, чтобы увидетьполный код и справка: СКАЧАТЬ ПОЛНЫЙ КОД

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

У меня была такая же проблема, и, конечно, я не хотел загружать объявление о создании активности, поэтому я решил загрузить объявление в тот момент, когда открывается диалоговое окно, отключена ли кнопка «adicionar» и когдаобъявление было загружено, затем включите кнопку.

Я также решил добавить описание, чтобы дождаться включения кнопки.

Возможно, это не то решение, которое вы ищете, но по крайней мереявляется наиболее оптимальным по загрузке данных.Надеюсь, это поможет!

0 голосов
/ 27 февраля 2019

Добавьте следующее в ваш onCreate метод:

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

И добавьте следующее в onActivityResult:

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