This configures the SDK, not your app
Remote config controls what the Codeskop SDK captures and sends. It isn't a feature-flag system for your own app's behavior. There's nothing to connect: the SDKs already fetch these settings from Codeskop.Change settings in the dashboard
Open SDK settings
In the dashboard, go to Settings → SDK settings and pick the project. Available on every plan; owners and admins can change settings, everyone else can view them.
Choose where the change applies
All environments sets the project's settings. To treat one environment differently (for example, to keep every request timing in Test), choose that environment and change only what should differ. Everything else follows the project. Remove the override to go back.
Save
Devices pick up the change the next time the app starts or a page loads. Browsers may reuse the previous settings for up to 5 minutes. Turning capture off for production asks you to confirm first.
The settings
| Option | Type | Description |
|---|---|---|
| Capture | on / off | The kill-switch. When off, the SDK stays running but captures and sends nothing (no crashes, errors, network calls or sessions), and your app works normally. Every plan. |
| Network monitoring | on / off | Records HTTP calls (status, latency and failures) for the Network tab and API alerts. Starter and above. |
| ANR detection | on / off | Reports Android freezes of about 5 seconds. Starter and above. |
| Product analytics | on / off | Custom events, screens and identify traits for funnels, retention and segments. Growth and Scale. |
| Request timing sample rate | 0–100% | The share of successful network calls that are timed. Failed calls are always kept. Up to your plan's rate: 10% on Free, 20% on Starter, 50% on Growth and 100% on Scale. |
| Offline queue size | MB | How much the SDK stores on the device while offline. When full, the oldest routine events are dropped first; crashes and errors are protected. Up to 5 MB on Free, 10 on Starter, 20 on Growth and 50 on Scale. |
Your plan sets the limits
Settings can only switch things off or lower them. Switches your plan doesn't include are locked in the dashboard, and sliders stop at your plan's maximum. If you change plans, the new plan's limits apply straight away; saved settings above them are capped automatically. See Plans & features.
Which SDKs apply each setting
| Setting | Android 0.3.0 | Flutter 0.3.0 | KMP / iOS (beta) | Web & React 1.3.0 |
|---|---|---|---|---|
| Capture | ✓ | ✓ | ✓ | ✓ |
| Network monitoring | ✓ | ✓ (Android) | ✓ | ✓ |
| ANR detection | ✓ | ✓ (Android) | Android only | n/a |
| Product analytics | 0.3.0+ | 0.3.0+ | 0.3.0+ | 1.3+ |
| Request timing sample rate | ✓ | ✓ | ✓ | ✓ |
| Offline queue size | ✓ | ✓ | ✓ | ✓ |
Web SDK versions before 1.2 apply only capture and network monitoring; update with npm install @codeskop/tracker@latest (and @codeskop/tracker-react@latest for React).
How the SDK uses it
- It's fetched once per app launch or page load, in the background, as part of initialization. It never blocks your app.
- The latest successful response is saved on the device.
- If a fetch fails (offline, timeout), the SDK uses the last saved settings. With none saved, it uses your in-code config, with capture on.
- Once fetched, the remote sample rates and queue size replace the
sampleRatesandmaxQueueMbyou set in code. Treat in-code values as defaults for the first launch.
The kill-switch and your own opt-out
Turning Capture off stops every device of that project (or environment) from sending anything, as they pick up the change. It's also what happens when a project's plan isn't active. Turning it back on works the same way.
Your own opt-out is separate
setEnabled(false) pauses capture on one device, for example when a user opts out of analytics. It's independent of the dashboard setting.