Docs

Deep Linking

Handle incoming deep links in your iOS app with the Grovs SDK

Conform to the GrovsDelegate protocol to receive deep link callbacks:

Swift
class YourViewController: UIViewController, GrovsDelegate {
 
    override func viewDidLoad() {
        super.viewDidLoad()
        Grovs.delegate = self
    }
 
    func grovsReceivedPayloadFromDeeplink(link: String?, payload: [String: Any]?, tracking: [String: Any]?) {
        // Route the user based on payload data
        if let screen = payload?["screen"] as? String {
            navigateTo(screen)
        }
    }
}

Retrieving past payloads

Get the most recent payload:

Swift
Grovs.lastReceivedPayload { payload in
    print("Last payload: \(payload)")
}

Get all payloads received since app launch:

Swift
Grovs.allReceivedPayloadsSinceStartup { payloads in
    for payload in payloads {
        print("Payload: \(payload)")
    }
}

Retrieve the details for a specific link path:

Swift
Grovs.linkDetails(path: "/my-link-path") { details in
    print("Link details: \(details)")
}