如何在点击后但在新意图之前加载插页式广告?

How to load interstitial after click, but before new intent?

我的主页有大约 10 个按钮,每个按钮加载一个新的 intent。

@Override
    public void onClick(View v) {
        // TODO Auto-generated method stub

        if (mInterstitialAd.isLoaded()) {
            mInterstitialAd.show();
        }

        switch(v.getId())
        {
            case R.id.troop_button:
                gotoTroopScreen();
                break;
        }
    }


public void gotoTroopScreen()
{
    Intent intent = new Intent(this, troop.class);
    startActivity(intent);
}

我希望用户单击按钮,查看插页式广告,然后查看部队屏幕。现在,它首先加载部队屏幕,然后在用户退出部队屏幕后显示插页式广告。有没有办法先做插播节目?

像这样在 onCreate 中加载您的插件

 interstitial = new InterstitialAd(this);   
 interstitial.setAdUnitId("YOUR_AD_UNIT_IT");

 AdRequest adRequest = new AdRequest.Builder()
                .addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
                .build();

 interstitial.loadAd(adRequest);

然后点击按钮,调用以下函数:

 public void displayInterstitial() {
        if (interstitial.isLoaded()) {
            interstitial.show();
        }
 }

当用户关闭广告时,移至下一个 activity:

// Set an AdListener.
 mInterstitialAd.setAdListener(new AdListener() {
             @Override
             public void onAdLoaded() {
                 //Here set a flag to know that your 
             }

             @Override
             public void onAdClosed() {
                 // Proceed to the next activity.
                 goToNextActivity();
             }
         });

注意:有可能,用户点击按钮之前,interstitial广告已经加载。

在调用 gotoTroopScreen() 方法调用广告方法之前,在外部创建一个单独的方法来显示广告功能并在开关盒中调用该方法,它应该首先显示您的广告单元。