在没有播放服务的设备上,Firebase远程配置获取失败

问题描述

最近,我不得不更新崩溃解析依赖关系,该依赖关系需要Firebase核心依赖关系。 这会导致在不支持Google Play服务的设备(华为设备和模拟器)上发生奇怪的远程配置失败。

当我尝试获取远程配置值时发生异常:

await remoteConfig.fetch(expiration: const Duration(hours: x)); 

异常:无法完成获取。原因不明,但这可能是由于缺乏连通性。

当我还原更改以进行firebase_core初始化时,该行通过并且成功获取了远程配置。

尝试将所有相关的依赖项更新为最新版本,但未成功:

firebase_core: ^0.5.0+1
firebase_remote_config: ^0.4.0+2

关于this postdocumentation的远程配置不应该依赖于Google Play服务,并且应该可以毫无问题地进行获取,就像在其他一些关于受限API密钥中提到的线程一样,我并没有限制Firebase API键。任何帮助和见解将不胜感激。

解决方法

Firebase远程配置: Firebase最初并不依赖于GMS,但是更高版本使用了GMS的AAID,这导致了对GMS的依赖,但是今年下半年的新版本取消了对GMS的依赖,因此当前最新版本不依赖于GMS。在GMS上。

Firebase Crashlytics:取决于GMS。 (在没有GMS的Huawei Mate 30上测试) 可以上传崩溃日志和崩溃信息,但是由于没有GMS,因此无法计算崩溃率和其他信息。 在华为Mate30手机(没有Google GMS服务)上进行测试,可以获取崩溃日志和相关日志事件, 但是没有诸如崩溃率之类的信息。