此设备中没有可用的 Google 服务

No Google services available in this device

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

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

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

选项 1: 在华为应用市场和 Google Play 上发布您的应用,使用不同的软件包。您在应用市场发布的应用只包含华为的逻辑代码。 multi-channel包装详情请参考docs.

选项 2: 在华为应用市场和 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逻辑判断

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

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

有关更多信息,请访问 this link。