Как заставить Admob обновляться на Android

У меня есть приложение с объявлениями Admob, но я обнаружил, что когда я его использую, объявление почти никогда не обновляется, потому что я не изменяю действия, вместо этого я просто обновляю текстовое представление при нажатии кнопок. Я попытался найти это в Google, но продолжаю сокращаться.

Я хотел бы сказать приложению, чтобы периодически обновлять добавление, например, после двух щелчков мыши или чего-то в этом роде. Кто-нибудь знает, как это сделать, и, возможно, для этого есть образец кода?

Ответы

Ответ 1

С новым SDK теперь это:

AdView.loadAd(new AdRequest());

Ответ 2

Старая версия API:

AddView.requestFreshAd()

Новая версия API:

AdView.loadAd(new AdRequest())

Кроме того, вы можете просто установить интервал обновления с атрибутом refreshInterval в элементе AdView в XML файле вашего макета. Или вы можете установить refreshInterval для объявлений в вашем приложении через настройки своей учетной записи на веб-сайте AdMob.

Документация: http://code.google.com/mobile/ads/docs/android/intermediate.html#adrefresh

Ответ 3

В качестве альтернативы вы также можете добавить рекламные объявления Admob для вас с указанными вами временными интервалами. В Admob перейдите в раздел "Сайты и приложения", затем нажмите "Управление настройками" для нужного приложения. Затем нажмите "Настройки приложения". В разделе "Автоматическое обновление" вы можете изменить частоту обновления объявлений в своем приложении.

EDIT: с новым интерфейсом admob находится в разделе "Монетизация" > "Мое имя приложения" > "Мое добавление имени" > "Частота обновления" (спасибо ripegooseberry)

Ответ 4

В новой версии Api AdRequest() constuctor является закрытым; вы должны AdRequestBuilder class:

mAdView.loadAd(new AdRequest.Builder().build())

Ответ 5

объявить adView в качестве члена данных, а затем создать задачу таймера, как показано ниже в вашем конструкторе активности

adView = (AdView) findViewById(R.id.adView);
        TimerTask tt = new TimerTask() {

            @Override
            public void run() {
            MainActivity.this.runOnUiThread(new Runnable() {
                public void run() {
                    adView.loadAd(new AdRequest());
                }
            });

        }
    };

    Timer t = new Timer();
    t.scheduleAtFixedRate(tt, 0, 1000 * 60);

Ответ 6

    //New AdRequest 

    ScheduledExecutorService scheduleTaskExecutor = Executors.newScheduledThreadPool(5);


scheduleTaskExecutor.scheduleAtFixedRate(new Runnable() {
  public void run() {
        runOnUiThread(new Runnable() {
            public void run() {
                 AdRequest adRequest = new AdRequest.Builder().build();
                adView.loadAd(adRequest);
            }
        });
    }

}, 0, 30, TimeUnit.SECONDS);