没有Google Play服务的设备的回退计划是什么?

目前,我正在将以前使用jar库的Google服务迁移到Google Play服务。

  • Google AdMob
  • 谷歌分析
  • Google云端硬盘

但是,在迁移指南中,Google没有提及我们应该做什么,没有Google Play服务的设备或没有最新的Google Play服务。

那么,我们应该忽略没有Google Play服务的用户,还是有一个回退计划?

不得不为分支计划维护单独的一组jar文件和遗留代码是非常麻烦的。 此外,可能有冲突的问题,有jar文件和GPS并排。 同时使用Play服务和AdMob SDK

Solutions Collecting From Web of "没有Google Play服务的设备的回退计划是什么?"

1. 检查Google Play服务

如此处所logging您应该始终确保:

  1. Google Play服务APK存在。
  2. 安装了正确的版本。

大多数情况下,你会在onResume()方法中执行这些检查。 GooglePlayServiceUtils有一个名为isGooglePlayServicesAvailable(...)的方法,用于检查Google Play服务是否已安装并且是否是正确的版本。 它返回一个int错误代码,告诉你大概什么是错的:

 @Override public void onResume() { super.onResume(); int errorCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getActivity()); switch(errorCode) { case ConnectionResult.SUCCESS: // Google Play Services installed and up to date break; case ConnectionResult.SERVICE_MISSING: // Google Play services is missing on this device. break; case ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED: // The installed version of Google Play services is out of date. break; case ConnectionResult.SERVICE_DISABLED: // The installed version of Google Play services has been disabled on this device. break; case ConnectionResult.SERVICE_INVALID: // The version of the Google Play services installed on this device is not authentic. break; case ConnectionResult.DATE_INVALID: // The device date is likely set incorrectly. break; } } 

您可以使用像showErrorDialogFragment(...)这样的方法来显示相应的错误消息:

 int errorCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(getActivity()); if(GooglePlayServiceUtil.showErrorDialogFragment(errorCode, getActivity(), REQUEST_CODE)) { // Dialog was shown } else { // Dialog was not shown. } 

只有当错误代码不是ConnectionResult.SUCCESS时才显示对话框。

您可以在这里findGooglePlayServiceUtil类的文档。

2. 后备

是否需要回退取决于您的应用程序和目标市场。 例如,如果您将其发布到Google Play商店 – 自从您使用Google Play服务后,我认为您会这样做 – 那么您并不需要回退。 因为人们下载您的应用程序,他们首先需要Google Play商店,如果他们拥有Google Play商店,则无法访问Google Play服务。 如果您想要将其发布到亚马逊设备或诺基亚商店,那么这是一个完全不同的故事,因为那些设备上没有Google Play商店或Google Play服务。 同样在中国这样的市场上,几乎没有任何安装有Google Play商店或任何Google服务的Android设备,所以基本上您必须决定是否需要您的应用,但正如我所说的,如果您将其发布到Google Play商店,别担心。 我上面提到的检查和错误对话框应该足以确保您的应用程序运行良好。 Google Play服务APK新版本的推出通常非常快速。 这可能需要几天的时间,但之后,大多数设备已收到更新。 您还必须考虑一件事情:如果您开发应用程序以要求现有Google Play服务的function比您最有可能不会遇到任何问题,因为几乎所有设备都已经具有最新版本,那将是相当困难的find一个不是最新的设备。 当你快速推出一个更新到你的应用程序,使用刚才介绍的一些新function时,你只需要小心。 在这种情况下,你可能遇到更多的问题。

但是最后你必须记住,这一切都取决于你在你想要发布你的应用程序的生态系统中释放你的应用程序的国家。

我希望我能回答你的问题,如果你有任何进一步的问题随时问!

我将Google Analytics和Admob用于我的应用程序,而且它们都与未安装Google Play服务的设备配合使用

分析: 链接在这里

注意:SDK可以使用,并且可以在没有Google Play服务的设备上运行。 在这种情况下,SDK将自动回退到本地调度。

Admob: 在SO上看到这个问题 。 我也读过Google小组讨论过的这个话题,Admob团队的一名开发人员已经证实它能够工作,但是现在我找不到这个链接。

对于其他Google Play服务库,我不使用它们,因此我无法确认它们