Migrate from Firebase Dynamic Links
Firebase Dynamic Links was deprecated by Google in August 2025. If you are still using it, now is the time to migrate.
Overview
Section titled “Overview”| Firebase concept | Tolinku equivalent |
|---|---|
| Firebase project | Appspace |
Dynamic Links domain (xxx.page.link) | Tolinku subdomain or custom domain |
| Firebase API key | API key (tolk_pub_ / tolk_sec_) |
| Dynamic Link (long or short) | Route (static or dynamic) |
| Firebase SDK (Dynamic Links module) | Tolinku SDK |
| Firebase Analytics events | Custom events via analytics/track |
Migration steps
Section titled “Migration steps”-
Create your Appspace
Sign up at app.tolinku.com and create an Appspace. Configure iOS (Bundle ID, Team ID, App Store URL) and Android (package name, SHA-256 fingerprint, Play Store URL) settings.
-
Set up your domain
Use your Tolinku subdomain or add a custom domain. If you had a custom domain with Firebase, you can repoint it to Tolinku.
-
Map your Dynamic Links to routes
Firebase Dynamic Links used a URL format like:
https://example.page.link/?link=https://myapp.com/product/123&apn=com.example.myapp&isi=123456789In Tolinku, this becomes a dynamic route:
- Prefix:
product - Path pattern:
product/:id - URL:
https://myapp.tolinku.com/product/123
Firebase’s query parameters (
apn,isi,ibi,ofl) are replaced by Appspace-level settings (package name, Bundle ID, fallback URL). - Prefix:
-
Remove the Firebase Dynamic Links SDK
Platform Remove Install iOS FirebaseDynamicLinkspod/SPMTolinkuSDKvia SPMAndroid com.google.firebase:firebase-dynamic-linkscom.tolinku:sdkFlutter firebase_dynamic_linkstolinkuReact Native @react-native-firebase/dynamic-links@tolinku/react-native-sdk -
Update initialization
// Before (Firebase)FirebaseDynamicLinks.getInstance()// After (Tolinku)Tolinku.configure(apiKey = "tolk_pub_your_key", context = this) -
Update deep link handling
// Before (Firebase)Firebase.dynamicLinks.getDynamicLink(intent).addOnSuccessListener { data ->val deepLink = data?.link}// After (Tolinku)val uri = intent.dataval path = uri?.path // "/product/123"For deferred deep linking:
// Before: Firebase handled deferred links automatically in getDynamicLink()// After (Tolinku)val link = Tolinku.deferred.claimByToken(referrerToken)if (link != null) {navigateTo(link.deepLinkPath)} -
Configure Universal Links and App Links
Firebase auto-hosted the AASA and assetlinks files. Tolinku does the same. Verify:
- Your AASA file is accessible at
https://your-domain/.well-known/apple-app-site-association - Your assetlinks file is accessible at
https://your-domain/.well-known/assetlinks.json - Update your Associated Domains entitlement (iOS) to point to the new domain.
- Update your intent filter host (Android) to the new domain.
- Your AASA file is accessible at
-
Design landing pages
Firebase showed a basic interstitial page. Tolinku lets you design custom landing pages with the visual builder. Create branded pages with product previews, app screenshots, and download buttons.
-
Test everything
- Test Universal Links on iOS and App Links on Android.
- Test deferred deep linking on fresh installs.
- Verify analytics events are being tracked.
- Check that existing shared links redirect correctly (or update them).
Handling existing Firebase links
Section titled “Handling existing Firebase links”Firebase Dynamic Links on the xxx.page.link domain will stop working when Firebase shuts down the service. For links you cannot update (shared in old emails, social posts, etc.):
- If you own the custom domain, point it to Tolinku and create matching routes.
- For links on the
page.linkdomain, there is no migration path after shutdown. Prioritize updating links in places you control (website, emails, app store listings). - Consider setting up a redirect from your website’s old link paths to the new Tolinku URLs.
Ecommerce analytics migration
Section titled “Ecommerce analytics migration”If you were using Firebase Analytics for ecommerce tracking (purchase, add_to_cart, etc.), you can migrate to Tolinku’s built-in ecommerce analytics on paid plans. Tolinku supports 13 ecommerce event types that map closely to Firebase’s standard ecommerce events:
| Firebase event | Tolinku equivalent |
|---|---|
add_to_cart | ecommerce.addToCart() |
remove_from_cart | ecommerce.removeFromCart() |
begin_checkout | ecommerce.beginCheckout() |
add_payment_info | ecommerce.addPaymentInfo() |
purchase | ecommerce.purchase() |
refund | ecommerce.refund() |
view_item | ecommerce.viewItem() |
add_to_wishlist | ecommerce.addToWishlist() |
search | ecommerce.search() |
The main advantage of using Tolinku for ecommerce tracking is that revenue is automatically attributed to your deep link campaigns, giving you a complete picture from click to purchase.