【问题标题】:No Google services available in this device此设备中没有可用的 Google 服务
【发布时间】:2020-11-05 06:49:13
【问题描述】:

我正在尝试将 HMS 套件(即位置、广告等)集成到我的应用中,以便我也可以将应用启动到 appGallery 中。 但是,我也将 react-native-firebase 用于其他服务。现在,我收到警报/对话框说: “此设备中没有可用的谷歌服务......”´

如何解决这个问题?有什么办法可以避免这个消息?

【问题讨论】:

  • Firebase 确实需要 GMS。所以这条消息来自 react-native-firebase 库。

标签: huawei-mobile-services


【解决方案1】:

确实,谷歌禁令后发布的华为手机不支持 GMS。但是,如果您只想在 RN 中抑制此对话框抱怨“此设备中没有可用的 google 服务......”,这可以通过关闭 Google Play 服务可用性错误来实现:

firebase.utils().errorOnMissingPlayServices = false;
firebase.utils().promptOnMissingPlayServices = false;

更多信息请访问this链接。

【讨论】:

  • 我可以将errorOnMissingPlayServices = falsepromptOnMissingPlayServices = false 添加到firebase.json 文件中吗?
【解决方案2】:

谷歌禁令后发布的华为手机不支持 GMS。这里我为你提供两种选择:

选项 1: 在 HUAWEI AppGallery 和 Google Play 上发布您的应用,使用不同的包。您在AppGallery上发布的应用只包含华为的逻辑代码。多渠道打包详情请参考docs

方案二:在华为应用市场和 Google Play 上发布同一个应用。添加如下代码,判断GMS API或HMS API是否可用,并调用可用的API:

public boolean  isGMS(){
    return GoogleApiAvailability.getInstance().isGooglePlayServicesAvailable(this) == com.google.android.gms.common.ConnectionResult.SUCCESS;
}
public boolean  isHMS(){
    return HuaweiApiAvailability.getInstance().isHuaweiMobileServicesAvailable(this) == com.huawei.hms.api.ConnectionResult.SUCCESS;
}

可以手动添加代码,也可以使用HMS ToolKit实现G+H逻辑判断。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-01-11
    • 1970-01-01
    • 2014-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多