【发布时间】:2014-09-15 09:38:11
【问题描述】:
我有一个使用 Google 的 admob 网络显示插页式广告的 Android 应用。 admob 的好处是,它的活动独立。我可以在我的 MainActivity 中加载广告,只要 admob 准备好广告,它就会显示它,即使我不再在 MainActivity 中。我已经使用 isLoaded() 方法来展示广告,并且 90% 的时间已经按预期工作了。
但其他 10% 不是。有些活动应该保持无广告,因为广告会降低游戏的质量。如果手机速度慢或连接速度慢并且加载广告需要一段时间,则广告可能会在错误的活动中弹出。
我可以调用什么东西来关闭加载的广告并停止加载尚未显示的广告吗?这只会对两个活动生效,而其他活动将保持原样。
所以在我的主要活动中我称之为:
Ads.loadAdMobInterstitial(MainActivity.this);
这是我处理广告的课程:
public class Ads {
public static InterstitialAd loadAdMobInterstitial(final Context context) {
int admobUnitId = string.admob_ad_unit_id;
final InterstitialAd iAd = new InterstitialAd(context);
iAd.setAdUnitId(context.getString(admobUnitId));
iAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
iAd.show();
}
});
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.build();
iAd.loadAd(adRequest);
return iAd;
}
}
【问题讨论】: