Deferred deep linking requires
@masivo/rn version 2.3.0 or later.What is deferred deep linking?
When someone taps a Masivo link without your app installed, they’re sent to the App Store or Play Store. Deferred deep linking recovers that original destination the first time the app opens after install, so the user lands on the right screen instead of the app’s default entry point. This feature is implemented entirely through@masivo/rn — there is no REST endpoint to call directly. The SDK handles device identification and the request to Masivo internally; you only need to wire a few pieces on app startup.
1. Provide platform adapters
The SDK does not bundle native modules for reading the Android Install Referrer or the iOS clipboard — you provide them viasetAdapters:
Both adapters are optional. If you omit one, the SDK simply skips that matching method for that platform and falls back to IP-based fingerprint matching.
2. Configure persistent storage
resolveDeferred is designed to run once per install: it stores a flag so later app launches skip the request.
If you already call
setDeviceStorage(...) for secure, Keychain-backed
persistence of your device UUID, call it after setAsyncStorage(...).
setAsyncStorage wires in-app, device, and deep link storage together;
calling setDeviceStorage afterward re-points device storage to your secure
adapter, while deep links and in-app messaging keep using AsyncStorage.3. Resolve on app startup
Call this once, early in your app’s lifecycle — you don’t need to wait for a login:If you pass a
customerId, it must already exist in Masivo — the call
fails otherwise. If your app creates an anonymous customer profile before
login (a common pattern — see Register a
customer), you can pass that id
here and later merge it into the real customer once the user signs in.
Omitting customerId entirely also works and is the simplest option for a
fresh install with no session yet.null when there is nothing to recover. Otherwise it resolves to:
Wrap the call in
try/catch — a network or server error throws instead of resolving, and the attempt is not marked as done, so it retries automatically on the next app launch.
How Android and iOS differ
- Android works automatically for any link that redirects to a Play Store listing — no configuration needed on the link itself.
- iOS requires the link to have Deferred deep linking via clipboard enabled in Advanced Settings. Without it, there’s nothing on the clipboard for the app to read, and only IP-based fingerprint matching applies.