2014-10-29 6 views
0

общественного класса MainActivity расширяет активность {Admob Добавить показано Время задержки

AdView adView; 
InterstitialAd interstitialAd; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    adView = (AdView) findViewById(R.id.adView); 
    interstitialAd = new InterstitialAd(this); 
    interstitialAd.setAdUnitId("ca-app-pub-3500425325579414/2869090680"); 
    AdRequest adRequest = new AdRequest.Builder().addTestDevice(
      "BD9386F17F7DE795B86B5BBBEDDF1095").build(); 

    adView.loadAd(adRequest); 
    interstitialAd.loadAd(adRequest); 

    interstitialAd.setAdListener(new AdListener() { 
     public void onAdLoaded() { 
      if (interstitialAd.isLoaded()) { 
       interstitialAd.show(); 
      } 
     } 
    }); 

    Thread timerThread = new Thread() { 
     @Override 
     public void run() { 
      // TODO Auto-generated method stub 
      super.run(); 

      try { 
       sleep(5000); 
      } catch (Exception e) { 
       // TODO: handle exception 
       e.printStackTrace(); 
      } finally { 
       ????????????????????? 
      } 

     } 
    }; 
    timerThread.start(); 

} 

}

Я хочу показать мой Admob добавить после выбранного мной время. Я хочу использовать Thread, чтобы показать свое дополнение в dealy. Но как я устраиваю это, я не мог этого сделать. Даже я судимый этого

Thread timerThread = new Thread() { 

     @Override 
     public void run() { 
      // TODO Auto-generated method stub 
      super.run(); 

      try { 
       sleep(5000); 
      } catch (Exception e) { 
       // TODO: handle exception 
       e.printStackTrace(); 
      } finally { 
       interstitialAd.setAdListener(new AdListener() { 
        public void onAdLoaded() { 
         if (interstitialAd.isLoaded()) { 
          interstitialAd.show(); 
         } 
        } 
       }); 
      } 

     } 
    }; 
    timerThread.start(); 

Но это не работает. Как я могу сделать это программно.

ответ

2

Проблема, которую я вижу, что вы установку AdListener после задержки вместо показывая объявления после задержки. Также вам не нужно, чтобы создать тему для делать это, вы можете попробовать это, например:

interstitialAd.setAdListener(new AdListener() { 
    public void onAdLoaded() { 
     Handler handler = new Handler(); 
     handler.postDelayed(new Runnable() { 
      public void run() { 
       MainActivity.this.interstitialAd.show(); 
      } 
     }, 5000); 
    } 
}); 

Поместите это в методе OnCreate MainActivity и избавиться от timerThread. Таким образом, у вас будет настроен интерстициальный настрой, который будет отображаться через 5 секунд. после объявление загружается.

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

+0

Не забудьте уволить отложенное объявление в 'Activity # onPause', чтобы убедиться, что не будет предпринята попытка показать его после того, как действие было закрыто пользователем/ОС. – naXa

1

НЕ ДЕЛАЮТ, чтобы показывать свои межстраничные объявления в случайном порядке (задержка или нет) в вашем приложении. Если

  1. Вы хотите действительно плохие рейтинги пользователей
  2. Вы хотите Admob отключить учетную запись.

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

Смежные вопросы