Click Defeat ships li-nk.me smart links inside Expo
Click Defeat needed universal links, deferred deep linking, and campaign attribution without running its own link infrastructure. This case study outlines the exact setup used to roll out li-nk.me in an Expo-managed app and keep routing predictable across installs.
App architecture
Expo-managed React Native app with Firebase services and Expo Router.
Linking goal
Reliable universal links with deferred deep linking and clean UTM handoff.
Scope
Native config, runtime SDK setup, routing safeguards, and analytics mapping.
Click Defeat in action
A quick look at the in-app experience where universal links and deferred deep links land.



Two high-impact use cases
The integration focuses on attribution-ready marketing links and frictionless in-app invites.
UTM-powered universal links
Click Defeat publishes li-nk.me links on Facebook posts with campaign-specific UTM tags. Each link points to the main landing page at https://click-defeat.com, where the footer “Download now” button uses a second li-nk.me link that merges UTMs based on LinkMe settings. Because these are deferred links, attribution survives the App Store pasteboard flow and the Play Store install referrer after install.
App invites & sharing
Player invites and share flows call the LinkMe Node SDK to create links server-side. This keeps attribution and deep link routing consistent, while letting the backend generate unique invite URLs on demand.
Implementation highlights
The team focused on a minimal, repeatable integration that could be lifted into future projects.
- 1.Installed the SDK from the GitHub package to keep the app aligned with li-nk.me releases.
- 2.Configured the Expo plugin with the universal link host, associated domains, and app scheme.
- 3.Passed app keys from EXPO_PUBLIC_* env vars so the SDK could initialize at runtime.
- 4.Initialized the SDK once in the root layout with guard logic for strict mode.
- 5.Handled initial, listener, and deferred payloads with a shared router normalizer.
- 6.Added a router catch-all to redirect unknown universal links to the app shell.
- 7.Mapped LinkMe UTM fields into Firebase default event parameters and a debug event.
- 8.Validated deep linking across running, cold start, and deferred install flows.
Link resolution flow
The diagram captures how Click Defeat handles universal links, deferred installs, and analytics handoff.
Predictable routing
Universal links, deferred deep links, and in-app paths resolve consistently.
Faster QA loops
A single checklist covers configuration, routing, and analytics verification.
Reusable playbook
The integration notes can be reused as a template for future Expo apps.
Ready to replicate the rollout?
Follow the same setup to ship li-nk.me smart links in your own Expo app, with consistent routing and analytics context from the first tap.