我已将 Firebase 远程配置添加到我的应用中。它成功获取配置但始终返回 0。我正在使用的代码如下。如果这viewDidLoad
有什么不同吗?
谢谢
let remoteConfig = FIRRemoteConfig.remoteConfig()
let iTry = remoteConfig["iTryAgainSessions"].numberValue!
let tryInt = Int(iTry)
print("I Try: \(tryInt)")
我已将 Firebase 远程配置添加到我的应用中。它成功获取配置但始终返回 0。我正在使用的代码如下。如果这viewDidLoad
有什么不同吗?
谢谢
let remoteConfig = FIRRemoteConfig.remoteConfig()
let iTry = remoteConfig["iTryAgainSessions"].numberValue!
let tryInt = Int(iTry)
print("I Try: \(tryInt)")
启动和运行远程配置需要做一些事情。
设置默认值:您可以设置将在尚未从服务器获取值的情况下使用的默认值。可以使用 FIRRemoteConfig setDefaults 方法设置默认值。如果未设置默认值,则将返回初始静态值。在您的情况下,这就是为什么您不断为 numberValue 获得 0,因为 number 的初始静态值为 0。
// Set default values from plist file.
self.remoteConfig = [FIRRemoteConfig remoteConfig];
[self.remoteConfig setDefaultsFromPlistFileName:@"RemoteConfigDefaults"];
获取远程值:您可以调用 FIRRemoteConfig 获取方法来获取服务器上设置的值。
应用获取的值:成功获取后,您必须调用 FIRRemoteConfig activateFetched 方法来应用从服务器检索到的值。这是为了防止您的应用程序在获取新值时突然发生变化,因此 activateFetched 方法可以让您控制何时使用这些值。如果这是您想要的,请在 fetch 返回后立即调用 activateFetched。
请注意,您应该启用开发人员模式,以便您有更多机会从服务器获取配置值,在生产应用程序中,每小时限制为 5 个请求,之后缓存的值将用于该小时的剩余时间.
在此处尝试演示上述内容的示例。