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

sna*_*ark 11 android admob google-play-services

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

W/GooglePlayServicesUtil(26558): Google Play services out of date.  Requires 4132500 but found 3159130
Run Code Online (Sandbox Code Playgroud)

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

设备上缺少或禁用Google Play服务APK,如果用户明确卸载或禁用它,则可能会发生这种情况.

Eri*_*lag 14

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

在谷歌谷歌手机广告提供Play服务,是唯一在谷歌其他图书馆的大部分(全部?),它播放服务CAN没有安装在设备上的服务APK工作.

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

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

  • 谢谢.我想我只需要接受你的意见,因为我无法从我的设备中完全删除Google Play服务以查看案例4.羞耻Google/Android不会在某处更明确地说这一点,因为这是一项很多工作让检查工作(我现在谢天谢地!). (2认同)
  • 您可以在没有Google API的模拟器上尝试案例4.或者,如果你有一个Kindle Fire.Android不会更明确地说明这一点,因为一般来说,如果服务不可用,Play Service API就无法运行.但AdMob可能会更好地提及它. (2认同)
  • @snark BTW我刚刚发现亚马逊正在提供一个很棒的服务.你可以将你的apk拖到亚马逊进行测试,他们还会显示你的应用程序在他们的设备上的外观和感觉的屏幕.这是链接https://developer.amazon.com/public/resources/development-tools/app-testing-service/dashboard.html (2认同)