我已经成功地将来自admob的插页式广告从我的应用程序中集成到 this 教程中,我想问一下,如何每隔X分钟更改一次插页式广告
答案 0 :(得分:0)
每分钟显示插页式广告通常不是一个好主意,因为您最终会中断用户流(用户积极使用您的应用时可能会出现插页式广告)。更好地利用自然休息来展示广告。
还查看admob interstitial implementation的最佳做法:
重复播放的插页式广告(不推荐)
请勿使用插页式广告来压倒用户。重复插页式广告 经常导致糟糕的用户体验和意外点击。如果你是 基于用户动作实现插页式广告(例如,选择 选项),避免为每个用户操作实施插页式广告。
如果您要根据时间间隔实施插页式广告 (例如,每60秒),避免在两者之间使用短暂的持续时间 插页式广告。
答案 1 :(得分:0)
这是违反谷歌政策的,但如果您仍想实施此
private void setUpInterstitialAd() {
interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
interstitialAd.loadAd(new AdRequest.Builder().build());
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
// Load the next interstitial.
interstitialAd.loadAd(new AdRequest.Builder().build());
}
});
}
private void scheduleInterstitial() {
ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
displayInterstitial();
setUpInterstitialAd();
}
});
}
}, 1, 5, TimeUnit.MINUTES);
}
private void displayInterstitial() {
if (interstitialAd != null) {
if (interstitialAd.isLoaded()) {
interstitialAd.show();
}
}
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setUpInterstitialAd();
scheduleInterstitial();
}