Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Android – 如何提供AdRequest的位置,现在AdMob已经成为Google Play服务的一部分?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
使用 October update of the Google Play Services,AdMob已集成到图书馆中,这意味着Android开发人员不再需要将GoogleAdMobAdsSdk-x.x.x.jar包含在项目的libs文件夹中.有一个很好的 migration guide,它解释了如何从com.google.ads.*迁移到com.google.android.gms.ads.*. @H_801_2@到现在为止还挺好.迁移是一块蛋糕,但…总是有一个“但”.

@H_801_2@以前,com.google.ads.Adrequest曾经有一个setLocation(Location)方法,可以让您扩大定位信息.该选项在com.google.android.gms.ads.AdRequest或其Builder课程中不再可用.

@H_801_2@我想我的问题是:在哪里和为什么去?哪里可能很容易回答,因为它似乎已经被删除了.我喜欢有人在这里证明我错了,所以如果我忽略了一些东西,可以随意评论.这就是为什么.

@H_801_2@现在我只能猜测为什么它被删除

@H_801_2@> AdMob被重构成为Google Play服务的一部分时,被忽略了.
>出于隐私问题,Google决定不再支持功能.
>由于AdMob现在已成为Google Play服务的一部分,也许与其Location API(即融合位置提供商)集成,并自动提供位置信息(如果可用)?

@H_801_2@第一个选择似乎不太可能,而第二个选项是可以理解的.不知道第三个,但虑到隐私的影响,也不太可能.有什么机会有人可以就此事作出决定性的答案,还是指出一个可靠的来源?

@H_801_2@注意:是的,我在文档中知道以下注释:

@H_801_2@该问题提出的应用程序已经是位置感知.其实这是应用程序的一个重要方面.正如笔记所述,由于用户的位置已被应用程序使用,所以向其提供广告请求已经是一个有效的用例.

@H_801_2@更新:

@H_801_2@通过9 January blog post on the upcoming Google Play Services 4.1 update,提到通过新的API重新引入位置定位:

@H_801_2@目前,我还没有找到关于这个新API的任何更新的文档,但是预计它将在即将推出 – Google Play services 4.1推出完成后立即开始使用.在此之前,我将保留我的初步答案以供参考.

@H_801_2@Google现在已经更新了Android文档上的新功能.请参阅下面接受的答案.

解决方法

最后更新: @H_801_2@Google终于更新了Android文档,以包含新的发布商提供的位置API.毫不奇怪,这些被粘贴到构建器模式中,与以前工作原理几乎相同:

@H_801_2@AdRequest.Builder.setLocation(Location)

@H_801_2@以下答案用于教育目的;如果上面回答了你的问题,那么就不用再看了.

@H_801_2@更新:Google Play services 4.1中的新API将重新启用位置定位功能.有关详细信息,请参阅原始问题的更新.

@H_801_2@由于缺乏答案,我将暂时简要分析一下.我很快看过旧的AdMob SDK和新的Google Play服务,试图发现更多的信息.

@H_801_2@这是我迄今为止发现的一个小表.基本上,这给出了与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
@H_801_2@在旧的AdMob SDK中,uule键用于绑定一个位置.不幸的是,Google Play服务中无处可寻.这表明我原来的问题中的第三次猜测很可能不会.在某种程度上,这是有道理的,因为这绝对是在某处被记录的东西,只是因为所需权限的变化.

@H_801_2@我也倾向于说,位置功能并没有被忽视.这不是唯一缺少的关键,但大多数其他主流的都在那里,如年龄,性别,关键字等.而是开始认为它被遗漏了,放弃了它的支持.如果我冒昧猜测,那么很可能是由于隐私问题.

@H_801_2@如果任何人(特别是Google的人)可以确认这一点,那将是巨大的.另外,如果发现任何与这些发现相矛盾的东西,绝对会留下评论.我很高兴被证明是错误的.

大佬总结

以上是大佬教程为你收集整理的Android – 如何提供AdRequest的位置,现在AdMob已经成为Google Play服务的一部分?全部内容,希望文章能够帮你解决Android – 如何提供AdRequest的位置,现在AdMob已经成为Google Play服务的一部分?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。