【问题标题】:Admob banner steals focusAdmob 横幅抢了焦点
【发布时间】:2015-09-16 17:38:33
【问题描述】:

我在使用 Admob 横幅时遇到了一些问题。 每当我在一项活动中添加两个横幅时,有时第二个横幅(通常位于屏幕底部)会“窃取”焦点。 这样,用户必须一直向上滚动才能开始阅读文本。 我尝试了所有可聚焦等的可能性,但它们似乎都不起作用。 我遵循了 android 开发者页面上的说明(非常清晰易懂),所以我怀疑在这里发布任何代码是否有用。 该代码有效,因此我不会在此处发布任何错误...

顺便说一句:允许在一个活动中添加两个横幅,只要它们不可见...

任何帮助将不胜感激......

谢谢!

【问题讨论】:

  • 不,不允许在一个 Activity 期间添加 2 个横幅。
  • 那么我建议在 Admob 网站上进行更多阅读......:如果页面滚动,一次只能在屏幕上看到一个广告,并且根据 AdSense 计划政策规定,发布商在一整页上放置的广告单元不得超过 3 个。
  • 第二个横幅位于屏幕底部或页面底部(在页面末尾显示广告横幅)??或者你发布布局xml~
  • 它在页面底部,例如在最后一个按钮或文本视图之后。目前无法发布任何代码,但我稍后会尝试。

标签: android focus admob


【解决方案1】:

只需在你的根布局中添加这个标签。一行足以解决这个问题

android:descendantFocusability="blocksDescendants"

【讨论】:

    【解决方案2】:

    onCreate() 将 adview 的可见性设置为 GONE

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        .........
    
        adView.setVisibility(View.GONE)
    
       ..........
    
    }
    

    然后在加载广告时将其可见性设置为可见

    adView.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            super.onAdLoaded();
    
            adView.setVisibility(View.VISIBLE)
        }
    });
    

    希望这会有所帮助;)

    【讨论】:

      【解决方案3】:

      威廉的上述评论是正确的。 AdMob 建议将横幅放置在滚动内容区域之外,这意味着您一次只需要一个。您可以查看AdMob Banner Guidance page 了解更多信息。

      我很好奇您在哪里读到“如果页面滚动,一次只能在屏幕上显示一个广告,并且根据 AdSense 计划政策,发布商在一个整体上最多可以放置 3 个广告单元页。”听起来您可能将某些 AdSense 文档误认为是 AdMob 文档。如果没有,请告诉我您在哪里阅读该信息。

      【讨论】:

        【解决方案4】:

        @android 解决方案可能不适用于原生快捷广告。一个完整的解决方案是在调用 adView.setVisibility(View.VISIBLE) 之前,您还应该遍历 adView 的所有子视图并为每个子视图调用 setFocusable(false)。

        【讨论】:

          猜你喜欢
          • 2012-02-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多