如何仅加载一个 activity 的 AdMob Interstitial 广告?
How to load AdMob Interstitial ad only one activity?
现在我正在开发一个包含插页式广告的应用程序,但我面临一个问题,即我想在每 2 分钟后仅在 MainActivity 中显示广告,然后再继续activity将停止。对于这个实现我做了这样的事情,
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();
}
prepareAd();
}
});
}
}, 1, 120, TimeUnit.SECONDS);
public void prepareAd(){
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-xxxxxxxxxxxxxxxxx/xxxxxxxxxx");
mInterstitialAd.loadAd(new AdRequest.Builder().build());
}
首先创建一个全局引用:
boolean isActivityIsVisible = true;
然后通过覆盖 activity 的生命周期来检查:
@Override
protected void onPause() {
super.onPause();
isActivityIsVisible = false;
}
@Override
protected void onResume() {
super.onResume();
isActivityIsVisible = true;
}
@Override
protected void onStop() {
super.onStop();
isActivityIsVisible = false;
}
检查Activity在插屏广告回调中是否可见,如果可见则显示。
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
prepareAd();
}
public void onAdLoaded(){
if (isActivityIsVisible) { mInterstitialAd.show(); }
}
});
希望对您有所帮助。
只需在第一个 activity 的 onPause 方法中执行此操作。然后在 onCreate()
中再次启动它
现在我正在开发一个包含插页式广告的应用程序,但我面临一个问题,即我想在每 2 分钟后仅在 MainActivity 中显示广告,然后再继续activity将停止。对于这个实现我做了这样的事情,
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();
}
prepareAd();
}
});
}
}, 1, 120, TimeUnit.SECONDS);
public void prepareAd(){
mInterstitialAd = new InterstitialAd(this);
mInterstitialAd.setAdUnitId("ca-app-pub-xxxxxxxxxxxxxxxxx/xxxxxxxxxx");
mInterstitialAd.loadAd(new AdRequest.Builder().build());
}
首先创建一个全局引用:
boolean isActivityIsVisible = true;
然后通过覆盖 activity 的生命周期来检查:
@Override
protected void onPause() {
super.onPause();
isActivityIsVisible = false;
}
@Override
protected void onResume() {
super.onResume();
isActivityIsVisible = true;
}
@Override
protected void onStop() {
super.onStop();
isActivityIsVisible = false;
}
检查Activity在插屏广告回调中是否可见,如果可见则显示。
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
prepareAd();
}
public void onAdLoaded(){
if (isActivityIsVisible) { mInterstitialAd.show(); }
}
});
希望对您有所帮助。
只需在第一个 activity 的 onPause 方法中执行此操作。然后在 onCreate()
中再次启动它