install package
firebase_core: ^2.31.1
firebase_remote_config: ^4.4.6
connect this documention this
main.dart
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
); // setup time crate this file automatic ok...
create firebase folder and config.dart file
import 'package:firebase_remote_config/firebase_remote_config.dart';
import 'package:flutter/material.dart';
class Config {
static final _config = FirebaseRemoteConfig.instance;
static Future<void> initConfig() async {
try {
await _config.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(minutes: 1),
minimumFetchInterval: const Duration(minutes: 30),
));
// Uncomment and define default values if needed
// await _config.setDefaults(const {
// "show_ads": true,
// });
await _config.fetchAndActivate();
_config.onConfigUpdated.listen((event) async {
await _config.activate();
// Optionally, add logging or other actions here
debugPrint('Remote Config updated and activated');
});
} catch (e) {
debugPrint('Failed to initialize Remote Config: $e');
}
}
static String get titleText => _config.getString('title');
}
late Future<void> _initConfigFuture;
@override
void initState() {
super.initState();
_initConfigFuture = Config.initConfig();
}
FutureBuilder<void>(
future: _initConfigFuture,
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return const SizedBox.shrink(); // Show nothing while waiting
} else if (snapshot.hasError) {
return const Text('Error loading ads');
} else {
return Text(Config.titleText);
}
},
), // Very important other wise the data not show