我在我的 iOS 应用程序中集成了 AdMob 横幅广告,该应用程序是专为 child 设计的。应用程序被 App Store 审核流程拒绝,并显示以下消息:
You have selected the Kids category for your app, but it includes links out of the app or engages in commerce without first obtaining parental permission. Specifically, your app includes advertisements that, when tapped, take the user to a web page or the App Store.
我已经集成了家长控制,但无法确定从哪里启动家长控制。
我检查了一些方法来处理 GADBannerViewDelegate 类中横幅 View GADBannerView 的点击,但没有任何方法。有以下委托(delegate)方法
-(void)adViewWillLeaveApplication:(GADBannerView *)bannerView;
但是这个方法只是通知它会离开应用程序——我不能返回NO或者在这里写任何东西来限制它离开应用程序。
任何人都可以帮助我找到阻止应用在需要时打开 GADBannerView 的方法吗?
最佳答案
For purposes of the Children's Online Privacy Protection Act (COPPA), there is a setting called
tagForChildDirectedTreatment.
这是一个 link描述了该方法的使用。
基本上这是你可以做的:
tagForChildDirectedTreatment 设置为 YES 以表明您希望您的内容根据 COPPA 被视为面向 child 。tagForChildDirectedTreatment 设置为 NO 以表明您不希望您的内容根据 COPPA 的目的被视为面向 child 。tagForChildDirectedTreatment。您还必须遵守 App Store 指南。这是对您的情况很重要的引述:
Apps in the Kids Category may not include behavioral advertising (e.g. the advertiser may not serve ads based on the user’s activity), and any contextual ads must be appropriate for young audiences. You should also pay particular attention to privacy laws around the world relating to the collection of data from children online. Be sure to review the Privacy section of these guidelines for more information.
有关这方面的简短灵感,请查看 Apple 的这份指南。 https://developer.apple.com/app-store/parental-gates/
您可以做什么: 将 tagForChildDirectedTreatment 设置为 YES。不要跟踪 child 的用户数据。请注意您展示的广告类型。
如果您希望您的应用属于子类别,您不能显示将子应用从应用中移除的添加。但是如果你先问 parental permission你可以做到。为此,您可以根据 parent 许可的答案添加或不添加横幅 View /其他广告。
编辑: 也许这可以作为添加打开 safari/app store 之前的检查:
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
//check the url that opens.
//present parental control
//return true or false /open or reject opening safari/app store
}
关于ios - 单击横幅广告时的 AdMob 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42222681/
这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下
我正在尝试解析一个文本文件,该文件每行包含可变数量的单词和数字,如下所示:foo4.500bar3.001.33foobar如何读取由空格而不是换行符分隔的文件?有什么方法可以设置File("file.txt").foreach方法以使用空格而不是换行符作为分隔符? 最佳答案 接受的答案将slurp文件,这可能是大文本文件的问题。更好的解决方案是IO.foreach.它是惯用的,将按字符流式传输文件:File.foreach(filename,""){|string|putsstring}包含“thisisanexample”结果的
是否有简单的方法来更改默认ISO格式(yyyy-mm-dd)的ActiveAdmin日期过滤器显示格式? 最佳答案 您可以像这样为日期选择器提供额外的选项,而不是覆盖js:=f.input:my_date,as::datepicker,datepicker_options:{dateFormat:"mm/dd/yy"} 关于ruby-on-rails-事件管理员日期过滤器日期格式自定义,我们在StackOverflow上找到一个类似的问题: https://s
目录1.AdmobSDK下载地址2.将下载好的unityPackagesdk导入到unity里编辑 3.解析依赖到项目中
1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里
我正在尝试将以下SQL查询转换为ActiveRecord,它正在融化我的大脑。deletefromtablewhereid有什么想法吗?我想做的是限制表中的行数。所以,我想删除少于最近10个条目的所有内容。编辑:通过结合以下几个答案找到了解决方案。Temperature.where('id这给我留下了最新的10个条目。 最佳答案 从您的SQL来看,您似乎想要从表中删除前10条记录。我相信到目前为止的大多数答案都会如此。这里有两个额外的选择:基于MurifoX的版本:Table.where(:id=>Table.order(:id).
已经有一个问题回答了如何将“America/Los_Angeles”转换为“PacificTime(US&Canada)”。但是我想将“美国/太平洋”和其他过时的时区转换为RailsTimeZone。我无法在图书馆中找到任何可以帮助我完成此任务的东西。 最佳答案 来自RailsActiveSupport::TimeZonedocs:TheversionofTZInfobundledwithActiveSupportonlyincludesthedefinitionsnecessarytosupportthezonesdefinedb
print"Enteryourpassword:"pass=STDIN.noecho(&:gets)puts"Yourpasswordis#{pass}!"输出:Enteryourpassword:input.rb:2:in`':undefinedmethod`noecho'for#>(NoMethodError) 最佳答案 一开始require'io/console'后来的Ruby1.9.3 关于ruby-为什么不能使用类IO的实例方法noecho?,我们在StackOverflow上
这是我在ActiveAdmin中的自定义页面ActiveAdmin.register_page"Settings"doaction_itemdolink_to('Importprojects','settings/importprojects')endcontentdopara"Text"endcontrollerdodefimportprojectssystem"rakedataspider:import_projects_ninja"para"OK"endendend我想做的是,当我单击“导入项目”按钮时,我想在Controller中执行rake任务。但是我无法访问该方法。可能是什
例如,假设我有一个名为Products的模型,并且在ProductsController中,我有以下代码用于product_listView以显示已排序的产品。@products=Product.order(params[:order_by])让我们想象一下,在product_listView中,用户可以使用下拉菜单按价格、评级、重量等进行排序。数据库中的产品不会经常更改。我很难理解的是,每次用户选择新的order_by过滤器时,rails是否必须查询,或者rails是否能够以某种方式缓存事件记录以在服务器端重新排序?有没有一种方法可以编写它,以便在用户排序时rails不会重新查询结果