我需要使用之前选择的一组用户来测试我的应用程序的一些功能。
我在哪里创建了一个受众user_id exactly matches 123456
。123456
是我自己的身份证。
在远程配置中,我创建了一个匹配上面受众中的用户的条件。
然后我在远程配置中创建了一个名为的参数,feature_available
并为条件设置了一个返回值true
。默认值为false
。
在我的应用程序中,我设置了 Firebase:
FIRApp.configure()
let remoteConfig = FIRRemoteConfig.remoteConfig()
if let remoteConfigSettings = FIRRemoteConfigSettings(developerModeEnabled: false) {
remoteConfig.configSettings = remoteConfigSettings
}
remoteConfig.setDefaultsFromPlistFileName("FirebaseRemoteConfigDefaults")
并设置用户 ID:
FIRAnalytics.setUserID("123456")
然后我从 Firebase 获取:
var expirationDuration: Double
// If in developer mode cacheExpiration is set to 0 so each fetch will retrieve values from the server.
expirationDuration = remoteConfig.configSettings.isDeveloperModeEnabled ? 0 : 3600
remoteConfig.fetch(withExpirationDuration: TimeInterval(expirationDuration)) { (status, error) -> Void in
if status == .success {
remoteConfig.activateFetched()
} else {
assertionFailure("Firebase config not fetched. Error \(error!.localizedDescription)")
}
}
我做的最后一件事是从 Firebase 获取值并检查我是否启用了该功能:
let featureIsAvailable = remoteConfig["feature_available"].boolValue
if featureIsAvailable { ... }
问题是每次从 Firebase 返回的值都是这样false
,我无法让它返回与我创建的 Audience 匹配的正确值。我还尝试设置用户属性而不是使用setUserID()
并得到相同的结果。有什么建议么?