谷歌的指示 这里 如果您想通过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。现在它似乎没有。请有人能告诉我为什么我不得不做这个检查。是否在上面给出的谷歌链接处理案例4 ......?
设备上缺少或禁用Google Play服务APK,如果用户明确卸载或禁用它,则可能会发生这种情况。
TL; DR - 您无需检查Google Play服务即可使用移动广告API。
Google Play服务中的Google移动广告产品是 独特 来自Google Play服务中其他大多数(全部?)的图书馆 能够 在设备上安装没有服务APK的工作。
如果设备上安装的APK是更新版本,则库将从APK服务加载类并使用这些较新的类来请求广告。否则,您在应用中编译的Google Play服务版本就足以获取广告。
这样做的好处是,当设备安装了服务时,您将始终有效地运行最新版本的库。如果您的服务版本比您编译应用程序的版本旧(例如上面的示例),或者在设备上没有服务的情况下(例如:Kindle Fire),则使用您的应用程序编译库仍然可以进行广告提取,但您仍需要手动提取更新。
TL; DR - 您无需检查Google Play服务即可使用移动广告API。
Google Play服务中的Google移动广告产品是 独特 来自Google Play服务中其他大多数(全部?)的图书馆 能够 在设备上安装没有服务APK的工作。
如果设备上安装的APK是更新版本,则库将从APK服务加载类并使用这些较新的类来请求广告。否则,您在应用中编译的Google Play服务版本就足以获取广告。
这样做的好处是,当设备安装了服务时,您将始终有效地运行最新版本的库。如果您的服务版本比您编译应用程序的版本旧(例如上面的示例),或者在设备上没有服务的情况下(例如:Kindle Fire),则使用您的应用程序编译库仍然可以进行广告提取,但您仍需要手动提取更新。
您获得的logcat错误是针对案例2或3。
对于案例4,Admob是否很有趣。我怀疑它会好的,因为旧的Admob类附带了GPS库,所以在更糟糕的情况下,它可能会回到使用它们的路径。