Google Play服务是一个Android库,其目标是提供:
- OAuth 2.0身份验证
- Google+登录
- Google+ +1按钮
- 其他各种好东西
如果我要使用它(例如,因为我要使用Google+登录),那么其设备没有Google Play的用户会怎么办? (Nook,Cyanogenmod,中国移动,旧设备,也许是华为?等)
问题:我的应用程序将与此类设备不兼容吗? 它会显示为兼容但随后崩溃还是无法正常工作?
使用Google Play服务时是否有最佳做法来牢记这一点?
不推荐使用!
用:
如果Google Play服务提供的功能对您的应用程序至关重要,则将无法使您的应用程序正常运行。
您可以使用
如果有Play服务可用,则返回
现在,您可以尝试说服用户安装(如果可能)或禁用正在使用该服务的功能。
由于Google Play服务不是清单中声明的??功能,因此您的应用应该可以在任何设备上正常安装,但是如果您在使用API??时未检查它们是否可用,则可能会在以后崩溃。
您可以尝试使用模拟器的行为。只需创建没有Google API的AVD,然后将您的应用放到其中即可。
如果您的应用使用Google登录或Firebase Cloud Messaging等GMS功能,则在没有GMS的设备上无法正常运行。
如果设备支持GMS,建议您使用GMS。否则,请使用HMS(华为移动服务)。
请参考以下链接:
- 检查GMS是否可用
- HMS概述
- 华为帐号工具包
因此,您可以在可以使用GMS的设备上使用Google+登录;否则,请使用HUAWEI帐户登录。
如果以某种方式要求您使用Play服务,或者如果您维护可调用Play服务的旧版应用,则建议您采用以下策略:
microG是Google Play服务的开源实现。
它缺少许多功能,但是正在积极开发中。许多功能仍然是存根。
对于定位服务,还有LOST,可直接替代Google Play服务定位API。
您的应用程序可能无法完美运行,但至少比崩溃更好。
当然,最好的做法是从一开始就不要使用Google Play服务。