Skip to main content
App Links is an open protocol developed by Facebook for cross-app and cross-platform linking. An App Link URL carries metadata that tells the receiving device how to open a specific piece of content inside an app, with a web fallback for when the app is not installed.
  • 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 AppLink object 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 call AppLinkUtility.fetchDeferredAppLink(_:) to retrieve the original destination URL and route the user directly to the right content.
import FacebookCore

AppLinkUtility.fetchDeferredAppLink { url, error in
    guard let url = url else { return }
    // Route the user to the content specified by `url`
    UIApplication.shared.open(url)
}
fetchDeferredAppLink(_:) only fires on the very first launch after install. Subsequent calls return immediately with nil.
MechanismHow it works
Custom URL schemeYour app registers a URL scheme (e.g. myapp://). iOS opens your app when a URL with that scheme is tapped.
Universal LinksApple-signed association between a domain and your app. iOS opens your app directly for matching https:// URLs without showing a disambiguation sheet.
The Facebook SDK handles both. Forward both application(_:open:options:) and application(_:continue:userActivity:) to ApplicationDelegate.shared.

Integration with ApplicationDelegate

You must forward URL-related callbacks to ApplicationDelegate.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.

Build docs developers (and LLMs) love