登录 注册

DeepLinkDispatch

去点 Star
其他
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

[![Deploy snapshot](https://github.com/airbnb/DeepLinkDispatch/actions/workflows/deploy_snapshot.yml/badge.svg)](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 为准(涉及依赖安装与环境配置,对新手门槛较高)。