Android插页式广告请求

时间:2014-08-11 21:12:52

标签: android admob onpause interstitial

我正在尝试在加载下一个活动时在我的Android应用中显示Admob Interstitial。但是,在我的第一个活动暂停加载下一个活动时,插页式广告没有时间加载(例如,由于网速较慢)。

有人可以帮我一个方法来在活动之间继续广告请求,然后它会显示在屏幕上吗?

目前displayInterstitial()位于第一项活动的onResume()方法中。

    public class MainActivity extends Activity implements OnClickListener {

    public InterstitialAd interstitial;    

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_layout);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
        scrool = (ScrollView) findViewById(R.id.scrool);
        layout = (RelativeLayout) findViewById(R.id.layout);

        requestInterstitial();
    }

    public void requestInterstitial() {
        interstitial = new InterstitialAd(this);
        AdRequest adRequest2 = new AdRequest.Builder().build();
        interstitial.loadAd(adRequest2);
    }

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

    @Override
    public void onClick(View v) {
        for (int i = 0; i < buttons.size(); i++) {
            if (buttons.get(i).getId() == v.getId()) {
                Intent trimite = new Intent(MainActivity.this, RecipeView.class);
                Bundle colet = new Bundle();
                colet.putString("key", Content.RETETE[i]);
                colet.putInt("keyimg", drawableId.get(i));
                trimite.putExtras(colet);
                startActivity(trimite);
                break;
            }
        }
    }

    @Override
    protected void onResume() {
        super.onResume();
        displayInterstitial();
    }
}       

1 个答案:

答案 0 :(得分:0)

如果您设置了一个AdListener,即使在加载它的活动上调用了onDestroy,您也可以告诉您的插页式广告在完成加载时显示。

 public void requestInterstitial() {
    interstitial = new InterstitialAd(this);
    interstitial.setAdUnitId("****************");
    AdRequest adRequest2 = new AdRequest.Builder().build();
    interstitial.loadAd(adRequest2);

     interstitial.setAdListener(new AdListener()
    {
        @Override
        public void onAdLoaded(){
            super.onAdLoaded();

                interstitial.show();

        }
    });
}

请注意这一点,因为根据您的下一个活动所包含的内容,插页式广告可能会中断流量并降低用户体验。