作为MH。在this question中指出,如果其中包含Google Play服务,则不再需要在其Android项目中加入GoogleAdMobAdsSdk-x.x.x.jar(请参阅migration guide)。但是,我想,而且我遇到了麻烦。
问题:google-play-services_lib项目包含一个不推荐使用的com.google.ads.AdRequest
定义,并且有一个私有构造函数。它最终位于AdMob jar前面的类路径中(在“Android Private Libraries”条目中),因此当我尝试在我的代码中使用它时,它最终会尝试使用不推荐的一个,从而导致错误:{{ 1}}。我认为没有办法重新订购“Android私人图书馆”中的条目。
为什么我要同时使用这两种?我有一个包含许多有用类的库项目,包括一些用于处理Play服务和AdMob的实用程序类。我的一些使用该库项目的应用程序使用AdMob实用程序类,但不使用Play服务。
答案 0 :(得分:18)
我一直在对此进行测试,并且需要进行一些更改才能使其在Google Play服务中正常运行。
首先,您应该删除引用旧com.google.ads.*
的所有导入,因为它们现在位于com.google.android.gms.ads.*
。
正如您所提到的,还需要做一些更改:
您无法像过去那样实例化AdRequest,但使用AdRequest.Builder
如下:
AdRequest adRequest = new AdRequest.Builder().build();
此外,请确保在所有布局上替换包名称,以便他们拨打<com.google.android.gms.ads.AdView
而不是<com.google.ads.AdView
。
我认为就是这样。祝你好运!
答案 1 :(得分:10)
您可以使用不包含重叠命名空间的Google Play Services v12。它可以使用Android的SDK Manager在“Extras” - &gt;下下载。 “Froyo的Google Play服务”。此版本将与AdMob独立SDK共存。
随着时间的推移谷歌可能会弃用这两种产品。
更新:Google已宣布deprecation of the stand alone AdMob SDK,您必须转到Google Play SDK:
2014年8月1日,Google Play将停止接受新的或更新的应用 使用旧的独立Google移动广告SDK v6.4.1或更低版本。您 必须在那之前升级到Google Play版本的移动广告SDK。
答案 2 :(得分:6)
AdMob的详细Google Play服务迁移可在此处找到:https://developers.google.com/mobile-ads-sdk/docs/admob/play-migration
答案 3 :(得分:6)
我想我已经引起了谷歌/ Android的关注,