Admob 插页式广告未关闭

问题描述 投票:0回答:2

我在我的应用程序中显示插页式广告,广告正在加载并完美显示,但问题是当我单击后退按钮上的十字按钮时,广告没有关闭我必须退出我的应用程序才能关闭它们 我创建了一个新项目并检查了新项目中的广告,它们工作正常并关闭后退按钮,但在我的主应用程序中,广告一旦向用户显示就不会关闭 这是我的 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 上看到了同样的问题,但没有一个得到解决方案的答案,因此我们将非常感谢任何帮助

android admob interstitial
2个回答
1
投票

如果您使用 Webiew,请检查显示的广告上是否有网络视图暂停


0
投票

这可能会对某人有所帮助, 就我而言,这个问题是由 mWebView.pauseTimers() 引起的,pauseTimers 将暂停所有 WebView 的所有布局、解析和 JavaScript 计时器,包括 admob 广告 web 视图中的计时器!!

因此,如果您正在使用 webview 和pauseTimers(),请尝试将其删除。

© www.soinside.com 2019 - 2024. All rights reserved.