Ответ 1
С новым SDK теперь это:
AdView.loadAd(new AdRequest());
У меня есть приложение с объявлениями Admob, но я обнаружил, что когда я его использую, объявление почти никогда не обновляется, потому что я не изменяю действия, вместо этого я просто обновляю текстовое представление при нажатии кнопок. Я попытался найти это в Google, но продолжаю сокращаться.
Я хотел бы сказать приложению, чтобы периодически обновлять добавление, например, после двух щелчков мыши или чего-то в этом роде. Кто-нибудь знает, как это сделать, и, возможно, для этого есть образец кода?
С новым SDK теперь это:
AdView.loadAd(new AdRequest());
Старая версия API:
AddView.requestFreshAd()
Новая версия API:
AdView.loadAd(new AdRequest())
Кроме того, вы можете просто установить интервал обновления с атрибутом refreshInterval
в элементе AdView в XML файле вашего макета. Или вы можете установить refreshInterval для объявлений в вашем приложении через настройки своей учетной записи на веб-сайте AdMob.
Документация: http://code.google.com/mobile/ads/docs/android/intermediate.html#adrefresh
В качестве альтернативы вы также можете добавить рекламные объявления Admob для вас с указанными вами временными интервалами. В Admob перейдите в раздел "Сайты и приложения", затем нажмите "Управление настройками" для нужного приложения. Затем нажмите "Настройки приложения". В разделе "Автоматическое обновление" вы можете изменить частоту обновления объявлений в своем приложении.
EDIT: с новым интерфейсом admob находится в разделе "Монетизация" > "Мое имя приложения" > "Мое добавление имени" > "Частота обновления" (спасибо ripegooseberry)
В новой версии Api AdRequest()
constuctor является закрытым; вы должны AdRequestBuilder
class:
mAdView.loadAd(new AdRequest.Builder().build())
объявить 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);
//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);