Внутренняя реклама не загружается - PullRequest
0 голосов
/ 24 августа 2018

Хорошо, это неудобно, но я пытался загрузить рекламное объявление, и оно просто не загружается, и я не понимаю, почему даже logcat ничего не говорит.Я использовал один и тот же код в двух действиях и, очевидно, я использую тестер здесь.Поэтому, когда я нажимаю на RelativeLayout, он отображает рекламу.Проблема в том, что он отображается в одном действии с тестером, а в другом - нет.

Вот что я попробовал.

    mInterstitialAd = new InterstitialAd(this);
    mInterstitialAd.setAdUnitId("ad-id");
    mInterstitialAd.loadAd(new AdRequest.Builder().build());
layoutSaved.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (mInterstitialAd.isLoaded()) {
                mInterstitialAd.show();
            } else {
                Log.d(TAG, "The interstitial wasn't loaded yet.");
            }
        }
    });

Попытался с помощью AdListener Toast сообщение, чтобы проверить, загружено ли оно, и загружается ли объявление, но не открывается.

PS : Стоит отметить, что я получаю эту ошибку в logcat, но все работает отлично E/RecyclerView: No adapter attached; skipping layout, и я попробовал эти решения решение 1 и решение 2 , но честноЯ не думаю, что это вызовет какие-либо проблемы (или это будет?)

Ответы [ 2 ]

0 голосов
/ 25 августа 2018

Я не могу поверить, что это сработало после установки моего RecyclerView layout_height на "wrap_content".

Так вот, что я сделал в своем XML-файле.

<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/toolbar">

Я использовал прослушиватель щелчка макета, и этот макет обернул RecyclerView и другие представления.Поскольку для него было установлено значение match_parent, щелчок макета не был распознан, так как просмотр макулатуры заполнял макет, хотя он был пустым.Я считаю, что это может быть проблемой.Надеюсь, это поможет кому-то в будущем :)

0 голосов
/ 24 августа 2018

Существует множество причин этой проблемы, но обязательно используйте последнюю версию библиотеки 15.0.1

также установите AdListener как показано ниже

interstitialAd.setAdListener(new AdListener() {
        @Override
        public void onAdClosed() {
            interstitialAd.loadAd(adRequest);
            super.onAdClosed();
        }

        @Override
        public void onAdFailedToLoad(int i) {
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    interstitialAd.loadAd(adRequest);
                }
            }, 60000);
            super.onAdFailedToLoad(i);
        }
    });

Для показа объявления используйте код ниже

if (interstitialAd != null && interstitialAd.isLoaded()) {
    interstitialAd.show();
} else {
    assert interstitialAd != null;
    interstitialAd.loadAd(adRequest);
}
...