Admob広告が掲載されたアプリを持っていますが、アクティビティを変更しないため、広告を使用しても広告が更新されることはほとんどなく、ボタンが押されたときにテキストビューを更新するだけです。私はグーグルでこれを検索しようとしましたが、短くなり続けます。
ボタンを2回クリックした後など、時々追加を更新するようにアプリに指示したいと思います。誰かがこれを行う方法を知っていて、潜在的にそれのためのいくつかのサンプルコードを持っていますか?
新しいSDKを使用すると、次のようになります。
AdView.loadAd(new AdRequest());
古いAPIバージョン:
AdView.requestFreshAd();
新しいAPIバージョン:
AdView.loadAd(new AdRequest());
refreshInterval
また、レイアウトXMLファイルのAdView要素の属性を使用して更新間隔を設定するだけです。または、AdMob Webサイトのアカウント設定を使用して、アプリの広告の更新間隔を設定できます。
ドキュメント: http ://code.google.com/mobile/ads/docs/android/intermediate.html#adrefresh
別の方法として、指定した時間間隔でAdMobの広告を更新することもできます。Admobで[サイトとアプリ]に移動し、目的のアプリの[設定の管理]をクリックします。次に、「アプリの設定」をクリックします。[自動更新]の下で、アプリの広告の更新頻度を変更できます。
編集:新しいAdMobインターフェースでは、[Monetize]> [My App Name]> [My Add Unit Name]> [Refresh Rate]の下にあります(ありがとうripegooseberry)
新しいAPIバージョンAdRequest()
では、コンストラクターはプライベートです。AdRequest.Builder
クラスを使用する必要があります
:
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);
private AdRequest adRequest = null;
private void loadBannerRun() {
if(adRequest != null) {
adView.loadAd(adRequest);
return;
}
adView.setAdUnitId(BANNER_AD_TEST);
adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
}
テストしてください