For MarketersFor DevelopersFor Product
8 min read

Migration Checklist

A successful migration requires careful planning. This checklist breaks down the process into manageable phases with clear action items.

What you'll learn

  • Pre-migration preparation steps
  • How to migrate existing links with minimal disruption
  • Post-migration verification and testing

Phase 1: Discovery (Week 1)

Before touching any code, understand what you're working with.

Inventory your Firebase links

  • Export all links from Firebase Console
  • List all places links are used (emails, ads, print)
  • Identify high-traffic links that need priority testing
  • Document any custom link parameters you use

Review your current implementation

  • Note Firebase SDK version in use
  • Document how your app handles incoming links
  • Check if you're using deferred deep links
  • List all domains currently configured
Gotcha

Don't skip the inventory step. Links embedded in marketing materials, email templates, and printed QR codes are easy to miss. Check with marketing and design teams for a complete picture.

Plan your timeline

  • Set migration deadline
  • Identify app release window for SDK changes
  • Coordinate with marketing for link updates
  • Schedule testing time

Phase 2: Setup (Week 2)

Get ULink configured and ready.

Create your ULink account

  • Sign up at ULink dashboard
  • Create a project for your app
  • Note your project's API key

Configure app settings

  • Enter iOS Bundle ID and Team ID
  • Enter Android package name and SHA-256 fingerprint
  • Set up fallback URLs
  • Configure social preview defaults

Set up your domain

  • Add your domain in ULink settings
  • Configure DNS records
  • Wait for DNS propagation
  • Verify domain is active
iOS tip: Add your ULink domain to Associated Domains in Xcode. ULink automatically serves the AASA file for your configured domains.

Phase 3: SDK Integration (Week 3)

Update your app to use ULink.

Install ULink SDK

  • Add ULink SDK to your project
  • Remove Firebase Dynamic Links SDK (keep other Firebase services)
  • Update import statements

See the platform-specific integration guides for detailed setup:

Update link handling

  • Replace Firebase link handler with ULink handler
  • Update parameter extraction to match ULink format
  • Test link handling in development

Update link creation (if applicable)

  • Replace Firebase link builder with ULink REST API
  • Update any server-side link generation
  • Test link creation flow

See the REST API documentation for link creation details.

Key Concept

If you're using other Firebase services (Auth, Analytics, etc.), keep those SDKs installed. Only remove the Dynamic Links specific imports and code.

Phase 4: Link Migration (Week 4)

Move your links to ULink.

High-priority links first

  • Recreate top 10 highest-traffic links in ULink
  • Update links in active campaigns
  • Update links in app store listings

Bulk migration

  • Export remaining links from Firebase
  • Recreate links in ULink via dashboard or API
  • Verify links work correctly

Update embedded links

  • Update email templates with new links
  • Update ad campaigns with new links
  • Plan replacement for printed materials

Phase 5: Testing (Week 5)

Verify everything works before going live.

Test link scenarios

  • Test iOS with app installed
  • Test iOS without app (App Store redirect)
  • Test Android with app installed
  • Test Android without app (Play Store redirect)
  • Test desktop/web fallback
  • Test deferred deep links (uninstall → click → install → open)

Test edge cases

  • Test links from different sources (email, social, SMS)
  • Test with poor network connectivity
  • Test on older OS versions
  • Test with app in background

Verify analytics

  • Confirm clicks are being tracked
  • Verify attribution data is correct
  • Test deferred deep link attribution (click → install → open)
Gotcha

Deferred deep links require complete testing: uninstall, click, install from store, open. This is often where issues hide. Test on real devices, not simulators.

Phase 6: Rollout (Week 6+)

Go live and monitor.

Staged rollout

  • Release app update with ULink SDK
  • Monitor for errors in crash reporting
  • Watch analytics for anomalies
  • Collect user feedback

Cleanup

  • Remove Firebase Dynamic Links SDK after stable release
  • Remove Firebase domain from Associated Domains (iOS)
  • Archive or delete Firebase Dynamic Links project
  • Update internal documentation

Ongoing monitoring

  • Set up alerts for link errors
  • Monitor click-through rates
  • Compare performance to Firebase baseline

Quick recap

  • Start with a complete inventory of existing links
  • Configure ULink and test before touching production
  • Follow the platform-specific SDK guides for integration
  • Test thoroughly, especially deferred deep links
  • Remove Firebase SDK only after confirming stability