Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
evanca avatar

Firebase Remote Config

  • 34 installs
  • 605 repo stars
  • Updated August 4, 2026
  • evanca/flutter-ai-rules

Helps with ai & agent building tasks.

About

firebase-remote-config is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.

  • firebase-remote-config
  • AI & Agent Building
  • AI-coding skill

Firebase Remote Config by the numbers

  • 34 all-time installs (skills.sh)
  • Ranked #8,855 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/evanca/flutter-ai-rules --skill firebase-remote-config

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs34
repo stars605
Last updatedAugust 4, 2026
Repositoryevanca/flutter-ai-rules

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

Firebase Remote Config Skill

This skill defines how to correctly use Firebase Remote Config in Flutter applications.

When to Use

Use this skill when:

  • Implementing feature flags or remote configuration without deploying app updates.
  • Managing parameter defaults and fetching remote values.
  • Implementing real-time config updates for instant changes.
  • Setting up A/B testing or conditional targeting for user segments.

---

1. Setup and Configuration

flutter pub add firebase_remote_config
flutter pub add firebase_analytics  # required for conditional targeting of app instances
import 'package:firebase_remote_config/firebase_remote_config.dart';

final remoteConfig = FirebaseRemoteConfig.instance;
  • Enable Google Analytics in the Firebase project for user property and audience targeting.
  • Ensure the Remote Config REST API is not disabled — the SDK depends on it.
  • For macOS, enable Keychain Sharing in Xcode.

Configure settings:

await remoteConfig.setConfigSettings(RemoteConfigSettings(
  fetchTimeout: const Duration(minutes: 1),
  minimumFetchInterval: const Duration(hours: 1),
));

---

2. Parameter Management

Set in-app defaults (ensures the app behaves as intended before connecting to the backend):

await remoteConfig.setDefaults(const {
  "feature_new_onboarding": false,
  "max_retry_attempts": 3,
  "welcome_message": "Hello, world!",
  "promo_discount_pct": 0.0,
});

Read values with type-specific getters:

final showNewOnboarding = remoteConfig.getBool("feature_new_onboarding");
final maxRetries = remoteConfig.getInt("max_retry_attempts");
final welcomeMsg = remoteConfig.getString("welcome_message");
final discount = remoteConfig.getDouble("promo_discount_pct");
  • Never store confidential data in Remote Config keys or values — they can be accessed by end users.
  • Define parameters with the same names in the Firebase console as those in the app.
  • Group related parameters with common prefixes (e.g., login_timeout, login_attempts_max).

---

3. Fetching and Activating

await remoteConfig.fetchAndActivate();
  • Use fetchAndActivate() to fetch and apply values in a single call.
  • Alternatively, call fetch() then activate() separately to control when values take effect.
  • Activate fetched values at appropriate times (e.g., app start) for a smooth user experience.
  • Check remoteConfig.lastFetchStatus to determine if the fetch was successful, failed, or throttled.
  • Handle fetch failures gracefully — default values are used automatically when fetch fails.

---

4. Real-time Updates

remoteConfig.onConfigUpdated.listen((event) async {
  await remoteConfig.activate();
  // event.updatedKeys contains the changed parameter names
  if (event.updatedKeys.contains("feature_new_onboarding")) {
    // Refresh UI based on the new value
  }
});
  • Real-time Remote Config is not available for Web.
  • Update UI state when new configuration values are activated.
  • Ensure real-time updates do not disrupt the user experience mid-flow.

---

5. Throttling and Performance

  • Fetch calls are throttled if an app fetches too frequently.
  • Default minimum fetch interval in production: 12 hours.
  • For development, use a shorter interval — but only in debug builds:
await remoteConfig.setConfigSettings(RemoteConfigSettings(
  fetchTimeout: const Duration(minutes: 1),
  minimumFetchInterval: const Duration(minutes: 5),
));
  • Be mindful of service-side quota limits with a large user base.

---

6. Testing and Debugging

  • Use conditional values in the Firebase console to test configurations without new app deployments.
  • Implement A/B testing with different parameter values for different user segments.
  • Test the app with both default and remote values.
  • Verify graceful handling of configuration changes at runtime.
  • Test offline behavior to ensure proper fallback to defaults.

---

References

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.