Android 在华为手机上没有谷歌服务的情况下,谷歌会做出反应吗?

Android 在华为手机上没有谷歌服务的情况下,谷歌会做出反应吗?,android,react-native,google-play-services,huawei-mobile-services,Android,React Native,Google Play Services,Huawei Mobile Services,不久,华为新手机将停止支持谷歌Play和谷歌移动服务 华为正在准备自己的名为HMS的生态系统 他们的应用程序商店名为“华为应用程序库”,其文档如下: 他们现在正在向开发者(包括我)发送信息,鼓励他们在商店中发布应用程序。他们声称他们只需要一个APK文件,不需要更改应用程序 我的问题是: react本机应用程序是否可以在不更改代码的情况下工作 Firebase SDK能正常工作吗 在另一个Android生态系统中维护应用程序的真正隐藏成本是什么 华为已经发布了其华为移动服务,目前正在逐步更新其服

不久,华为新手机将停止支持谷歌Play和谷歌移动服务

华为正在准备自己的名为HMS的生态系统

他们的应用程序商店名为“华为应用程序库”,其文档如下:

他们现在正在向开发者(包括我)发送信息,鼓励他们在商店中发布应用程序。他们声称他们只需要一个APK文件,不需要更改应用程序

我的问题是:

  • react本机应用程序是否可以在不更改代码的情况下工作
  • Firebase SDK能正常工作吗
  • 在另一个Android生态系统中维护应用程序的真正隐藏成本是什么

华为已经发布了其华为移动服务,目前正在逐步更新其服务,以与谷歌和苹果紧密匹配。至于你问的问题

  • react本机应用程序是否可以在不更改代码的情况下工作
  • ,只要您可以生成apk上传到他们的华为应用程序库。您不必进行任何代码更改

  • Firebase SDK能正常工作吗
  • 这取决于您试图整合到应用程序中的服务类型,例如,如果您试图使用Firebase提供的身份验证模块使用谷歌登录,则仅在不包括GMS(谷歌移动服务)的手机上不支持,GMS是华为Mate 30 Pro

    但是,如果您正在查看通知。谷歌有Firebase云消息,华为有华为推送通知。您可以使用任何一种,因为这取决于后端服务的体系结构,并且在所有android设备上都受支持

  • 在另一个Android生态系统中维护应用程序的真正隐藏成本是什么
  • 这完全取决于您如何构建应用程序中所需的系统和服务。假设您希望将华为登录纳入您的应用程序,并且您还需要包括HMS,但是,您希望在华为应用程序库中维护这些功能,而对于谷歌而言,您需要实施FCM和谷歌登录和地图,然后您必须维护两个不同的分支,它们共享共同的核心功能,这既耗时又费钱

    如果应用程序只使用纯粹依赖于逻辑的简单功能,很少或没有GMS/HMS,那么您不必为您的项目维护单独的分支,一个分支就足够了。您只需向Google Play Publish和华为应用程序库提交一个版本

    如果您想为GMS和HMS使用单一回购协议,则必须检查可用的服务以启用该功能

    通用汽车公司

    val gmsAvailable = GooglePlayServicesUtil.getInstance().isGooglePlayServicesAvailable(mContext)
    
    英国皇家海军

    val hmsAvailable = HuaweiApiAvailability.getInstance().isHuaweiMobileServicesAvailable(mContext)
    
    因此,当尝试使用谷歌登录、华为登录或任何其他服务时,都是如此

    if gmsAvailable {
       // execute GMS Code
    } else if hmsAvailable {
       // execute HMS Code
    }
    

    注*上述代码在Kotlin中

    华为已开始构建HMS生态系统,在其新设备上提供顶级应用程序,而无需访问GMS,如Mate 30和P40设备,从而改善这些设备上的用户体验。如果设备可以访问GMS,建议您使用GMS;如果设备无法访问GMS,建议您使用HMS

    关于你的问题:

    一,

    React本机应用程序是否可以在不更改代码的情况下工作

    如果您的应用程序将任何GMS插件用于React Native,例如Google登录和Firebase云消息传递,则您的应用程序可能无法在未访问GMS的设备上正常工作。因此,您需要对应用程序进行一些代码更改。 华为为React Native提供了一些HMS核心套件插件。有关详细信息,请访问以下链接:

  • Firebase SDK能正常工作吗

    这取决于您使用的GMS服务。例如,如果您的应用程序使用GMS的推送通知/位置/地图服务,则您的应用程序可能无法正常工作。在这种情况下,您需要使用相关的HMS SDK。您可以选择要使用的服务

    三,

    在另一个安卓系统中维护应用程序的隐藏成本是多少 生态系统

    确实存在一些隐藏的工作负载,例如,维护代码,将应用程序发布到华为AppGallery,以及修改GMS和HMS以提供新功能。当然,这取决于应用程序的复杂性。如果您的应用程序使用许多GMS服务,那么工作负载相对较高。如果您的应用程序使用很少的GMS服务,则工作负载相对较低。为了减少工作量,建议您在项目中同时使用GMS和HMS。方法如下:

    检查设备是否正常工作

    检查设备是否正常工作

    在您的应用程序中,您可以使用以下伪代码同时使用GMS和HMS:

    如果isgmsavaailable{
    //执行GMS代码
    }否则,如果可以的话{
    //执行HMS代码
    }
    关于:

    Firebase SDK能正常工作吗

    您可以使用华为的QuickHMS服务-您只需搜索依赖项/框架/库,并确定它是否可以在HMS设备上运行:


    可以在此处找到当前的ReactNative HMS插件列表:

    对于第2项,如果我的应用程序当前使用FCM进行Play Store中部署的推送通知,如果我在华为应用程序库中上载相同的APK,FCM是否仍能工作?否,FCM在HMS设备上不工作。您必须将此ReactNative插件用于HMS推送通知: