DeepLinkDispatch
4,414
Stars
414
Forks
114
Watchers
52
Open Issues
待补全
许可证
Kotlin
语言
2015-06-11
创建时间
2026-11-05
最近更新
项目能做什么
基于注解的 Android 轻量级库,用于更优雅地处理 Deep Link 跳转。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
# DeepLinkDispatch
[](https://github.com/airbnb/DeepLinkDispatch/actions/workflows/deploy_snapshot.yml)
DeepLinkDispatch provides a declarative, annotation-based API to define application deep links.
You can register an `Activity` to handle specific deep links by annotating it with `@DeepLink` and a URI.
DeepLinkDispatch will parse the URI and dispatch the deep link to the appropriate `Activity`, along
with any parameters specified in the URI.
### Example
Here's an example where we register `SampleActivity` to pull out an ID from a deep link like
`example://example.com/deepLink/123`. We annotated with `@DeepLink` and specify there will be a
parameter that we'll identify with `id`.
```java
@DeepLink("example://example.com/deepLink/{id}")
public class SampleActivity extends Activity {
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
if (intent.getBooleanExtra(DeepLink.IS_DEEP_LINK, false)) {
Bundle parameters = intent.getExtras();
String idString = parameters.getString("id");
// Do something with idString
}
}
}
```
**Note:** Only the scheme, host and path elements of the URI are used for matching the incoming deeplink to the code. Query parameters or any other part of URI are not used for matching. Query parameters are handled and available in the deep link meta data, e.g. for [method call backs](README.md#query-parameters) or when [using handlers](https://github.com/airbnb/DeepLinkDispatch/edit/master/README.md#deeplinkhandler-annotations).
### Multiple Deep Links
Sometimes you'll have an Activity that handles several kinds of deep links:
```java
@DeepLink({"foo://example.com/deepLink/{id}", "foo://example.com/anotherDeepLink"})
public class MainActivity extends Activity {
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
if (intent.getBooleanExtra(DeepLink.IS_DEEP_LINK, false)) {
Bundle parameters = intent.getExtras();
String idString = parameters.getString("id");
// Do something with idString
}
}
}
```
### Manifest generation
If you have any deep links and multiple and possibly complicated (multiple versions of allowed host and path) URLs it can get
complicated to keep the `AndroidManifest.xml` entries up to date. DeepLinkDispatch allows you to (when using `ksp` and the
deeplink is in a library module) automatically generate `AndroidManifest.xml` entries and keep them up to date.
```kotlin
@DeepLink("http{scheme(|s)}://example.{domain(com|de|ro)}/deepLink/{id}", "{scheme(foo|bar)}://{host(example|another-example)}.{domain(com|de|ro)}/anotherDeepLink", activityClassFqn = "com.example.MainActivity")
class MainActivity : Activity {
@Override fun onCreate(savedInstanceState: Bundle) {
super.on
阅读完整原文
项目深度分析 AI 生成
跨平台动态深度链接云服务平台(轻量级替代 Branch)
| 产品构想 | 基于 DeepLinkDispatch 的 URI 结构规范,提供一个后端 SaaS + 短链接生成系统,支持在不发版的情况下动态重定向链接、Web 到 App 的无缝唤起及未安装情况下的落地页回退与延时唤醒。 |
| 核心功能 | 短链生成与动态映射管理、Web 端中转与降级落地页生成、剪贴板参数暂存实现延时深度链接(Deferred Deep Link)、基础点击与唤醒数据统计。 |
| 目标用户 | 独立开发者、出海中小型 App 团队、独立游戏与跨境电商运营团队。 |
| 难度/周期 | 中等 · 2 - 3 个月 · 成本:域名与云服务器(低配即可)、CDN 流量费、Apple/Google 开发者账号(用于配置 Universal Links / App Links 托管)。 |
| 收费模式 | 按月/按年订阅(SaaS),根据活跃短链数量、点击量梯级收费(提供免费额度)。 |
| 竞争风险 | iOS/Android 系统对剪贴板读取策略收紧;面临成熟商业 SDK(如 Branch/AppsFlyer)的基础免费功能竞争。 |
| 依据 | 已验证事实 |
Android 深度链接质量检测与 CI/CD 验证工具(IDE 插件 + CLI)
| 产品构想 | 针对使用 DeepLinkDispatch 或原生路由的项目,提供 Android Studio 插件和 CI/CD 自动化检查脚本,静态分析并测试 DeepLink 冲突、URI 表达式语法、AndroidManifest 漏配及系统兼容性。 |
| 核心功能 | 一键 ADB 模拟 Deep Link 唤起调试面板、KSP/Manifest 映射一致性检测、URI 路由重复与覆盖冲突预警、CI 阶段的链接完整性静态断言报告。 |
| 目标用户 | 中大型 Android 研发团队、移动端 QA 工程师。 |
| 难度/周期 | 较低 · 1 个月 · 成本:个人开发设备与时间成本,几乎无额外服务器成本。 |
| 收费模式 | 插件买断制(JetBrains Marketplace 针对高级检测功能收费)或按团队 Seat 订阅许可证。 |
| 竞争风险 | 目标用户群体小众且极客化,个人开发者付费意愿弱,主要依赖中大型企业报销。 |
| 依据 | 数据支持的判断 |
Compose Multiplatform & Kotlin 跨端统一路由治理框架
| 产品构想 | 借力 DeepLinkDispatch 的注解与编译期生成理念,为当前快速发展的 Kotlin Multiplatform (KMP) / Compose Multiplatform 生态开发一套跨 Android/iOS/Desktop 的声明式深度链接路由中间件。 |
| 核心功能 | 统一的 `@DeepLink` 多端跨平台注解支持、iOS Universal Links 与 Android App Links 统一解析规范、多端状态同步与自动导航分发中间件。 |
| 目标用户 | KMP / 跨平台 Compose 应用开发者与初创企业。 |
| 难度/周期 | 高 · 3 - 4 个月 · 成本:开发设备(Mac/Android 设备),测试用服务器托管 assetlinks.json / apple-app-site-association。 |
| 收费模式 | 双许可开源模式(AGPLv3 / 商业闭源许可商用授权)、企业级深度集成技术支持与定制开发。 |
| 竞争风险 | KMP 生态仍在发展演变,商业付费转化周期长且受官方 Navigation 演进的潜在冲击。 |
| 依据 | AI推测 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
| 项目 | 中文简介 | Stars | 语言 |
|---|---|---|---|
| hisaichi5518/DeepLinkDispatchDocumentor | 中文介绍暂未生成 Generate a document from "DeepLinkDispatch.DeepLink" annotat |
9 | Java |
| Izudinalqasam/DeepLinkDispatcherExample | 中文介绍暂未生成 Navigate in app using DeepLinkDispatcher by AirBnb |
1 | Kotlin |
| franzandel/DeepLinkDispatchTutorial | 中文介绍暂未生成 Understanding DeepLinkDispatch Library |
0 | Kotlin |
| qbait/DeeplinkDispatchTest | 中文介绍暂未生成 Sample app with DeeplinkDispatch |
0 | Java |
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。
项目优势与风险
| 技术成熟度 | 创建于 2015-06-11,近 30 天仍在推送,发布过 33 个 Release |
| 社区活跃 | Star 4,414 / Fork 414 / Issue 52(数据支持,可自行核实) |
| 许可证 | 未检测到(需人工确认) |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。