我在我的应用程序中显示插页式广告,广告正在加载并完美显示,但问题是当我单击后退按钮上的十字按钮时,广告没有关闭我必须退出我的应用程序才能关闭它们 我创建了一个新项目并检查了新项目中的广告,它们工作正常并关闭后退按钮,但在我的主应用程序中,广告一旦向用户显示就不会关闭 这是我的 Admob 课程
public class Admob {
public static InterstitialAd mInterstitial; // Interstital
private static AdView mAdView; // banner
public static void createLoadInterstitial(final Context context, View view)
{
mInterstitial = new InterstitialAd(context);
mInterstitial.setAdUnitId(context.getResources().getString(
R.string.admob_showIntersitial_ad_unit_id));
mInterstitial.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// TODO Auto-generated method stub
showInterstitial();
}
@Override
public void onAdFailedToLoad(int errorCode) {
// TODO Auto-generated method stub
super.onAdFailedToLoad(errorCode);
}
@Override
public void onAdOpened() {
// TODO Auto-generated method stub
super.onAdOpened();
}
@Override
public void onAdClosed() {
// TODO Auto-generated method stub
super.onAdClosed();
}
@Override
public void onAdLeftApplication() {
// TODO Auto-generated method stub
// Called when an ad leaves the app (for example, to go to the
// browser).
super.onAdLeftApplication();
}
});
loadInterstitial();
}
public static void loadInterstitial() {
mInterstitial.loadAd(new AdRequest.Builder().
addTestDevice("").//ca-app-pub-3940256099942544/1033173712
build());
}
public static void showInterstitial() {
if (mInterstitial.isLoaded()) {
mInterstitial.show();
}
}
public static void createLoadBanner(final Context context, View view) {
mAdView = (AdView) view.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().
addTestDevice("").//ca-app-pub-3940256099942544/6300978111
build();
mAdView.loadAd(adRequest);
mAdView.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
// TODO Auto-generated method stub
super.onAdLoaded();
}
@Override
public void onAdClosed() {
// TODO Auto-generated method stub
super.onAdClosed();
}
@Override
public void onAdOpened() {
// TODO Auto-generated method stub
super.onAdOpened();
}
@Override
public void onAdLeftApplication() {
// TODO Auto-generated method stub
super.onAdLeftApplication();
}
@Override
public void onAdFailedToLoad(int errorCode) {
// TODO Auto-generated method stub
super.onAdFailedToLoad(errorCode);
}
});
}
}
这就是我在活动中展示它们的方式
MobileAds.initialize(this, "ca-app-pub-3940256099942544~3347511713");
Admob.createLoadInterstitial(this,null);
我也在 Mainfest 中初始化了它
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="ca-app-pub-3940256099942544~3347511713" />
我在 stackoverflow 上看到了同样的问题,但没有一个得到解决方案的答案,因此我们将非常感谢任何帮助
如果您使用 Webiew,请检查显示的广告上是否有网络视图暂停
这可能会对某人有所帮助, 就我而言,这个问题是由 mWebView.pauseTimers() 引起的,pauseTimers 将暂停所有 WebView 的所有布局、解析和 JavaScript 计时器,包括 admob 广告 web 视图中的计时器!!
因此,如果您正在使用 webview 和pauseTimers(),请尝试将其删除。