# deeplinks

Published articles for deeplinks.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Scaling with Deeplinks on Android

DevFeed: [Scaling with Deeplinks on Android](<https://devfeed.tech/articles/scaling-with-deeplinks-on-android-20042.md>)

Original publisher: [Read original article](<https://technology.doximity.com/articles/scaling-with-deeplinks-on-android>)

Author: Doximity

Published: 2024-04-08T11:34:00Z

Content type: tutorial

Language: en

Sources: [Doximity](<https://devfeed.tech/sources/doximity.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Code](<https://devfeed.tech/topics/code.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [annotation-processor](<https://devfeed.tech/tags/annotation-processor.md>), [build](<https://devfeed.tech/tags/build.md>), [code](<https://devfeed.tech/tags/code.md>), [complexity](<https://devfeed.tech/tags/complexity.md>), [deeplinks](<https://devfeed.tech/tags/deeplinks.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [library](<https://devfeed.tech/tags/library.md>), [manifest](<https://devfeed.tech/tags/manifest.md>), [mapping](<https://devfeed.tech/tags/mapping.md>), [module](<https://devfeed.tech/tags/module.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [route](<https://devfeed.tech/tags/route.md>)

### AI overview

This tutorial explains how to scale Android deeplink handling as definitions grow from a small set to dozens. It describes reducing router boilerplate with annotations and build-time code generation, and simplifying order-sensitive routing by mapping top-level paths to deeplink definitions.

### Source excerpt

Deeplinking support in Android is relatively straightforward. You declare your deeplinks in the app's manifest, receive the incoming Intent passed in to your Activity and then navigate the user to the associated destination. This pipeline works just fine when you only need to support a handful of deeplinks. What happens though as the number of deeplinks grow? How do you deal with several dozen, or possibly even hundreds, of deeplinks? First Stab at Deeplinks When we first implemented deeplinking in our app, we only had to support 12 different deeplinks. We introduced a DeeplinkRouter class that would take the incoming Intent and determine where to navigate the user: interface Deeplink { fun route(uri: Uri): Boolean } class NotificationsDeeplink(val navigator: Navigator) : Deeplink { override fun route(uri: Uri): Boolean { return if (uri.path == "/notifications") { navigator.goToNotifications() true } else { false } } class ProfileDeeplink( val navigator: Navigator, val userRepository: UserRepository ) : Deeplink { override fun route(uri: Uri): Boolean { val profileId = uri.getQueryParameter("id") val isCurrentUser = userRepository.getCurrentUser().id == profileId return if (uri.path == "/profile" && profileId != null) { navigator.goToProfile(profileId, showColleagues = isCurrentUser) true } else { false } } } // ... more deeplink definitions ... class DeeplinkRouter( notificationsDeeplink: NotificationsDeeplink, profileDeeplink: ProfileDeeplink, // ... ) { private val deeplinks = listOf( notificationsDeeplink, profileDeeplink, // ... ) fun route(intent: Intent) { intent.data?.let { uri -> deeplinks.find { it.route(uri) } } } } Problems at Scale As the number of deeplinks and the complexity of their definitions grew, two big issues started to emerge. The first was managing the sheer number of deeplinks - we had nearly 50 at one point! Each of these had to be injected into DeeplinkRouter and then passed to its internal deeplinks list. We decided to resolve this by int

## Using a script to select an Android device for ADB deeplink commands

DevFeed: [Using a script to select an Android device for ADB deeplink commands](<https://devfeed.tech/articles/making-adb-a-little-bit-dynamic-26170.md>)

Original publisher: [Read original article](<https://zarah.dev/2023/08/30/adb-deeplinks.html>)

Author: Zarah Dominguez

Published: 2023-08-30T00:00:00Z

Content type: tutorial

Language: en

Sources: [Zarah Dominguez](<https://devfeed.tech/sources/zarah-dominguez.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Script](<https://devfeed.tech/topics/script.md>), [Emulator](<https://devfeed.tech/topics/emulator.md>)

Tags: [adb](<https://devfeed.tech/tags/adb.md>), [android](<https://devfeed.tech/tags/android.md>), [debug](<https://devfeed.tech/tags/debug.md>), [deeplinks](<https://devfeed.tech/tags/deeplinks.md>), [emulator](<https://devfeed.tech/tags/emulator.md>), [regex](<https://devfeed.tech/tags/regex.md>), [script](<https://devfeed.tech/tags/script.md>), [syntax](<https://devfeed.tech/tags/syntax.md>)

### AI overview

This tutorial explains a script that makes Android Debug Bridge deeplink testing easier when multiple devices or emulators are attached. It lists available devices, prompts for a target when necessary, and sends the command to the selected device.

### Source excerpt

Android has a lot of tools for developers and one that has been around for as long as I can remember is Android Debug Bridge (adb). It allows you to issue commands to an attached device, such as installing an app or starting an Activity.

## Debugging App Links in Android 12 🔗

DevFeed: [Debugging App Links in Android 12 🔗](<https://devfeed.tech/articles/debugging-app-links-in-android-12-26167.md>)

Original publisher: [Read original article](<https://zarah.dev/2022/02/08/android12-deeplinks.html>)

Author: Zarah Dominguez

Published: 2022-02-08T00:00:00Z

Content type: tutorial

Language: en

Sources: [Zarah Dominguez](<https://devfeed.tech/sources/zarah-dominguez.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [debug](<https://devfeed.tech/topics/debug.md>), [App](<https://devfeed.tech/topics/app.md>), [Website](<https://devfeed.tech/topics/website.md>), [browser](<https://devfeed.tech/topics/browser.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [adb](<https://devfeed.tech/tags/adb.md>), [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [browser](<https://devfeed.tech/tags/browser.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [deeplinks](<https://devfeed.tech/tags/deeplinks.md>), [domain](<https://devfeed.tech/tags/domain.md>), [figure](<https://devfeed.tech/tags/figure.md>), [permission](<https://devfeed.tech/tags/permission.md>), [verification](<https://devfeed.tech/tags/verification.md>)

### AI overview

A tutorial on debugging Android App Links in Android 12. It explains the domain-approval behavior introduced in Android 12 and outlines checks for website association, domain verification, and user permissions using documentation, APIs, and ADB.

### Source excerpt

I have been working with deeplinks lately and I noticed that quite a few things have changed since I last worked with them. The most important change is quoted in the list of Android 12 behaviour changes: