Баннерная реклама не загружается, если видимость установлена ​​на НЕВИДИМ.

Я пытаюсь добавить баннерную рекламу в мою игру. Я могу показывать рекламу под нагрузкой, но проблема в том, что я делаю объект Adview невидимым, а не загружаю его в фоновом режиме. Объявления загружаются только в том случае, если для параметра Видимость объекта Adview установлено значение "Невидимый", но для моей игры я должен показывать рекламу на экране выхода.

заранее спасибо

Код:

public void initAds()
    {
        rect_layout = (FrameLayout) findViewById(R.id.rectangleView);
        banner_layout  = (LinearLayout) findViewById(R.id.bannerView);

        banner_ad = new AdView(_activity);
        banner_ad.setAdUnitId(BANNER_AD_ID);
        banner_ad.setAdSize(AdSize.SMART_BANNER);
        AdRequest adRequestBanner = new AdRequest.Builder().build();
        banner_ad.loadAd(adRequestBanner);
        banner_layout.addView(banner_ad);

        rect_ad =  new AdView(_activity);
        rect_ad.setAdUnitId(RECTANGLE_AD_ID);
        rect_ad.setAdSize(AdSize.MEDIUM_RECTANGLE);
        AdRequest adRequestRectangle = new AdRequest.Builder().build();
        rect_ad.loadAd(adRequestRectangle);
        rect_layout.addView(rect_ad);

        rect_ad.setAdListener(new AdListener() {
            @Override
            public void onAdClosed() {
                super.onAdClosed();
            }

            @Override
            public void onAdFailedToLoad(int errorCode) {
                super.onAdFailedToLoad(errorCode);
            }

            @Override
            public void onAdLeftApplication() {
                super.onAdLeftApplication();
            }

            @Override
            public void onAdOpened() {
                super.onAdOpened();
            }

            @Override
            public void onAdLoaded() {
                super.onAdLoaded();
                //rect_layout.setVisibility(View.INVISIBLE);
            }
        });
        //rect_layout.setAlpha(0);

    }
//Rectangular ad
    public static void showRectangularAd(final String _show)
    {

        _activity.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                if(Boolean.parseBoolean(_show))
                {
                    _activity.rect_layout.setVisibility(View.VISIBLE);
                    //_activity.rect_layout.setAlpha(1);
                    Log.d(TAG, "Set to visible");
                }

                else
                {
                    _activity.rect_layout.setVisibility(View.INVISIBLE);
                    //_activity.rect_layout.setAlpha(0);
                    Log.d(TAG, "Set to invisible");
                }
            }
        });
    }

1 ответ

Прежде всего, вы не можете загрузить объявление, когда оно находится в невидимом состоянии. На самом деле Google отслеживает видимость вашего объявления и загружает в него только объявления.

Поэтому вы должны держать объявление видимым, чтобы оно загружалось.

Вы можете сделать что-то вроде этого. Заставьте пользователя подождать, пока загрузка рекламы не завершится. (Показывать кнопку выхода только в том случае, если рекламное объявление завершено, когда оно станет видимым).

Другие вопросы по тегам