Superwall

handleDeepLink()

A function that handles deep links and triggers paywalls based on configured campaigns.

Configure deep link campaigns on the Superwall dashboard by adding the deepLink event to a campaign trigger.

Deep link events are also tracked via SuperwallEvent.deepLink and sent to your SuperwallDelegate.

Purpose

Processes a deep link URL and triggers any associated paywall campaigns configured on the Superwall dashboard.

Signature

public func handleDeepLink(_ url: URL)

Parameters

NameTypeDescription
urlURLThe deep link URL to process for paywall triggers.

Returns / State

This function returns Void. If the URL matches a campaign configured on the dashboard, it may trigger a paywall presentation.

Usage

In your SceneDelegate or AppDelegate:

func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
  guard let url = URLContexts.first?.url else { return }
  
  // Handle the deep link with Superwall
  Superwall.shared.handleDeepLink(url)
  
  // Continue with your app's deep link handling
  handleAppDeepLink(url)
}

iOS 13+ SceneDelegate:

func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
  // Handle deep link on app launch
  if let url = connectionOptions.urlContexts.first?.url {
    Superwall.shared.handleDeepLink(url)
    handleAppDeepLink(url)
  }
}

Legacy AppDelegate:

func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
  // Handle the deep link with Superwall
  Superwall.shared.handleDeepLink(url)
  
  // Continue with your app's deep link handling
  return handleAppDeepLink(url)
}

How is this guide?

On this page