【问题标题】:Do you really need to check for Google Play services to use AdMob?您是否真的需要检查 Google Play 服务才能使用 AdMob?
【发布时间】:2014-02-02 15:55:45
【问题描述】:

Google 的说明 here 说,如果您想通过 Google Play 服务在您的 Android 应用中使用 AdMob,您必须确保用户的设备安装了 Google Play 服务 APK。但是,我在尝试使其正常工作时遇到了可怕的麻烦。而且我注意到,即使我在手机上卸载了 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 在设备上丢失或被禁用,如果用户明确卸载或禁用它,可能会发生这种情况。

【问题讨论】:

    标签: android admob google-play-services


    【解决方案1】:

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

    Google Play 服务中的 Google 移动广告产品与 Google Play 服务中的大多数(全部?)其他库相比独一无二,因为它可以在没有该服务的情况下工作APK 已安装在设备上。

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

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

    【讨论】:

    • 谢谢。我想我只需要相信你的话,因为我无法从我的设备中完全删除 Google Play 服务来检查案例 4。遗憾的是 Google/Android 不要在某处更明确地说出来,因为它需要做很多工作让支票生效(谢天谢地,我现在有了!)。
    • 您可以在没有 Google API 的模拟器上尝试案例 4。或者,如果您周围有 Kindle Fire。 Android 不会更明确地说明这一点,因为一般来说,如果服务不可用,Play Service API 根本就无法工作。但 AdMob 可能会更好地提及它。
    • 我相信 Google Play 服务库中的分析部分也可以在没有服务 apk 的情况下使用。如果有人能在亚马逊设备上确认这一点,那就太好了。
    • 它已经在downloads 页面上。它也可以作为常见问题添加到新的quick start 指南中。
    • @snark 顺便说一句,我刚刚发现亚马逊提供了很棒的服务。您只需将您的 apk 拖到亚马逊进行测试,他们还将显示您的应用在其设备上的外观和感觉的屏幕。这是链接developer.amazon.com/public/resources/development-tools/…
    【解决方案2】:

    您得到的 logcat 错误适用于情况 2 或 3。

    Admob 在案例 4 上的表现是否很有趣。我怀疑它会没问题,因为旧的 Admob 类随 GPS 库一起提供,所以在更糟糕的情况下,它可能会退回到使用它们的路径。

    【讨论】:

      猜你喜欢
      • 2013-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多