Docs

Link Creation

Generate smart links programmatically in your iOS app

Use generateLink to create a smart link with metadata, payload data, and tracking parameters:

Swift
Grovs.generateLink(
    title: "Check out this product",
    subtitle: "Limited time offer",
    imageURL: "https://example.com/image.jpg",
    data: ["productId": "12345", "screen": "product_detail"],
    tags: ["promotion", "share"],
    customRedirects: nil,
    showPreviewiOS: true,
    showPreviewAndroid: nil,
    trackingCampaign: "spring_sale",
    trackingSource: "in_app",
    trackingMedium: "share_button"
) { url in
    guard let url = url else { return }
    print("Generated link: \(url)")
}

Parameters

ParameterTypeDescription
titleString?Link preview title
subtitleString?Link preview subtitle
imageURLString?Link preview image URL
data[String: Any]?Custom payload delivered on deep link open
tags[String]?Tags for filtering and analytics
customRedirectsCustomRedirects?Override default redirect behavior
showPreviewiOSBool?Show link preview on iOS (uses dashboard default if nil)
showPreviewAndroidBool?Show link preview on Android (uses dashboard default if nil)
trackingCampaignString?UTM campaign parameter
trackingSourceString?UTM source parameter
trackingMediumString?UTM medium parameter

A common pattern is to present a share sheet after generating a link:

Swift
Grovs.generateLink(
    title: "Share this",
    data: ["itemId": "abc"]
) { url in
    guard let url = url else { return }
    let activityVC = UIActivityViewController(activityItems: [url], applicationActivities: nil)
    self.present(activityVC, animated: true)
}