许多应用程序(如 facebook、twitter)都有一个内容流,每 n 次它们就会转换广告(称为赞助帖子)。
我有一个显示项目列表的应用程序,我每 6 个元素放一个 admob 广告。元素列表不固定,我可以有 0 到 250 个项目。
在实际实现中,我有一个独特的广告 ID,因此所有横幅都(显然)具有相同的内容。
所以我会在 AdMob 网站上手动创建 +40 广告...并以编程方式分配给回收商。
我在 AdMob 上读到:
The number of ads on a single screen should not exceed one if the ad is fixed to the screen top or screen bottom. If the page scrolls, only one ad should be visible on the screen at a time, and, according to the AdSense program policies, publishers may place no more than 3 ad units on one entire page.
Facebook 或其他应用程序如何在滚动页面上显示多个广告? 是否存在任何允许这样做的广告网络?
最佳答案
我不知道其他网络如何处理事情,但您绝对可以使用 AdMob 的 Native Ads Express 来完成这项工作.这是 AdMob 几周前在 I/O 2016 上推出的一种新广告格式。
我建议如下:
在 https://apps.admob.com 注册一个新的广告单元 ID并选择 Native Ads Express。你只需要一个。选择一个较小的模板大小和适合您的应用程序的模板。您可以自定义颜色和字体以匹配您的 UI。
在您的 Activity 中,维护您已实例化并将广告加载到其中的 NativeExpressAdView 对象列表(loading an ad for Native Ads Express 与横幅的工作原理基本相同)。您应该只需要几个即可开始。
当您的 RecyclerView 滚动到您需要广告的位置时,使用列表中的一个并记下索引。然后将新的 NativeExpressAdView 添加到列表的末尾,以便在用户不断滚动时加载另一个广告。如果用户向上滚动,您就会知道哪个 NativeExpressAdView 与哪个索引对应,并且您可以采取相应的行动。
我建议避免的一些事情:
确保您不会同时在屏幕上显示一个以上的广告。这是这里的重大政策问题。您可能需要在一台设备上每六件商品展示一次广告,而在更大的设备上每八件商品展示一次,等等。您引用的“每页三个广告”规则(我相信)是网站的 AdSense 规则,而不是适用于 AdMob。
不要一次加载填满整个列表所需的所有广告。 250/6 = ~40 个广告,这是一个很大的数据 block ,尤其是如果用户从未完全使用过它的话。
关于android - 是否允许在 RecyclerView 上转换多个 AdMob 广告?替代广告网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37652732/
我的目标是转换表单输入,例如“100兆字节”或“1GB”,并将其转换为我可以存储在数据库中的文件大小(以千字节为单位)。目前,我有这个:defquota_convert@regex=/([0-9]+)(.*)s/@sizes=%w{kilobytemegabytegigabyte}m=self.quota.match(@regex)if@sizes.include?m[2]eval("self.quota=#{m[1]}.#{m[2]}")endend这有效,但前提是输入是倍数(“gigabytes”,而不是“gigabyte”)并且由于使用了eval看起来疯狂不安全。所以,功能正常,
Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题
给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru
我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h
我有多个ActiveRecord子类Item的实例数组,我需要根据最早的事件循环打印。在这种情况下,我需要打印付款和维护日期,如下所示:ItemAmaintenancerequiredin5daysItemBpaymentrequiredin6daysItemApaymentrequiredin7daysItemBmaintenancerequiredin8days我目前有两个查询,用于查找maintenance和payment项目(非排他性查询),并输出如下内容:paymentrequiredin...maintenancerequiredin...有什么方法可以改善上述(丑陋的)代
我需要读入一个包含数字列表的文件。此代码读取文件并将其放入二维数组中。现在我需要获取数组中所有数字的平均值,但我需要将数组的内容更改为int。有什么想法可以将to_i方法放在哪里吗?ClassTerraindefinitializefile_name@input=IO.readlines(file_name)#readinfile@size=@input[0].to_i@land=[@size]x=1whilex 最佳答案 只需将数组映射为整数:@land边注如果你想得到一条线的平均值,你可以这样做:values=@input[x]
我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何
这道题是thisquestion的逆题.给定一个散列,每个键都有一个数组,例如{[:a,:b,:c]=>1,[:a,:b,:d]=>2,[:a,:e]=>3,[:f]=>4,}将其转换为嵌套哈希的最佳方法是什么{:a=>{:b=>{:c=>1,:d=>2},:e=>3,},:f=>4,} 最佳答案 这是一个迭代的解决方案,递归的解决方案留给读者作为练习:defconvert(h={})ret={}h.eachdo|k,v|node=retk[0..-2].each{|x|node[x]||={};node=node[x]}node[
在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',
这个问题在这里已经有了答案:Checktoseeifanarrayisalreadysorted?(8个答案)关闭9年前。我只是想知道是否有办法检查数组是否在增加?这是我的解决方案,但我正在寻找更漂亮的方法:n=-1@arr.flatten.each{|e|returnfalseife