Get started
SDK overview
What the SDK does, which package to use, and how installs are attributed.
The Dropplink SDK goes in your app. On every launch it tells Dropplink about the install, and Dropplink answers with which link, channel and creator brought it. It also opens the right screen when someone arrives from one of your links.
What it does#
You set it up once. Every link you create in the dashboard then works with it, with no app release needed.
Choose your platform#
Android
Kotlin or Java. Android 5.0 (API 21) and up.
iOS
Swift, SwiftUI or UIKit. iOS 13 and up.
Flutter
One Dart API for Android and iOS.
React Native
React Native 0.76 and up, including Expo development builds.
Selling on a website too? The web SDK credits orders placed there to the link and creator that sent the visitor.
Flutter and React Native wrap the Android and iOS SDKs, so every platform behaves the same way.
What you need first#
- An app in Dropplink with your Android package name, your iOS bundle ID and Team ID, or both. See the Quickstart.
- An SDK key for each platform. You'll find them in Settings → SDK keys. A key is a key ID (
ak_…) and a secret. See SDK and server keys. - A live link domain and the deep link setup for it, so links open your app.
The dashboard's SDK setup page has the basic steps for each platform, with your key IDs and link domain already filled in.
How an install is attributed#
On the first launch, the SDK sends Dropplink an install ID it creates for this install, plus basic device details. Dropplink then matches the install to a tap:
Each tap can attribute only one install. If an Android install was organic only because its first launch couldn't read the referrer, a later launch that brings one upgrades it.
How deep links reach your app#
You register one listener and get every link through it:
Each link has a path, like /product/123, and params, like { "variant": "red" }. You set both on the link in the
dashboard. For a direct open, parameters in the tapped URL's query override the link's own, so
go.yourbrand.com/diwali?variant=blue opens with variant=blue. s and utm_* parameters are left out. If a link arrives before your listener is set, the SDK holds it and delivers it when you set the listener.
What the SDK takes care of#
You don't write any of this yourself: request signing, retries with backoff, reading the Play install referrer, keeping the install ID across launches, caching the attribution, and making sure the deferred link is delivered only once. The SDK never blocks app start, and it never crashes your app because of a network error.
Building your own integration?
If you can't use the SDK, for example on a platform it doesn't support, you can call the SDK API directly and sign each request yourself.