crisp docs
⌘K
Back to app →
FDL Migration / SDK Guide

Migrating from Firebase Dynamic Links

Firebase Dynamic Links (FDL) shut down on August 25, 2025. Crisp is a drop-in resolver with the same link shape, deferred deep-link support, and one SDK call to swap. This guide takes you from a Firebase project to fully migrated in about 15 minutes.

Before you start: export your existing links from the Firebase console (Dynamic Links → ⋯ → Export). You'll upload that CSV in step 2. Your page.link domain keeps working during the cutover.

1. Install the SDK

Add the Crisp SDK to your project. React Native and Flutter ship first (thin clients — hashing is server-side); native iOS and Android follow the same surface.

terminalcopy
npm install @crisp-to/react-native @react-native-async-storage/async-storage

2. Map your domain & import

In the Crisp dashboard, open Deep links → Firebase import, add your existing page.link domain, and upload the CSV you exported. Crisp remaps every short suffix, parameter, and fallback automatically.

3. Swap the resolver call

Replace your getDynamicLink / handleUniversalLink handler with the Crisp deferred-link handler. One callback covers both live links and post-install deferred matches, so your routing logic stays.

App.tsxTypeScript
// Before — Firebase Dynamic Links
// dynamicLinks().onLink(link => { ... })

import { CrispSDK } from "@crisp-to/react-native";

CrispSDK.initialize({ apiKey: "sdk_live_…", appId: "app_…" });
CrispSDK.onDeferredLink((link) => {
  router.navigate(link.shortCode, link.params);  // fires for live AND deferred
});

4. Deferred deep links

When a user taps a link without the app installed, Crisp preserves the destination across the App Store / Play Store install. On first launch the SDK matches the install automatically — your onDeferredLink handler fires with link.deferred === true and the original params. No extra call needed.

Parameter reference

Every FDL query parameter maps to a Crisp field. The import does this automatically; the table is for links you build by hand.

FDL param
Crisp field
Purpose
← Previous
Authentication
Next →
Short links API

How can we help?

Still stuck?

Design partners get direct support from the team that built the resolver. Median first reply: 2 hours.

Email support Join the community