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
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
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.
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)
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