2016-06-22 10 views
0

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

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

Код:

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"); 
       } 
      } 
     }); 
    } 

ответ

0

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

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

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

+0

Okay Большое спасибо за ответ, проблема решена. –

+0

как вы это разрешили, поделитесь ответом на свой вопрос и отметьте его как ответ. @JaiSharma – HourGlass