The standard solution is remote feature flagsalso called *feature toggles*, often combined with a remote configuration service. They let you enable or disable functionality for specific user groups from a dashboard, without releasing a new app-store version.
For example, you could enable a new checkout flow for 5% of users, turn on a premium feature for paid subscribers, or instantly disable a buggy screen for everyone. The app must already contain the code for the feature and the logic that checks the flag.
How it works
1. Configure a feature flag
Example: new_checkout = true for beta users
2. Remote configuration service
Evaluates targeting rules for users, groups, and app versions
3. Your mobile app evaluates the flag
Shows the new checkout when enabled, otherwise keeps the existing flow
Once this mechanism is built into your iOS or Android app, you can change targeting rules remotely. The app fetches updated values according to its refresh and activation behavior, so changes aren't necessarily instantaneous.
We want to manage feature releases for our mobile app by toggling them for targeted user groups remotely. How can we do this without pushing a new build?
I need a way to control feature releases in my mobile app for targeted user segments without forcing an app update. What should I use?
Ideal if you want a straightforward solution for iOS and Android, especially if you already use Firebase. Supports conditional values, user segments, percentage rollouts, and real-time updates.
Docs:
LaunchDarkly
A strong choice for teams needing sophisticated targeting by user, organization, device, or custom attributes, along with controlled feature releases.
Docs:
Statsig
Useful when you want feature flags alongside experimentation and product analytics. Supports user-specific targeting and gradual rollouts.
Docs:
These capabilities are documented by the respective providers.
How to implement it
Define flags in your app, such as new_checkout, dark_mode, or beta_dashboard.
Choose targeting attributes such as account tier, user role, beta-tester status, or app version.
Integrate the provider's SDK and make each feature conditional on its flag value.
Configure the target group in the provider's dashboard and publish the configuration.
Monitor and roll back using analytics, crash reporting, and an emergency disable flag.
For example:
javascript
if (featureFlags.isEnabled("new_checkout")) {
showNewCheckout();
} else {
showExistingCheckout();
}
The example is illustrative; the exact API depends on your SDK.
Important: Remote flags control code that is already installed. They cannot introduce entirely new native functionality without an app update. Also, don't use client-side flags as security controls: enforce permissions and entitlements on your backend, since client configuration can be inspected or manipulated.
What you’re looking for is feature flags (also called feature toggles) combined with remote configuration and user targeting.
This lets you release features in your mobile app gradually, control who can access them, and turn them on or off without requiring users to download a new app version—provided the feature’s code is already included in the installed app.
How it works
1. Define your user segments
Target beta testers, selected countries, subscription tiers, app versions, or a percentage of users.
2. Control features remotely
Enable a feature for 5% of users, expand to 25%, then roll it out to everyone—or disable it immediately if something goes wrong.
3. Update behavior without an app-store release
The installed app evaluates a remotely managed flag and shows or hides the feature according to its targeting rules.
Which tool should you use?
Firebase Remote Config
(Best starting point)
Ideal if you want mobile feature flags, audience targeting, percentage rollouts, and crash monitoring with relatively little setup. Supports Android, iOS, Flutter, and other platforms.
Worth evaluating if you need a dedicated feature-management platform with sophisticated targeting, release controls, and consistent flag management across mobile and backend services.
Remote flags control features that your app already knows how to render or execute. They cannot add arbitrary new native code to an installed app. For example, you can remotely enable a new checkout flow already shipped in the binary, but a new native SDK integration will generally require an app update.
My recommendation: Start with Firebase Remote Config if you already use Firebase or want a straightforward solution. Choose Statsig if experimentation and advanced feature management are central to your workflow.
One question so I can narrow this down: What is your mobile app built with?
Native iOS (Swift)
Native Android (Kotlin/Java)
React Native
Flutter
Other / undecided
Basic on/off switches and percentage rollouts
Specific users, subscription tiers, and custom attributes
To control and release features dynamically for targeted user segments in a mobile app without requiring a new store submission or app update, you should use a Feature Flag (Feature Toggle) Management System with Remote Configuration capabilities.
These services let you wrap your code in a conditional check that queries a cloud SDK at app startup or runtime, enabling instant toggling or segment targeting.
SDK Integration: You install the provider’s mobile SDK (iOS/Android) into your codebase.
Flag Wrapping: You wrap the new feature UI or logic in a conditional statement (e.g., if (flagClient.variation("new-checkout", user)) { ... }).
Remote Targeting: In the provider’s web dashboard, you define a segment (e.g., users in Beta, or users with app version≥3.2.0 ) and turn the flag ON for just that group.
Real-Time Evaluation: When the user opens your app, the SDK fetches the latest configuration, instantly enabling the feature without an app store update.