> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scanova.io/llms.txt
> Use this file to discover all available pages before exploring further.

# App Deep Link QR Code

> 创建一个可深度链接到移动应用的 QR 码。

## 适用场景

如果扫描设备上已安装您的应用，App Deep Link QR 码会通过其自定义 URI scheme 直接打开应用中的特定界面。如果尚未安装，代码会回退到您应用的商店页面，最后再退回到一个纯网页。它是一种 **Quick Code**——一种没有落地页的直接动作型 QR。在应用中，其卡片上的文案是 "Open your app directly if it's installed, otherwise fall back to the store."（如果已安装则直接打开您的应用，否则回退到商店）。

<Note>
  App Deep Link **始终是动态（dynamic）** QR 码——这是必要的，因为解析逻辑（应用 → 商店 → 回退）需要在扫描时运行。您会获得一个 Scanova 短链接（`scnv.io/...`），也可以绑定自定义域名，但它本身没有落地页。
</Note>

## 解析顺序

表单分为三个部分，扫描时按以下顺序进行检查：

1. **App installed**（应用已安装）—— 设备通过匹配的 **Android app URI** 或 **iOS app URI** 直接打开您的应用。
2. **App not installed, OS recognized**（应用未安装，但识别出操作系统）—— 如果您提供了匹配的 **store link**（Google Play 或 Apple App Store），设备会被引导至该商店链接。
3. **Neither applies**（以上均不适用）—— 扫描者会被引导至 **Fallback web URL**，这也是该字段为必填项的原因。

## 创建一个 App Deep Link QR 码

<Steps>
  <Step title="打开 Create QR Code 并选择 Quick Code">
    在侧边栏中，进入 **QR Codes**，然后点击 **Create QR Code**（或前往 `/qr/create`）。点击 **Quick Code** 卡片。
  </Step>

  <Step title="选择 App Deep Link">
    在 **Quick Code** 类型网格中，点击顶部 **Dynamic** 分区下 **App Deep Link** 下方的 **Configure**（此类型没有 Static 选项）。这会打开 `/qr/quick/appDeepLink` 处的表单。
  </Step>

  <Step title="添加您的应用 URI">
    在 **App URIs** 下，至少输入 **Android app URI** 或 **iOS app URI** 之一——即您的应用注册的、用于直接打开的自定义 scheme（例如 `myapp://profile`）。
  </Step>

  <Step title="添加商店链接（可选）和回退网址">
    在 **Store links** 下，您可以选择性地添加 Google Play 和/或 Apple App Store 的网址，当应用未安装但设备操作系统被识别时会展示这些链接。在 **Fallback URL** 下，输入一个 **Fallback web URL**——此字段为必填项，因为它是所有其他情况下的最终回退目的地。

    <Frame caption="已填写应用 URI、商店链接和回退网址的 App Deep Link Quick Code 表单">
      <img src="https://mintcdn.com/scanova-api/q8t3kzcRTgAP7jV0/images/v2/qr-codes/create/app-deep-link/app-deep-link-quick-code-form.png?fit=max&auto=format&n=q8t3kzcRTgAP7jV0&q=85&s=fa5c24381e8f34cf1794154ecce881bc" alt="App Deep Link Quick Code 表单，包含 Android 和 iOS 应用 URI、可选的商店链接、必填的回退网址，以及该动态 QR 码自动生成的短链接" width="1280" height="1277" data-path="images/v2/qr-codes/create/app-deep-link/app-deep-link-quick-code-form.png" />
    </Frame>
  </Step>

  <Step title="发布">
    点击 **Publish**。会弹出一个面板，用于确认或重命名 QR 码、分配文件夹或标签，并在确认前调整 QR 码设计。
  </Step>
</Steps>

## 通过 API 创建

若要通过 API 而非界面创建 App Deep Link QR 码，请使用类别 ID `23`（在 [Create QR Code](/v1/api-reference/endpoint/qr_manager/create) 的 **Category dropdown reference** 表中标记为 **App Deep Link**，`allowed_qr_types: "dy"`——`qr_type` 只能取 `"dy"`）。与本页其他类别不同，这里的 `info` 负载是一个**裸数组**，由带类型的区块组成，而不是 `{type, data}` 对象：

```json theme={null}
[
  {
    "type": "intentUri",
    "data": [
      { "type": "android", "uri": "acmeapp://profile/42" },
      { "type": "ios", "uri": "acmeapp://profile/42" }
    ]
  },
  {
    "type": "appStore",
    "data": [
      { "type": "playStore", "url": "https://play.google.com/store/apps/details?id=com.acme.app" },
      { "type": "appleStore", "url": "https://apps.apple.com/app/id123456789" }
    ]
  },
  {
    "type": "fallback",
    "data": { "url": "https://acme.com/profile/42" }
  }
]
```

理论上每个区块都是可选的，但 `fallback` 区块的 `url` 实际上是必需的——不带回退地址发布会像仪表盘表单那样阻止验证通过。只有在您至少拥有一个应用 URI 时，才应包含 `intentUri` 区块。

完整的请求结构请参见 [Create QR Code](/v1/api-reference/endpoint/qr_manager/create)。

## 相关内容

* [App Store QR Code](/zh/qr-codes/create/app-store) —— 当您不需要应用内深度链接时，一个更简单的"跳转到商店"替代方案。
* [创建您的第一个 QR 码](/zh/getting-started/first-qr-code) —— 完整介绍此类型所属的 Quick Code 流程。
* [文件夹、标签与批量操作](/zh/qr-codes/manage/folders-tags-bulk-operations) —— 发布后整理该 QR 码。
