Android 如何调用多个间隙广告?
我在我的应用程序中添加了间隙广告(+横幅),其中包含一个活动,横幅没有问题,但间隙广告只在应用程序启动时显示一次,我的应用程序不包含任何按钮或操作,只是一个pdfview,我想做的是当用户阅读pdf时,每隔5分钟显示一次广告。我搜索了类似的问题,但没有找到。下面是我加载和显示广告的代码:Android 如何调用多个间隙广告?,android,admob,ads,interstitial,Android,Admob,Ads,Interstitial,我在我的应用程序中添加了间隙广告(+横幅),其中包含一个活动,横幅没有问题,但间隙广告只在应用程序启动时显示一次,我的应用程序不包含任何按钮或操作,只是一个pdfview,我想做的是当用户阅读pdf时,每隔5分钟显示一次广告。我搜索了类似的问题,但没有找到。下面是我加载和显示广告的代码: AdView mAdView = (AdView) findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder(
AdView mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
// Prepare the Interstitial Ad
interstitial = new InterstitialAd(PDFViewActivity.this);
// Insert the Ad Unit ID
interstitial.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
interstitial.loadAd(adRequest);
// Prepare an Interstitial Ad Listener
interstitial.setAdListener(new AdListener() {
public void onAdLoaded() {
// Call displayInterstitial() function
displayInterstitial();
}
});
}
public void displayInterstitial() {
// If Ads are loaded, show Interstitial else show nothing.
if (interstitial.isLoaded()) {
interstitial.show();
}
}
我是这样做的:
AdView mAdView = (AdView) findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
// Prepare the Interstitial Ad
interstitial = new InterstitialAd(this);
interstitial.setAdUnitId("ca-app-pub-3940256099942544/1033173712");
interstitial.loadAd(adRequest);
interstitial.setAdListener(new AdListener() {
public void onAdLoaded() {
displayInterstitial();
}
public void onAdClosed() {
requestNewInterstitial();
}
});
}
public void displayInterstitial() {
// If Ads are loaded, show Interstitial else show nothing.
if (interstitial.isLoaded()) {
interstitial.show();
}
}
public void requestNewInterstitial() {
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
AdRequest adRequest = new AdRequest.Builder()
.build();
interstitial.loadAd(adRequest);
if (mHandler != null) {
mHandler.postDelayed(this, 100000); //time (ms)
}
}
}, 100000); //time (ms)
}
好的,你们试着以固定的时间间隔显示中间的广告。您可以使用下面的代码行来完成 然而,这与谷歌admob的政策背道而驰。但是给你 在mainActivity.java中添加以下代码
prepareAd();
ScheduledExecutorService scheduler =
Executors.newSingleThreadScheduledExecutor();
scheduler.scheduleAtFixedRate(new Runnable() {
public void run() {
Log.i("hello", "world");
runOnUiThread(new Runnable() {
public void run() {
if (mInterstitialAd.isLoaded()) {
mInterstitialAd.show();
} else {
Log.d("TAG"," Interstitial not loaded");
}
prepareAd();
}
});
}
}, 20, 20, TimeUnit.SECONDS);
然后在MainActivity.java的最后一个花括号前添加以下代码行
public void prepareAd(){
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-39xxx560xxxxxxx/10331xxxxx");
mInterstitialAd.loadAd(new AdRequest.Builder().build());
}
public void prepareAd(){
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-39xxx560xxxxxxx/10331xxxxx");
mInterstitialAd.loadAd(new AdRequest.Builder().build());
}
这里使用的填隙式AdMob ID是一个示例ID。代码取自,请仔细考虑这个想法。首先,这不是谷歌提出的显示间隙的方式。第二,你会用这种恼人的行为激怒你的用户,所以他们永远不会点击并卸载你的应用。如果你认为你比你的用户更了解它,那么祝你好运;)