airbnb / airbnb/DeepLinkDispatch

How to map one link to another?

Open
#263 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Kotlin
Stars
4.4k
Forks
414
PR merge metrics
No merged PRs in 30d

Description

Let say there are multiple external links that resolve to the same app link.
Ex:
`www.foo.com/home -> app://home`
`www.foo.com/dashboard -> app://home`

Yes, we can list them all in `@DeepLink` annotation but in case we have some Uri pattern matching logic in the activity, we'd need to parse all of them. It would be much easier to just rethrow the app link, so it becomes a single source of truth, without `www.foo.com/home` even hitting the activity. Is there elegant way to declare such mapping? So far I can only think of custom handling in `DeepLinkActivity`.

Contributor guide

Open the contributing guide

Research direction

Start by reading the @DeepLink annotation handling and the custom handling point in DeepLinkActivity, with the URI pattern-matching logic described in the issue as the use case. Determine whether external links can be declaratively mapped to an existing app link before reaching the activity; done means those links resolve through one app-link definition without duplicate parsing.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
mobile
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.