【问题标题】:Admob issue when using GridLayoutManager with RecyclerView将 GridLayoutManager 与 RecyclerView 一起使用时的 Admob 问题
【发布时间】:2018-07-05 10:47:51
【问题描述】:

我有一个带有GridLayoutManager 的recyclerview,它的spancount 为3。我有两种视图类型——一种用于recyclerview 项目,一种用于ads(admob)。以下是我的spancount 为 3 时的结果

您可以看到广告不可见,现在当我将 spancount 更改为 1 时,它变得可见,如下所示

我认为这是因为 admob 广告不支持这些尺寸,有解决办法吗?

即使我尝试对 adsize 进行硬编码,广告也没有显示 我的问题是,有没有办法将 adview 放入我的 recyclerview 中,GridLayoutManagerspancount 为 3

【问题讨论】:

  • 查看日志。 AD 需要特定的尺寸(高度和宽度)才能加载。
  • 我已将 adsize 设置为横幅,然后尝试以编程方式设置它,但它不支持特定尺寸,有解决方法吗?只是想将广告显示为 recyclerview 项目
  • 可能 AD 没有足够的空间来加载。你在使用智能横幅吗?
  • 是的,当item为AD类型时,我们可以设置动态跨度大小。如果项目类型是广告,则返回设置全宽的跨度 2,否则将返回跨度 1(半宽)。检查这个:groups.google.com/d/msg/google-admob-ads-sdk/S9ke0zZRw10/…
  • 很高兴知道它对您有帮助。编码愉快。

标签: android android-recyclerview admob gridlayoutmanager


【解决方案1】:

是的,这是可能的。您所要做的就是在您的布局管理器上调用setSpanSizeLookup,如下所示

mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
    @Override
    public int getSpanSize(int position) {
        if (position % MainActivity.ITEMS_PER_AD == 0) {//your condition for showing ad
            return 3;//replace 3 with the number of items in each row
        }
        return 1;
    }
});

然后将布局管理器设置为您的回收站视图。

【讨论】:

  • 是的,正如 pranay 所评论的那样,我已经尝试过这种方式,但这是 aginst admob 政策吗?
  • 如果您以一次只在屏幕上显示一个横幅的方式使用它,那么它不违反 admob 政策。因为当您滚动回收站视图时广告会被销毁。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-24
  • 2017-01-16
  • 1970-01-01
  • 2020-02-07
  • 1970-01-01
相关资源
最近更新 更多