Баннерная реклама не загружается, если видимость установлена на НЕВИДИМ.
Я пытаюсь добавить баннерную рекламу в мою игру. Я могу показывать рекламу под нагрузкой, но проблема в том, что я делаю объект 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 отслеживает видимость вашего объявления и загружает в него только объявления.
Поэтому вы должны держать объявление видимым, чтобы оно загружалось.
Вы можете сделать что-то вроде этого. Заставьте пользователя подождать, пока загрузка рекламы не завершится. (Показывать кнопку выхода только в том случае, если рекламное объявление завершено, когда оно станет видимым).