Skip to content

Migration guide / Firebase Dynamic Links

Replace the route,
not just the URL.

Google set August 25, 2025 as the shutdown date for Firebase Dynamic Links. Its links and short-link API were scheduled to stop serving traffic. A replacement needs a new URL, a configured route, and app-side handling—not just a new redirect.

What this page does

Map the parts you used, preview a replacement journey, inspect a real WilderLinks route, then create and integrate your first link.

No Firebase project is connected. Nothing here imports or tests a legacy Firebase link.

Google fact

Firebase-owned .page.link domains cannot be transferred.

WilderLinks capability

Create links on a verified domain and configure their destinations.

Your action

Recreate, integrate, test, and replace the link placements you control.

01 / Concept map

Six things to replace, not six claims of parity.

The left column describes the Firebase setup you may have used. The right column names an implemented WilderLinks surface. The last column is the work you still own.

Firebase concept

Short Dynamic Link

WilderLinks

A new WilderLinks link

Create a new URL for each destination. A Firebase-owned .page.link hostname cannot move with you.

Firebase concept

Firebase URL prefix or custom domain

WilderLinks

A verified WilderLinks link domain

Use a new hostname or verify a custom hostname you own. Review DNS, Hosting rewrites, and app association before switching traffic.

Firebase concept

FDL platform parameters and fallbacks

WilderLinks

Link destinations, app profile, and routing rules

Recreate the behavior you need; review iOS, Android, desktop, and fallback destinations separately.

Firebase concept

Firebase SDK link handling

WilderLinks

WilderLinks SDK plus native app association

Update your app to receive the new host and route the resolved payload. The SDK does not configure the OS for you.

Firebase concept

Post-install continuation

WilderLinks

Token-based deferred matching

Integrate and test the token path for each platform. iOS App Store token recovery is not automatic.

Firebase concept

Firebase link statistics

WilderLinks

New WilderLinks link analytics

Measure traffic on new links. Historical Firebase analytics are not imported.

Google documents the shutdown, domain limits, and historical metadata-export format in its deprecation FAQ and export guide. Export availability after retirement is not guaranteed; use any records you already retained.

What does not carry over automatically

There is no Firebase project import, retired short-link resolver, historical analytics transfer, or automatic iOS App Store token recovery. The dashboard can create replacement links from destinations you already know, and a trusted backend can create links with an API key; neither path discovers old Firebase configurations for you.

02 / Architecture preview

See the handoff before you build it.

Choose an example. The WilderLinks side is generated by the same routing-journey model used in the Playground.

Open full Playground

Then / Firebase Dynamic Links

A historic route

  1. Person clicked a Firebase Dynamic Link.
  2. Firebase selected a configured app, store, or web path.
  3. The app handled the link through its Firebase integration.

Historical illustration only. This page does not resolve an old Firebase URL; Google said FDL-served links would stop working after shutdown.

Next / WilderLinks

A route you configure

  1. 01

    Instagram link

    A person follows the link from this source.

  2. 02

    WilderLinks receives the click

    The link enters its configured routing journey.

  3. 03

    iPhone context

    In this example, the visitor is using an iPhone.

  4. 04

    Choose app or store path

    Configured app and store destinations determine the handoff.

  5. 05

    Attempt app open

    Verified App Links or Universal Links can open the app; a configured scheme may also be attempted.

  6. 06

    Open product screen

    The integrated app handles this destination when the link is resolved.

Example: a Instagram link is clicked on iPhone. WilderLinks uses the configured mobile route; the installed app can open the product screen. The journey can be measured when events are reported.

Illustration only. These controls do not inspect your device, open an app, perform deferred matching, fetch a destination, or record analytics.

03 / Your inventory

Identify what your app used.

These choices create local guidance only. WilderLinks cannot read your Firebase project from this page.

Which link domain did you publish?
Which parts need replacement?

Your likely migration work

  • Choose a new WilderLinks link domain. Google says .page.link domains cannot be transferred.
  • Recreate each important destination and route on a new WilderLinks link; there is no Firebase project import.
  • Replace Firebase Dynamic Links receive handling with the matching WilderLinks SDK and configure iOS/Android association for the new host.

04 / Developer checklist

Make the cutover deliberate.

0 / 10 checked

This checklist lives only on this page and resets on refresh. It does not update your workspace or verify any production configuration.

05 / Real configuration check

Test the replacement link, not the old one.

After creating a WilderLinks link, paste its URL into the public tester. It calls the existing read-only configuration endpoint and reports the selected platform, route strategy, destination type, and deferred-payload status. It does not open the destination or test installed-app behavior.

Test a WilderLinks link

Uses POST /api/v1/test/resolve. Bring a real WilderLinks URL; Firebase URLs are not accepted.

06 / App integration

Choose the SDK that receives your new URL.

These handling examples come from the current framework guides and were checked against SDK source. Replace the example domain with your verified host, configure native associations, and route the returned payload in your app. Keep organization API keys on a trusted backend when creating links from a distributed app.

If the new link stays in a browser or loses context after installation, use the developer troubleshooting guides to distinguish OS association from stored routing and token handoff.

Flutter / Incoming link

Use the URL your app receives

Full Flutter guide
import 'package:wilderlinks_flutter_sdk/wilderlinks_flutter_sdk.dart';

Future<WilderlinksListener> startLinkListener() async {
  final listener = WilderlinksListener();
  listener.stream.listen((resolved) {
    if (resolved.matched) {
      print(resolved.deepLinkPayload);
      print(resolved.destinationUrl);
    }
  });
  await listener.start();
  return listener;
}

Integration excerpt, not a Firebase drop-in. The OS or host app must deliver the URL to this handler.

07 / Build the replacement

Create a real link in your own workspace.

Registration leads into the existing Getting Started flow: workspace, verified link domain, first saved link, safe route inspection, and framework guide. Return to the dashboard to manage traffic and links.

Common migration questions

Know the boundaries before switching traffic.

Can WilderLinks import my Firebase Dynamic Links project?

No. Inventory any links and metadata you retained, then create and validate replacement WilderLinks links in your workspace.

Can I keep a Firebase .page.link hostname?

No. Google says automatically provisioned .page.link domains cannot be transferred after the Dynamic Links shutdown. You need a different link domain.

Does WilderLinks test an installed app from the browser?

No. The public tester inspects saved routing configuration. Installed-app and deferred behavior still require testing on real devices.