--- title: "Deep Linking" slug: "mapp-engage-ios-sdk-deep-linking" description: "Open specific pages of your iOS app from Mapp Engage push notifications and links: define the URL scheme, handle deep links and forward notification taps." status: "update" updated: 2026-11-02T16:21:20Z published: 2026-11-02T16:21:20Z canonical: "docs.mapp.com/mapp-engage-ios-sdk-deep-linking" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.mapp.com/llms.txt > Use this file to discover all available pages before exploring further. # Deep Linking ## Overview Deep Linking in iOS applications allows seamless navigation to specific app pages triggered by external events, such as push notifications or hyperlinks. This functionality enhances user engagement by directly linking to relevant content. > [!NOTE] > Note: > > Mapp Engage routes push-click URLs through the standard `application:openURL:options:` path. Two related flags affect that behavior: > > - `open_landing_page_inside_app` in `AppoxeeConfig.plist` — when `true`, landing-page URLs from the push payload open in an in-app web view; otherwise the system browser opens. See [Basic Automated Setup](/v1/docs/mapp-engage-ios-sdk-basic-automated-setup). > - The `apx` URL scheme below is reserved for Mapp Engage push-click handling. If you also need a custom scheme for marketing links, declare an additional entry in `CFBundleURLSchemes`. --- ## Use Case 1. **Purpose**: - Provide direct access to specific app content from external triggers. - Enhance the user journey by eliminating unnecessary navigation steps. 2. **Benefits**: - Increase user retention through targeted and efficient navigation. - Drive campaign-specific actions by linking users directly to promotional content. --- ## Implementation Details ### URL Scheme Definition Define custom URL schemes for your application in the `Info.plist` file: ```xml CFBundleURLTypes            CFBundleURLSchemes                    apx             ``` ### Handling Deep Links Implement URL handling in the `AppDelegate` class. **Swift** ```swift func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {    if url.scheme == "apx" {        let targetPage = url.host        navigateToTargetPage(targetPage)        return true    }    return false } func navigateToTargetPage(_ page: String?) {    // Implement navigation logic based on the page identifier } ``` **Objective-C** ```objectivec - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options {    if ([[url scheme] isEqualToString:@"apx"]) {        NSString *targetPage = [url host];        [self navigateToTargetPage:targetPage];        return YES;    }    return NO; } - (void)navigateToTargetPage:(NSString *)page {    // Implement navigation logic based on the page identifier } ``` ### Push Notification Integration - Include the deep link URI in the `aps` payload when sending push notifications. - If your app owns the `UNUserNotificationCenter` delegate, forward notification taps to the SDK. Implementing URL handling alone is not enough. See Forward Notification Taps in [Manual Integration in Swift](/v1/docs/mapp-engage-ios-sdk-manual-integration-swift) or [Manual Integration in Objective-C](/v1/docs/mapp-engage-ios-sdk-manual-integration-objc). > [!NOTE] > Keep in mind: > > - Test deep link handling for multiple scenarios, such as app launched, app in the background, and app not installed. > - Ensure deep links work consistently across different iOS versions. > - Document deep link formats and usage for marketing and development teams.