У меня есть параметр RemoteConfig, который я извлекаю с помощью ключа 'localization_version'
, переданного при вызове метода Future<int> versionCheck(String key)
из блока c. Проблема в том, что если я получаю значение с переданной строкой как int locValKey = remoteConfig.getInt(key);
, оно завершится неудачно и вернет '0', а если я получу его, передав фактическую строку как int v = remoteConfig.getInt('localization_version');
, то оно успешно вернет правильное значение. Почему getInt () не принимает ту же строку, переданную из метода ввода? Вы видите что-то не так?
Это методы:
Stream<DefaultsState> _mapSyncLanguagesToState(DefEvent event) {
int value = await _defaultsRepository.versionCheck('localizazion_version');
print('fetched value is $value');
}
и
Future<int> versionCheck(String key) async {
// ket is correct
print('key to fetch is: $key');
final RemoteConfig remoteConfig = await RemoteConfig.instance;
// Enable developer mode to relax fetch throttling
remoteConfig.setConfigSettings(RemoteConfigSettings(debugMode: true));
remoteConfig.setDefaults(<String, dynamic>{'localization_version': ''});
try {
// Using default duration to force fetching from remote server.
await remoteConfig.fetch(expiration: const Duration(seconds: 0));
await remoteConfig.activateFetched();
// int using key directly WORKS
int v = remoteConfig.getInt('localization_version');
print('v is : $v');
// using passed in key FAILS
int locValKey = remoteConfig.getInt(key);
print('locValKey is $locValKey');
//
return v;
} on FetchThrottledException catch (exception) {
// Fetch throttled.
print(exception);
} catch (exception) {
print('Unable to fetch remote config. Cached or default values will be '
'used');
}
}