Workspace / Parameters
Starter preview

CONFIGURATION

Parameters

Define values and assign condition-based overrides.

Current version1Starter file
Parameters0Typed values
Conditions0Ordered targeting rules
Draft statusSavedNo local changes

All parameters

Organized by group

TARGETING

Conditions

Conditions are checked from top to bottom. The first matching override wins.

Evaluation order

Use the arrows to change priority.

PREVIEW

Test targeting

Check which values an app installation would receive before publishing.

App context

Paste an SDK targeting snapshot

Resolved values

Results use the current draft and the same rule order as the SDK.

VERSIONS

History & rollback

Every publish is a Git commit. Compare a version before restoring it.

Published versions

Most recent first
Connect a repository to browse version history.

REFERENCE

SDK & targeting values

Exact fields your Flutter app uses when it evaluates a condition.

This is a separate GitHub-backed SDK. It has Firebase-like fetch, activate, defaults, and conditional values, but it does not use Firebase Remote Config or Firebase Installation IDs.

Where each value comes from

TargetExact valueSource
Platformios or androidDetected by the SDK
App ID, version, buildFor example com.example.app, 2.5.74, 36Read from app metadata unless you override them in TargetingContext
Device localeFor example en_US or ar_SAOS locale, or the value you supply
Country / regionUppercase two-letter code, for example SAYour app supplies it; a public GitHub file cannot infer location from a request
Installation ID32-character lowercase hexadecimal IDGenerated by this SDK and stored in app preferences
First SDK openUTC timestampSaved by the SDK at first initialization
Date / timeUTC timestampDevice clock when the config was fetched
Any app installationtrueEvery initialized SDK installation
User ID, audiences, user properties, custom signalsKeys and values defined by your appPass them in TargetingContext; they are not discovered from Firebase Analytics

See the exact values in your app

The SDK produces the targeting snapshot on the device. Show it on a private diagnostics screen to see the exact keys and values used by conditions, including the installation ID. The dashboard cannot discover device IDs or app-supplied fields from a public file.

import 'dart:convert';
import 'package:flutter/widgets.dart';
import 'package:remote_config_kit/remote_config_kit.dart';

Widget configDebugView(RemoteConfigKit config) {
  final snapshot = const JsonEncoder.withIndent('  ')
      .convert(config.targetingSnapshot().toJson());
  return SelectableText(
    'Installation ID: ${config.installationId}\n'
    'Targeting: $snapshot',
  );
}

Copy the installation_id value into an Installation ID condition. This is an ID created by this SDK and stored in app preferences; a Firebase Installation ID will not match. The snapshot uses exact field names such as platform, app_version, build_number, locale, and custom_signal.plan. Values are case-sensitive. Optional built-in fields are null when unavailable; app-defined keys are absent until supplied. Neither matches a rule.

Target custom values

config.updateContext(
  const TargetingContext(
    country: 'SA',
    audienceIds: {'beta_testers'},
    customSignals: {'plan': 'premium'},
  ),
);

Use the same key (plan) and value (premium) in the condition editor. Call targetingSnapshot().toJson() again after changing context to verify the value your app now evaluates.

What GitHub alone cannot provide

There is no backend collecting fetch counts, discovering device IDs, measuring A/B results, building Analytics audiences, personalizing with machine learning, or pushing real-time config updates. Your app fetches the public JSON on its schedule. Anyone can read that JSON, so keep secrets and authorization checks elsewhere.

GITHUB

GitHub repositories

Sign in, choose a public repository, and publish its config file.

GitHub account

Checking GitHub sign-in…

GitHub sign-in uses a private GitHub App installed only on the repositories you select. The dashboard never receives the OAuth token in JavaScript.

Select remote config repository

The GitHub App needs Metadata read and Contents read/write for the selected repository. Choose a public repository; your Flutter app reads the JSON without signing in.

App read URL

Your Flutter app uses this public URL. It never needs GitHub sign-in or a token.

Connect a repository to see the URL.
Use a fine-grained token instead

Manual connection

If you change this path, set CONFIG_PATH in the public repository validation workflow to the same path.

The token stays in this browser tab's memory and is cleared when you reload. Give it access only to this repository with Contents: read and write.

First-time setup

  1. Create a public GitHub repository.
  2. Add the starter files from the public-repo folder.
  3. Connect it here and publish the config file.
  4. Use the public URL in the Flutter SDK.

Anyone can read values in a public config. Keep secrets and authorization decisions on your server.

PARAMETER

Add parameter

Conditional values

CONDITION

Add condition

Applies if

Choose a target to see valid values and comparisons.

GROUP

New group