【问题标题】:Android interstitial requestAndroid 插页式请求
【发布时间】:2014-09-16 14:53:51
【问题描述】:

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

有人可以帮我提供一种在活动之间继续广告请求的方法,以便随后将其显示在屏幕上吗?

目前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();
    }
}       

【问题讨论】:

    标签: android admob onpause interstitial


    【解决方案1】:

    如果您设置了 AdListener,您可以告诉您的插页式广告在加载完成时显示,即使已在加载它的 Activity 上调用了 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();
    
            }
        });
    }
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-27
      • 2022-10-06
      • 2022-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多