您真的需要检查Google Play服务才能使用AdMob吗?

时间:2014-02-02 15:55:45

标签: android admob google-play-services

Google的说明here表示如果您想通过Google Play服务在Android应用中使用AdMob,则必须确保用户的设备已安装Google Play服务。但是,我在尝试使其工作时遇到了麻烦;而且我注意到即使我在手机上卸载了Google Play服务更新(并且不打算检查服务是否可用),我的应用仍能完全检索并展示广告!这是LogCat中的错误,如下所示:

W/GooglePlayServicesUtil(26558): Google Play services out of date.  Requires 4132500 but found 3159130

据推测,我的手机出厂时仍然安装了原始版本的Google Play服务。我只是想知道我是否真的需要来检查Google Play服务是否可以成功使用AdMob。现在它似乎没有。请有人能告诉我为什么我不得不做这个检查。是否在上面给出的Google链接处理案例4?

  

设备上的Google Play服务APK丢失或被禁用,如果用户明确卸载或禁用它,可能会发生这种情况。

2 个答案:

答案 0 :(得分:14)

TL; DR - 您无需检查Google Play服务即可使用移动广告API。

Google Play服务中的Google移动广告提供独特来自Google Play服务中的大多数(全部?)其他> CAN 在没有该服务的情况下工作APK安装在设备上。

如果设备上安装的APK是较新版本,则该库将从APK服务加载这些类,并使用这些较新的类来请求广告。否则,您在应用中编译的Google Play服务版本就足以获取广告。

这样做的好处是,当设备安装了服务时,您将始终针对最新版本的库运行。如果您的服务版本比您编译应用程序的版本旧(例如上面的示例),或者在设备上没有服务的情况下(例如:Kindle Fire),则使用您的应用程序编译库仍然可以进行广告提取,但您仍需要手动提取更新。

答案 1 :(得分:1)

您获得的logcat错误适用于案例2或3。

对于案例4,Admob是否很有趣。我怀疑它会没问题,因为旧的Admob类附带GPS库,所以在更糟糕的情况下,它可能会回到使用它们的路径。