Operate
Migrating from Firebase Dynamic Links
Move links, apps and code from Firebase Dynamic Links.
Firebase Dynamic Links (FDL) is discontinued, so its links no longer resolve. This page maps what you had to Beck Links and lists the differences you must plan for. Migrating means new links on a new host; Beck Links cannot take over old FDL short links or domains.
1. Inventory#
List the links your app, emails and website still use. For each, note the deep link, the app routes it opens, the fallbacks and the UTM values. Pages that print or embed old links are the real work: find them first.
2. Map the parameters#
| Dynamic Links parameter | Beck Links |
|---|---|
link (the deep link) | deep_link_path (your in-app route) and data for the rest |
apn, ibi | The Android package name and iOS bundle ID in Applications (set once, not per link) |
isi, store links | App Store ID and Play Store URL in Applications |
afl, ifl, ofl (fallback links) | redirects.android, redirects.ios, redirects.desktop / web, or the project defaults |
utm_source, utm_medium, utm_campaign, utm_term, utm_content | The link's utm fields, or a campaign that sets them |
st, sd, si (social preview) | The link-preview page uses your app's name and icon; per-item cards come from the metadata API |
| The dynamic link domain | Your project's link host, {slug}.becklinks.com (see Core concepts) |
3. Create the new links#
- A handful: Create link in the dashboard.
- Many:
POST /v1/links/bulk(up to 1,000 per call) with anIdempotency-Keyper call, from a script that reads your inventory. See Create links. - One pattern for thousands of items (products, profiles): a URL template instead of a link each.
4. Replace the SDK code#
| Dynamic Links | Beck Links |
|---|---|
FirebaseDynamicLinks.instance.getInitialLink() and onLink | BeckLink.instance.onLink.listen(...) (it also delivers the launch link and the deferred link once) |
PendingDynamicLinkData.link | LinkEvent.path, LinkEvent.data, LinkEvent.params |
| Deferred link after install | LinkEvent.isDeferred, with matchMethod and confidence |
Link creation in the app (buildShortLink) | BeckLink.instance.createLink(LinkOptions(...)) |
| Analytics through Firebase | BeckLink.instance.track(...) and the dashboard's Attribution and Events |
Remove the Firebase Dynamic Links plugin and its intent filters and entitlements, then do the
Android and iOS setup for your new host. Keep your own routing;
see Handle links for go_router, Navigator and GetX.
5. Switch over#
- Ship the new app version with the Beck Links SDK and both link hosts in the manifest and entitlements, so old and new installs keep working.
- Replace links in emails, pages, QR codes and campaigns with the new ones.
- Follow Going live.
Verify it works#
Open one migrated link on a phone with the app and one without: the first opens the right screen, the second goes to the store and, after the install, delivers the deferred link (Android with Play; iOS with the pasteboard opt-in).