可以使用Handler类来实现随机化插页式广告弹出时间,具体代码示例如下:
private Handler handler;
private Runnable adRunnable;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 创建Handler和Runnable对象
handler = new Handler();
adRunnable = new Runnable() {
@Override
public void run() {
showInterstitialAd();
// 随机生成5000-15000毫秒的间隔时间,并使用Handler.postDelayed()方法再次调用自身
handler.postDelayed(adRunnable, new Random().nextInt(10000) + 5000);
}
};
// 第一次调用Runnable对象
handler.post(adRunnable);
}
private void showInterstitialAd() {
InterstitialAd interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId(getResources().getString(R.string.interstitial_ad_unit_id));
AdRequest adRequest = new AdRequest.Builder().build();
interstitialAd.loadAd(adRequest);
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
interstitialAd.show();
}
});
}
这段代码会随机生成一个5000-15000毫秒的间隔时间,然后在该时间到达后显示插页式广告,然后再次随机生成下一次时间间隔,并重新使用Handler.postDelayed()方法调用自身,形成一个递归调用。这样可以实现插页式广告的随机化弹出。