【问题标题】:load admob ad in activity and use it in different fragment for reducing the time to load the ad在活动中加载 admob 广告并在不同的片段中使用它以减少加载广告的时间
【发布时间】:2016-11-25 13:55:50
【问题描述】:

我有一个活动,我在单击放置在片段中的按钮之一时替换片段。 单击片段时,它会用另一个片段替换当前片段。

我的问题是,我是否需要为同一个活动中的每个片段一次又一次地调用下面的代码,或者我可以将代码放在活动中并在片段中显示广告

    mAdView = (AdView)v.findViewById(R.id.beautyfragment);
    AdRequest adRequest = new AdRequest.Builder().build();
    mAdView.loadAd(adRequest);

所以对于每个片段交易,我是否需要发出广告请求,或者我只能在持有片段的活动中发出一次请求,然后在我想要的任何片段中显示广告。

我在每个片段的顶部和底部放置了 admob 横幅广告,以便在点击时显示。

我对此有一些疑问->

  1. 我能否在 Activity 中加载广告并将其显示在片段中,以便在片段之间转换时不会花费时间显示在放置在同一 Activity 中的片段中。如果是,请告诉我它的代码。

  2. 对屏幕上显示的横幅广告使用不同的adUnitId有什么不同吗,在相同的片段内或相同的片段内活动 ?

【问题讨论】:

  • 是的,您可以在活动中投放广告
  • @Vishal 请完整查看问题。
  • 有接收广告的时间和刷新广告的时间。接收时间取决于互联网的速度。每个布局都会加载它自己的广告。您可以根据需要制作离线广告并随时展示
  • @Jules ,这不是,我在问什么
  • @Jules 我需要知道一种在活动中加载广告并将其显示在片段中的方法,同时我在同一活动中进行片段事务。

标签: android admob banner-ads


【解决方案1】:

您可以控制是否定位 AdView。根据您的州要求,您可以将 AdView

  1. 直接进入您的 Activity,位于您要换入和换出的 Fragment 下方。
  2. 进入 Fragment(位于您要换入和换出的 Fragment 下方)。

选择权在你。

【讨论】:

    【解决方案2】:

    好的。您想在主要活动中加载广告,并在片段加载时快速将其显示在片段中。 1-您应该在活动的 onCreate 方法中加载一次广告并设置 AdListener。 2- 在 AdListener 中,当用户在 onAdClosed 方法中关闭广告时,您可以再次加载广告。 3-您需要在提交片段交易时显示广告。 (哪个广告已经加载到活动的 onCreate 方法中) 4. 用户将关闭广告,并且广告将在 onAdClosed 方法中再次在后台加载,因此当用户切换到另一个片段时它会再次显示。

    这是放入主要活动的 onCreate 方法的代码。

        mInterstitialAd = new InterstitialAd(this);
        mInterstitialAd.setAdUnitId("your ad unit id");
        mInterstitialAd.loadAd(new AdRequest.Builder()
                .addTestDevice("your test device id")
                .build());
    
        mInterstitialAd.setAdListener(new AdListener(){
            @Override
            public void onAdLoaded() {
                Log.e("TAG", "Ad loaded");
            }
    
            @Override
            public void onAdClosed() {
                Log.i("TAG", "Ad closed");
                mInterstitialAd.loadAd(new AdRequest.Builder()
                        .addTestDevice("your test device id")
                        .build());
            }
        });
    

    这里是片段交易的代码。

    FragmentManager fm = getSupportFragmentManager();
            FragmentTransaction ft = fm.beginTransaction();
            ft.replace(R.id.content, fragment);
            ft.commit();
    
            if (mInterstitialAd.isLoaded()) {
                mInterstitialAd.show();
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多