flutter_config
Um plugin que expõe variáveis de ambiente ao seu código Dart no Flutter, bem como ao seu código nativo no iOS e Android. Traga um pouco do amor 12-factor para seus aplicativos Flutter
Variáveis de configuração para seus aplicativos Flutter.
{"sdk":"flutter"}{"sdk":"flutter"}Texto original em inglês. Visite o GitHub para a versão atual.
Plugin that exposes environment variables to your Dart code in Flutter as well as to your native code in iOS and Android.
Inspired by react-native-config
Create a new file .env in the root of your Flutter app:
API_URL=https://myapi.com
FABRIC_ID=abcdefgh
load all environment varibles in main.dart
import 'package:flutter_config/flutter_config.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized(); // Required by FlutterConfig
await FlutterConfig.loadEnvVariables();
runApp(MyApp());
}
Now you can access your environment varibles anywhere in your app.
import 'package:flutter_config/flutter_config.dart';
FlutterConfig.get('FABRIC_ID') // returns 'abcdefgh'
Keep in mind this module doesn't obfuscate or encrypt secrets for packaging, so do not store sensitive keys in .env. It's basically impossible to prevent users from reverse engineering mobile app secrets, so design your app (and APIs) with that in mind.
First import the plugin
import flutter_config
Then you can use the .env Variable, replace ENV_API_KEY with yours.
flutter_config.FlutterConfigPlugin.env(for: "ENV_API_KEY")
Install the latest version of the plugin
Refer to Android Setup Guide for initial setup and advanced options
No additional setup is required for iOS, however, for advanced usage refer to the iOS Setup Guide
Whenever you need to use FlutterConfig in your tests, simply use the method loadValueForTesting
import 'package:flutter_config/flutter_config.dart';
void main() {
FlutterConfig.loadValueForTesting({'BASE_URL': 'https://www.mockurl.com'});
test('mock http client test', () {
final client = HttpClient(
baseUrl: FlutterConfig.get('BASE_URL')
);
});
}