Android 填隙加载后如何显示活动?

Android 填隙加载后如何显示活动?,android,admob,Android,Admob,在我的应用程序中有一个中间活动,其中放置了几个按钮,我有一个问题,在打开此活动后,大多数用户在加载广告之前单击按钮。但当我试图在加载后显示广告时,活动出现了令人讨厌的延迟。我也遇到了同样的问题。我的解决方案: 假设有3个活动,开始顺序如下: Activity_A --> Activity_B --> Activity_C. 现在我想显示Activity\u B和Activity\u C之间的间隙广告 我首先在Activity_A中加载了间隙广告,然后在Activity_C中调用

在我的应用程序中有一个中间活动,其中放置了几个按钮,我有一个问题,在打开此活动后,大多数用户在加载广告之前单击按钮。但当我试图在加载后显示广告时,活动出现了令人讨厌的延迟。

我也遇到了同样的问题。我的解决方案:

  • 假设有3个活动,开始顺序如下:

    Activity_A --> Activity_B --> Activity_C.
    
  • 现在我想显示
    Activity\u B
    Activity\u C
    之间的间隙广告

  • 我首先在Activity_A中加载了间隙广告,然后在
    Activity_C
    中调用(或显示)

您可以这样做:

public void showme(){

        mInterstitialAd = new InterstitialAd(this);
        mInterstitialAd.setAdUnitId(getString(R.string.interstitial_full_screen));
        AdRequest adRequest = new AdRequest.Builder()
                .build();
        mInterstitialAd.loadAd(adRequest);

        mInterstitialAd.setAdListener(new AdListener()
        {

            @Override
            public void onAdClosed()
            {
                //reload interstitial
                AdRequest adRequest = new AdRequest.Builder()
//                        .addTestDevice("YOUR_DEVICE_ID")
                        .build();
                mInterstitialAd.loadAd(adRequest);
            }
        });
    }

    public static void showInterstitial() {
        if (mInterstitialAd.isLoaded()) {
            mInterstitialAd.show();
        }
    }
在活动A即Main活动中,添加如下代码:

public void showme(){

        mInterstitialAd = new InterstitialAd(this);
        mInterstitialAd.setAdUnitId(getString(R.string.interstitial_full_screen));
        AdRequest adRequest = new AdRequest.Builder()
                .build();
        mInterstitialAd.loadAd(adRequest);

        mInterstitialAd.setAdListener(new AdListener()
        {

            @Override
            public void onAdClosed()
            {
                //reload interstitial
                AdRequest adRequest = new AdRequest.Builder()
//                        .addTestDevice("YOUR_DEVICE_ID")
                        .build();
                mInterstitialAd.loadAd(adRequest);
            }
        });
    }

    public static void showInterstitial() {
        if (mInterstitialAd.isLoaded()) {
            mInterstitialAd.show();
        }
    }
在OnCreate内部的活动中调用showme()

在活动C中,将以下代码粘贴到OnCreate中:

Activity_A.showInterstitial();

我的建议是在第一个活动(即MainActivity)中加载间隙广告,然后在任何其他活动中调用它。还有一个问题)在切换活动时,我没有找到如何保持初始化和加载间隙广告。请您创建另一个问题,因为它与所问的问题不同。这种方法的优点是它不违反任何Admob策略。它工作得很好,但现在填充率小于2%。我知道原因,但认为没有解决办法。