我正在使用Firebase的
为了测试这一点,我做了以下操作:
然后,在Firebase控制台中,我将参数
获取代码:
我收到了一个
RemoteConfig
框架。从Firebase服务器获取数据运作良好(已经在生产中工作),但设置默认值似乎不起作用。我尝试遵循文档,但可能做错了什么。为了测试这一点,我做了以下操作:
[self.remoteConfig setDefaults:@{@"key1": @"value1"}];
然后,在Firebase控制台中,我将参数
key1
设置为默认值No Value
,这将向客户端发送零数据。我没有定义任何其他条件,因此这是唯一的值。根据文档,在此情况下,RemoteConfig
对象应该选择默认值。获取代码:
[self.remoteConfig fetchWithExpirationDuration:self.configurationExpirationDuration
completionHandler:^(FIRRemoteConfigFetchStatus status,
NSError * _Nullable error) {
if (status == FIRRemoteConfigFetchStatusSuccess) {
[self.remoteConfig activateFetched];
FIRRemoteConfigValue *remoteValue1 = [self.remoteConfig configValueForKey:@"key1"];
NSString *value1 = remoteValue1.stringValue;
// Logic comes here
} else {
LogError(@"Error fetching remote configuration from Firebase: %@", error);
}
remoteValue1
不是 nil
。
value1
是 nil
。
remoteValue1.dataValue
是 _NSZeroData
。
此外,当我尝试使用时
[self.remoteConfig defaultValueForKey:@"key1" namespace:nil]
我收到了一个
nil
值(假设将nil
发送给namespace
参数会给我默认的名称空间)。这里我是否有什么错误?
FIRNamespaceGoogleMobilePlatform
常量。 - Boris TalesnikNamespaceGoogleMobilePlatform
,在FIRRemoteConfig.h
中声明。 - Ashley Mills