![](/img/trans.png)
[英]Firebase Remote Config: Can't read any values, but fetch is successful
[英]Firebase Remote Config unable to fetch values from console
我正在使用 react-native- firebase https://rnfirebase.io/remote-config/usage来尝试获取我的值。
Firebase 说它已经获取了我的值,因为我收到了这个控制台日志:
"Configs were retrieved from the backend and activated."
但是 - 当我尝试 output 时,我只能看到设置的默认值。
我知道 firebase 缓存远程配置的方式,但我仍然无法通过设置自定义缓存超时来使其工作。
我不太确定我做错了什么。
这是我在应用加载时执行的代码。
async componentDidMount() {
await remoteConfig()
.setConfigSettings({
minimumFetchInterval: 10,
minimumFetchIntervalMillis: 10000, // 10 secs
fetchTimeMillis: 10000
})
await remoteConfig()
.setDefaults({
min_app_version: 1.17,
test_param: 'disabled'
})
// await remoteConfig().fetch(0);
await remoteConfig().fetchAndActivate(0)
.then(fetchedRemotely => {
if (fetchedRemotely) {
console.log(
'+++Configs were retrieved from the backend and activated.',
);
console.log(fetchedRemotely);
} else {
console.log(
'+++++No configs were fetched from the backend, and the local configs were already activated',
);
}
});
//Code to get All parameters from Firebase Remote config
//ONLY default values show here if they are set
const parameters = remoteConfig().getAll();
Object.entries(parameters).forEach($ => {
const [key, entry] = $;
console.log('--Key: ', key);
console.log('--Source: ', entry.getSource());
console.log('--Value: ', entry.asString());
console.log('--------------------------------');
});
const minAppVersion = remoteConfig().getValue('min_app_version');
const isApplicationOn = remoteConfig().getBoolean('is_application_on');
//set value in redux (local storage)
this.props.minAppVersionFirebaseRemoteConfig(minAppVersion._value)
console.log(minAppVersion)
console.log(isApplicationOn)
}
问题是我来自 firebase 的 google plist 文件在我的 xCode 构建阶段脚本中没有正确复制,所以事情并不完全同步。
例如,我用它来复制正确的文件。 在此之前我使用的是 if/else 条件,所以我改为使用 switch sdstatement,现在它很好。
我通过使用 case/switch 而不是 if/else 来解决这个问题...
case "${CONFIGURATION}" in
"Release" )
echo "BUILD CONFIG: RELEASE"
cp -r "${RELEASE_INFO_PLIST_FILE}" "${PLIST_DESTINATION}" ;;
"dev.release" )
echo "BUILD CONFIG: RELEASE DEV"
cp -r "${RELEASE_INFO_PLIST_FILE}" "${PLIST_DESTINATION}" ;;
"Debug" )
echo "BUILD CONFIG: DEBUG"
cp -r "${DEBUG_INFO_PLIST_FILE}" "${PLIST_DESTINATION}" ;;
"dev.debug" )
echo "BUILD CONFIG: DEBUG DEV"
cp -r "${DEBUG_INFO_PLIST_FILE}" "${PLIST_DESTINATION}" ;;
*)
我真的不知道为什么 if/else 不起作用,但是,我希望这对某人有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.