Turn features on or off without a new release.
Create on/off flags per app and environment, and check them from your app through the SDK. Flip a flag in the dashboard and apps pick it up on their next fetch.
A switch you can flip after the app ships.
Ship the code behind a flag, then decide when to turn it on — per environment.
- 01
Create a flag
Add a key like checkout.new_flow to an app and environment, with its initial status.
- 02
Check it in your app
Call isFeatureEnabled with the key and a default value for when the flag does not exist.
- 03
Flip it when you are ready
Enable or disable the flag in the dashboard. Apps see the change on their next fetch.
One call in your app.
Available in the Android, Apple (iOS, macOS, tvOS) and Flutter SDKs, from version 9.1.0.
val smartGrow = SmartGrowSecure.init(
appId = "your-app-id",
environmentId = "your-environment-id",
apiToken = "your-api-token",
serverBaseUrl = "https://smartgrow.your-company.com",
context = applicationContext,
)
if (smartGrow.isFeatureEnabled("checkout.new_flow", defaultValue = false)) {
showNewCheckout()
} import Smart_Grow_Secure
let smartGrow = SmartGrowSecure.initialize(
appId: "your-app-id",
environmentId: "your-environment-id",
apiToken: "your-api-token",
serverBaseUrl: "https://smartgrow.your-company.com"
)
if try await smartGrow.isFeatureEnabled(key: "checkout.new_flow", defaultValue: false) {
showNewCheckout()
} import 'package:smart_grow_secure_plugin/smart_grow_secure.dart';
final smartGrow = SmartGrowSecure(
appId: 'your-app-id',
environmentId: 'your-environment-id',
apiToken: 'your-api-token',
serverBaseUrl: 'https://smartgrow.your-company.com',
);
await smartGrow.initializeSmartGrowSecure();
if (await smartGrow.isFeatureEnabled('checkout.new_flow', defaultValue: false)) {
showNewCheckout();
} What you get.
Every item here is something the product does today.
-
On/off per environment
Each app and environment has its own flags, so QA can try what production does not see yet.
-
Cached on the device
Flags are cached for 60 seconds by default. Change the cache time, refresh on demand or clear the cache from the SDK.
-
Only your signed app
Requests need the API token and your app's signing fingerprint, over a post-quantum channel on top of HTTPS.
-
Roles and audit log
Choose who can create, change or delete flags, and see every change in the audit log.