MH.*_*MH. 12 android admob google-play-services
随着10月份Google Play服务的更新,AdMob已集成到库中,这意味着Android开发人员不再需要将其包含GoogleAdMobAdsSdk-x.x.x.jar在项目的libs文件夹中.有一个很好的迁移指南,解释了如何迁移com.google.ads.*到com.google.android.gms.ads.*.
到现在为止还挺好.迁移是小菜一碟,但......总有一个"但是".
以前,com.google.ads.AdRequest过去常常会有一种setLocation(Location)方法可以增加定位信息.该选项不再适用于该类com.google.android.gms.ads.AdRequest,也不属于Builder同类产品.
我想我的问题是:它在哪里以及为什么会这样?在哪里可能很容易回答,因为它似乎已被删除.我喜欢有人在这里证明我错了,所以如果我忽略了什么,请随时评论.这就是原因.
现在我只能推测它被删除的原因:
第一种选择似乎不太可能,而第二种选择是可以理解的.不确定第三个,但考虑到隐私的影响,也不太可能.有人可以就此事给出确定的答案,或者指出可靠的来源吗?
注意:是的,我知道文档中的以下注释:
出于对用户隐私的尊重,Google要求您仅指定位置和人口统计数据(如果您的应用已使用该信息).
此问题出现的应用程序已经具有位置感知功能.事实上,它是应用程序的一个相当重要的方面.正如笔记所说,由于应用程序已经使用了用户的位置,因此向其提供广告请求是迄今为止的有效用例.
更新:
随着即将发布的Google Play Services 4.1更新的1月9日博客文章,提到通过新API重新引入位置定位:
Google移动广告
借助Google Play服务4.1,Google移动广告SDK现在完全支持DFP广告管理系统,DoubleClick Ad Exchange和移动应用搜索广告.您还可以使用新的发布商提供的位置API,在向请求广告时向Google提供位置信息.基于位置的广告可以改善您的应用获利.
目前,我还没有找到有关此新API的任何更新文档,但预计很快就会推出 - 只要Google Play Services 4.1的推出完成即可.在此之前,我将在下面保留我的初步答案以供参考.
谷歌现已更新了有关新功能的Android文档.见下面接受的答案.
最后更新:
Google最终更新了Android文档,以包含新发布商提供的位置API.毫不奇怪,这些都粘贴在构建器模式中,与以前的工作方式完全相同:
AdRequest.Builder.setLocation(Location)
以下答案用于教育目的; 如果上面回答了你的问题,就没有必要再进一步了解.
更新:系统会通过Google Play Services 4.1中的新API重新启用位置定位.有关详细信息,请参阅原始问题的更新.
由于缺乏答案,我将暂时进行简要分析.我快速浏览了旧的AdMob SDK和新的Google Play服务,试图发现更多信息.
以下是我迄今为止的调查结果,在一张小表中列出.基本上,这给出了与a一起发送的各种键值对的比较AdRequest.
Admob SDK: | Google Play Services:
--------------------------------|--------------------------------
map.put("kw", ...); | map.put("kw", ...);
map.put("cust_gender", ...); | map.put("cust_gender", ...);
map.put("cust_age", ...); | map.put("cust_age", ...);
map.put("uule", ...); |
map.put("testing", ...); |
map.put("pto", ...); |
map.put("cipa", ...); |
map.put("adtest", ...); | map.put("adtest", ...);
map.put("extras", ...); | map.put("extras", ...);
| map.put("tag_for_child_directed_treatment", ...);
--------------------------------|--------------------------------
Legend:
* kw = keyword
* cust_gender = gender
* cust_age = birthday
* uule = location
* testing = testing
* pto / cipa = plus one opt out
* adtest = is test device
* extras = extras
Run Code Online (Sandbox Code Playgroud)
在旧的AdMob SDK中,uule密钥用于绑定位置.不幸的是,Google Play服务无处可寻.这表明我原来问题中的第三种猜测很可能不是这种情况.在某种程度上,这是有道理的,因为这肯定是在某处记录的东西,仅仅是因为所需权限的变化.
我也倾向于说位置功能没有被忽视.这不是唯一缺失的关键,但大多数其他主流的关键都在那里,比如年龄,性别,关键字等.相反,我开始相信它被故意排除,不再支持它.如果我冒险猜测,那很可能是出于隐私问题.
如果有人(特别是谷歌的某个人)可以证实这一点,那就太好了.此外,如果您发现任何与这些发现相矛盾的内容,绝大多数都会发表评论.我很高兴被证明是错的.
| 归档时间: |
|
| 查看次数: |
3718 次 |
| 最近记录: |