【发布时间】:2016-11-29 23:57:28
【问题描述】:
我需要使用之前选定的一组用户来测试我的应用的一些功能。
我在user_id exactly matches 123456 创建了一个受众群体。 123456 是我自己的 ID。
在远程配置中,我创建了一个匹配上面受众中的用户的条件。
然后我在远程配置中创建了一个名为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,我无法让它返回与我创建的受众匹配的正确值。
我还尝试设置用户属性而不是使用 setUserID() 并得到相同的结果。
有什么建议吗?
【问题讨论】:
标签: swift firebase analytics firebase-analytics firebase-remote-config