Skip to main content

SDK Health Check

The SDK Doctor tells you, at a glance, whether your mobile SDK is installed correctly and actually reporting data — so you find integration problems before they cost you attribution.

Why it exists

A silent SDK is the most expensive bug in attribution: installs happen, but nothing reaches LinkForty, and you don't notice until a campaign report comes back empty. The SDK Doctor watches the live signal — installs and in-app events — and surfaces the health of every SDK version your app is shipping.

Where to find it

A health badge sits in the dashboard sidebar:

  • 🟢 Green — events are flowing
  • 🟡 Amber — needs attention (installed, but no recent events)
  • Gray — not installed yet

Click the badge to open the SDK Doctor panel.

What it shows

Status

The Doctor reports one of three overall states:

StatusMeaning
Not installedNo install has ever been recorded for this workspace.
InstalledInstalls are recorded, but no in-app events in the last 7 days.
Events flowingAt least one in-app event in the last 7 days — the SDK is fully wired up.

Alongside the status you'll see the last install time, the last event time, and the event count over the last 24 hours.

Detected SDKs and versions

For every SDK reporting to your workspace, the Doctor lists its name (e.g. react-native, expo), the version it's sending from, and a version badge:

  • Current — up to date
  • Recent — slightly behind, still fine
  • Outdated — upgrade recommended
  • Unavailable — version couldn't be determined

It also flags version fragmentation — e.g. "react-native is sending from 2 versions: 1.3.0, 1.4.0" — which is normal during a rollout but worth watching, since newer analytics features (screen flow, session-scoped attribution) only arrive once users update.

Scan events

The Doctor caches health for 24 hours. Use Scan events to force a fresh check after you've just integrated or shipped an update.

Health data shape

The SDK Doctor is a dashboard feature; its data is served to the dashboard over a session-authenticated endpoint (not part of the API-key surface — see Authentication). The health payload looks like this:

{
"status": "events_flowing",
"lastInstallAt": "2026-06-05T14:23:12Z",
"lastEventAt": "2026-06-07T09:01:44Z",
"eventCount24h": 412,
"sdks": [
{
"name": "react-native",
"version": "1.4.0",
"versionStatus": "current",
"lastSeenAt": "2026-06-07T09:01:44Z",
"eventCount": 412
}
]
}

Use Scan events in the panel to bypass the 24-hour cache and recompute on demand.

Interpreting the result

"Not installed" but you've shipped the SDK

  • The SDK may be initialized but never reaching the network. Enable debug and check the logs for init/install errors.
  • Test on a real device — fingerprint attribution is unreliable in simulators.

"Installed" but stuck (no events)

Version fragmentation

  • Expected during a staged rollout. If it persists, prompt users to update so everyone benefits from the latest attribution and analytics features.