Rinku
1.6.0indexedLightweight library streamlining deep link management by abstracting platform-specific details, enabling unified cross-platform logic execution, rapid setup, and compatibility with various navigation libraries.
Lightweight library streamlining deep link management by abstracting platform-specific details, enabling unified cross-platform logic execution, rapid setup, and compatibility with various navigation libraries.
Rinku is a lightweight Kotlin Multiplatform library designed to simplify deep link handling across iOS and Android platforms. By abstracting platform-specific details, Rinku enables developers to manage deep links in a unified manner, enhancing code reuse and maintaining consistency across platforms.
The library is available via Maven Central
implementation("dev.theolm:rinku:<latest_version>")
implementation("dev.theolm:rinku-compose-ext:<latest_version>")
For iOS, Swift export, filters, mappers, and other platforms, see the full documentation.
Inside MainActivity.onCreate, call RinkuInit():
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
RinkuInit()
setContent { App() }
}
}
If you use Compose Multiplatform, wrap your root instead:
setContent {
Rinku { App() }
}
@Composable
fun RootApp() {
var deepLink by remember { mutableStateOf<DeepLink?>(null) }
DeepLinkListener { deepLink = it }
MainScreen(deepLink)
}
Rinku.handleDeepLink("https://example.com/second/third?user={\"name\":\"Theo\"}")
// Access parsed components
deepLink?.host
deepLink?.pathSegments // ["second", "third"]
deepLink?.parameters // { "user" = "{\"name\":\"Theo\"}" }
For type-safe arguments, custom URL schemes, filters, and iOS setup, see the full documentation.
The samples/ directory contains runnable examples demonstrating integration with popular navigation libraries:
samples/common — Shared UI components and screen definitions used by both samplessamples/voyager — Voyager integration (shared module, Android app, iOS app)samples/decompose — Decompose integration (shared module, Android app)You can find the full documentation here
Rinku is released under the MIT License. See the LICENSE file for more details.
Surfaced from shared tags and platforms — no rankings paid for.