Docs

Deep Linking

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

Using a listener

Register a listener in your launcher activity to receive deep link events:

Kotlin
Grovs.setOnDeeplinkReceivedListener(this) { deeplinkDetails ->
    val link = deeplinkDetails.link
    val payload = deeplinkDetails.data
    val tracking = deeplinkDetails.tracking
 
    Log.d("Grovs", "Opened from: $link, payload: $payload")
}

Using Kotlin Flow

If you prefer coroutines, observe the openedLinkDetails flow:

Kotlin
lifecycleScope.launch {
    Grovs.Companion::openedLinkDetails.flow.collect { deeplinkDetails ->
        deeplinkDetails?.let {
            Log.d("Grovs", "Link: ${it.link}, data: ${it.data}")
        }
    }
}

Retrieve details for a specific link path using a callback:

Kotlin
Grovs.linkDetails(
    path = "/my-link-path",
    lifecycleOwner = this,
    listener = { details, error ->
        details?.let { Log.d("Grovs", "Details: $it") }
    }
)

Or using coroutines:

Kotlin
val details = Grovs.linkDetails(path = "/my-link-path")