Inbound vs outbound App Links
- Inbound — your app is the destination. Another app or a web page launches your app via a URL, and your app must read the link data and navigate to the right screen.
- Outbound — your app sends the user somewhere else. You resolve a URL to an
AppLinkobject and then navigate to the best available target (native app → browser fallback).
Deferred deep linking
Deferred deep linking captures the user’s intent before your app is installed. When a user taps a link but doesn’t have the app installed, Facebook records the URL. On first launch after install, you can callAppLinkUtility.fetchDeferredAppLink(_:) to retrieve the original destination URL and route the user directly to the right content.
fetchDeferredAppLink(_:) only fires on the very first launch after install. Subsequent calls return immediately with nil.Universal Links vs custom URL schemes
| Mechanism | How it works |
|---|---|
| Custom URL scheme | Your app registers a URL scheme (e.g. myapp://). iOS opens your app when a URL with that scheme is tapped. |
| Universal Links | Apple-signed association between a domain and your app. iOS opens your app directly for matching https:// URLs without showing a disambiguation sheet. |
application(_:open:options:) and application(_:continue:userActivity:) to ApplicationDelegate.shared.
Integration with ApplicationDelegate
You must forward URL-related callbacks toApplicationDelegate.shared for App Links (and other SDK features such as Login) to work correctly. See Handling deep links for the full implementation.
Next steps
Handling deep links
Implement the required ApplicationDelegate hooks and route incoming App Links.