Quickstart: connect your app with an SDK
OptoLink ships four SDKs. Each install page is one path from an empty project to a working link — pick yours and follow it:
| Your app is… | Follow | You end with |
|---|---|---|
| Flutter (iOS + Android from one codebase) | Flutter: install & initialize | A link tap opening your app on both platforms |
| Native iOS (Swift) | iOS: install & initialize | A Universal Link opening your app |
| Native Android (Kotlin) | Android: install & initialize | An App Link opening your app |
| Node.js 18+ (server, scripts, tooling) | Node: install & initialize | A ten-line script that creates links and QR codes |
Not building an app? The REST API reference covers the same surface with any HTTP client.
What every path needs first
-
An OptoLink organization with your app registered. Sign up, then run the onboarding wizard in Set up your organization — step ② is where the app config lives (bundle ID / package name, store URL, signing fingerprints). The mobile SDKs verify against exactly that config, so register it before you fight App Link verification.
-
The right API key tier. Minted on the portal's API keys page:
Key Prefix Works in Mobile SDK Integration Key opl_sdk_…Flutter, iOS, Android SDKs Server API Key opl_api_…Node SDK and server-side HTTP clients The tiers are enforced by the backend, not by convention: a server key in a mobile SDK, or a mobile key in the Node SDK, fails with
403. -
An OptoLink backend at v2.1.0 or newer. All four SDKs require it; the deferred-match and telemetry surfaces don't exist on older backends.
Your first win
- Mobile (Flutter / iOS / Android): the install page hands off to a quickstart or testing page — tap a link, see your app open with the resolved path, then reinstall from a click and see the deferred match land. Budget an hour the first time; the platform entitlements (associated domains, App Links), not the SDK, are what take the time.
- Node: the quickstart creates a link, prints its share URL, and fetches a QR code — working end to end in a couple of minutes.