在应用程序 class 中加载 Firebase 远程配置

Load Firebase remote config in Application class

因为 Application 以其全局变量的使用而闻名。我在想也许最好在 Application class 的 onCreate() 方法中加载 Firebase 远程配置,所有变量都将存储为 "public static" 并具有初始值。

只是想知道这是否是个好主意,因为我曾尝试使用 classic getter/setter 将远程配置存储为私有对象,这经常导致空异常。

Firebase 远程配置是什么意思?

根据我的经验,我通常使用 Application onCreate() 来启动 Firebase 服务。

然后收集 Firebase 令牌并监听它的变化。我使用 SharedPref 来存储我的 Firebase 令牌。

这就是我的方法。

空异常的原因取决于不同的上下文。所以,最好展示一下你的实现。

不要使用应用程序。如果您拥有(或将拥有)多进程应用程序,则某些 Firebase 功能可能会遇到问题。

无法保证在您的应用中尽早调用 fetch() 会在需要时立即提供这些值。您应该考虑到加载远程配置参数可能需要一些时间来构建您的应用程序。如果您在启动时绝对需要它们,请制作一个加载屏幕并在那里开始获取,只有在它们完成加载时才会进行。

使用远程配置有不同的策略,this blog 中概述了它们。