【问题标题】:Firebase Remote Config fetch fails on devices without play servicesFirebase 远程配置获取在没有播放服务的设备上失败
【发布时间】:2020-10-27 12:51:19
【问题描述】:

最近,我不得不更新需要 firebase 核心依赖的 crashlytic 依赖。 这会导致在没有 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 远程配置不应该依赖于谷歌播放服务,它应该毫无问题地获取,就像在其他一些关于受限api密钥的线程中我没有限制firebase api密钥一样。任何帮助和见解将不胜感激。

【问题讨论】:

标签: firebase flutter google-play-services firebase-remote-config huawei-developers


【解决方案1】:

华为设备在没有 Google 移动服务 (https://www.android.com/intl/en_uk/gms/) 的情况下运行,这意味着它们没有 Google Play 服务,一些 Firebase 库依赖于这些,而有些则没有,但是由于 Firebase 远程配置不是开源的,您可以不知道是现在用还是以后用。

最好的办法是围绕 Firebase 远程配置为自己创建一个抽象。将其视为“您的应用程序远程配置”。您可以拥有一个接口YourAppRemoteConfig,并使用Firebase 实现,然后当您检测到错误或检测到您在华为设备上运行时,您可以使用Huawei 远程配置实现您的接口的另一个版本。

Huawei Remote Configuration 和 Firebase Remote Config 一样简单易用。

  • 注册控制台并输入您的数据等后 (here)

添加依赖:

implementation 'com.huawei.agconnect:agconnect-core:1.5.2.300'
implementation 'com.huawei.agconnect:agconnect-remoteconfig:1.5.2.300'
implementation 'com.huawei.hms:hianalytics:6.0.0.300'

然后获取,就像您对远程配置的问题所做的那样:

config = AGConnectConfig.getInstance()
config.fetch(0) // a value of 0 here is for DEBUGGING ONLY, delete for prod (giving a 12 hour refresh period)
    .addOnSuccessListener {
        config.apply(it)
        Log.d(TAG, "Applied")
        //update based on RemoteConfig
    }

参考:https://blog.blundellapps.co.uk/remote-configuration-using-appgallery-connect/

【讨论】:

    【解决方案2】:

    Firebase 远程配置: Firebase一开始是不依赖GMS的,后来的版本使用了GMS的AAID,导致对GMS的依赖,但是今年二季度的新版本取消了对GMS的依赖,所以目前最新版本不依赖在 GMS 上。

    Firebase Crashlytics:依赖 GMS。 (在没有 GMS 的华为 Mate 30 上测试) 崩溃日志和崩溃信息可以上传,但是因为没有GMS,所以无法统计崩溃率等信息。 在华为Mate30手机(无谷歌GMS服务)上测试,可以获得崩溃日志和相关日志事件, 但是没有崩溃率等信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-03
      • 1970-01-01
      • 2022-07-25
      • 2013-11-16
      • 1970-01-01
      • 2014-06-13
      • 1970-01-01
      相关资源
      最近更新 更多