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

# 应用管理

> 学习如何在 Flashduty 平台创建和管理 RUM 应用，包括应用创建、配置和权限管理

## 概述

RUM 应用是承载前端性能监控数据的容器，用于采集、存储和分析用户在前端应用中的真实体验数据。一个应用代表一个被监控的前端项目，可以是网站、移动应用或单页应用等。

<Tip>
  我们建议按照业务系统或应用来创建 RUM 应用，例如：官网、商城、管理后台等。
</Tip>

每个应用拥有独立的 `applicationId` 和 `clientToken`，用于识别数据来源并确保数据安全。应用创建后，您需要将 SDK 集成到您的前端代码中，以开始数据采集和监控。

## 应用权限

为了满足不同业务场景的数据安全需求，RUM 应用提供了灵活的访问级别设置：

| 访问级别   | 可见范围                     | 适用场景   |
| ------ | ------------------------ | ------ |
| **公开** | 账户内所有用户可见，可查看数据和处理 Issue | 通用业务应用 |
| **私有** | 仅创建者、账户管理员和主体账户可见        | 敏感业务数据 |

<Note>
  私有应用中，其他成员若需查看内容，可以通过分享故障链接的方式临时授权访问。
</Note>

## 创建应用

<Frame caption="RUM 应用创建界面">
  <img src="https://docs-cdn.flashcat.cloud/images/png/69baa5066dae4641adf1f769f3aacc54.png" alt="RUM 应用创建界面" />
</Frame>

通过 RUM 产品引导页面，您可以快速创建一个应用：

<Steps>
  <Step title="选择应用类型">
    选择应用对应的前端技术类型，目前支持 **JavaScript (JS)、Android、iOS**。
  </Step>

  <Step title="设置管理团队">
    指定该应用的管理团队。

    <Warning>
      团队所属成员对该应用拥有全部操作权限，非团队成员对该应用的配置仅可只读访问。
    </Warning>
  </Step>

  <Step title="配置地理信息">
    默认情况下，自动启用用户地理位置数据采集。如需禁用客户端 IP 或地理位置数据的自动采集，请关闭地理信息收集开关。

    详见 [数据收集](/zh/rum/others/data-collection)。
  </Step>

  <Step title="配置告警">
    默认情况下，自动开启告警通知，方便您及时处理错误。

    详见 [Issue 告警](/zh/rum/error-tracking/issue-alerts)。
  </Step>
</Steps>

## SDK 配置

<video controls className="w-full aspect-video rounded-xl" src="https://docs-cdn.flashcat.cloud/videos/app-sdk-config.mov" />

您可以在 **应用配置 > SDK 配置** 中修改参数并实时预览初始化代码，以便快速接入 SDK。

控制台为不同平台提供了详细的集成引导：

* **JavaScript（Web）**：配置服务名等参数后，实时预览 `flashcatRum.init()` 初始化代码
* **Android**：展示完整的集成步骤，包括添加 Gradle 依赖（`cloud.flashcat:dd-sdk-android-core` 和 `cloud.flashcat:dd-sdk-android-rum`）、在 `Application.onCreate()` 中初始化 SDK 并启用 RUM，以及可选的 WebView 追踪集成
* **iOS**：展示完整的集成步骤，包括添加 Swift Package Manager 依赖（`fc-sdk-ios`，版本 0.3.0 起）、在 `AppDelegate.didFinishLaunchingWithOptions` 中初始化 SDK 并启用 RUM，以及可选的 WebView 追踪集成

每个平台的 SDK 配置页面都会自动填入当前应用的 `applicationId` 和 `clientToken`，您可以直接复制代码到项目中使用。

<Warning>
  在应用管理中修改 SDK 配置并不会实时生效到已集成的客户端。所有配置更改需要在您的前端代码中更新并重新部署才能生效。
</Warning>

### 服务定义

服务是一个独立的、可部署的代码存储库，它映射到一组页面。

<Tabs>
  <Tab title="单体应用">
    如果您的应用程序是作为一个整体构建的，那么您的 RUM 应用只需要一个服务名称。

    ```javascript theme={null}
    flashcatRum.init({
      applicationId: 'YOUR_APP_ID',
      clientToken: 'YOUR_CLIENT_TOKEN',
      service: 'my-web-app'  // 单一服务名称
    });
    ```
  </Tab>

  <Tab title="微前端/多页面应用">
    如果您的浏览器应用程序由多个独立存储库构建，请为不同模块设置不同的服务名称。

    ```javascript theme={null}
    // 主应用
    flashcatRum.init({
      service: 'main-app'
    });

    // 子应用 A
    flashcatRum.init({
      service: 'module-a'
    });
    ```
  </Tab>
</Tabs>

## Tracing 设置

Tracing 设置允许您将 RUM 数据与后端链路追踪系统关联，实现从前端用户操作到后端服务调用的全链路可观测。

<Steps>
  <Step title="开启 Tracing">
    在应用详情的「Tracing 设置」页签中，打开 Tracing 开关。如果尚未配置跳转链接，系统会提示您先完成链接设置。
  </Step>

  <Step title="配置跳转链接">
    设置链路追踪系统的跳转链接。链接中可使用 `${trace_id}` 变量，系统会在跳转时自动替换为实际的 Trace ID。

    例如：`https://your-tracing-system.com/trace/${trace_id}`

    <Note>
      跳转链接必须以 `http://` 或 `https://` 开头。
    </Note>
  </Step>
</Steps>

配置完成后，点击 Trace ID 链接会在当前页面内以弹窗形式打开链路追踪详情，无需离开 RUM 查看器，方便您快速排查前后端关联问题。

## 隐私设置

隐私设置允许您控制 RUM SDK 采集的用户隐私数据范围，以满足不同地区的数据合规要求。

| 设置项        | 说明                       | 关联字段                                       |
| ---------- | ------------------------ | ------------------------------------------ |
| **地理位置信息** | 控制是否采集用户的国家、省份、城市等地理位置信息 | `@geo_country`、`@geo_province`、`@geo_city` |
| **IP 地址**  | 控制是否采集用户的 IPv4 和 IPv6 地址 | `@geo_ip_v4`、`@geo_ip_v6`                  |

<Warning>
  关闭地理位置或 IP 地址采集后，相关筛选和分析维度将不再可用。请根据业务需求和合规要求谨慎调整。
</Warning>

## 删除应用

如果您不再需要某个应用，可以在应用详情的「基础信息」页签底部找到删除按钮。

<Warning>
  删除应用后：

  * 不会再接收任何新事件
  * 应用的 Client Token 将被立即撤销
  * 已采集的 RUM 事件数据仍可手动导出，或通过联系支持团队恢复已删除的应用

  此操作需要 **RUM 应用删除** 权限。
</Warning>

## 下一步

<CardGroup cols={3}>
  <Card title="SDK 接入指南" icon="code" href="/zh/rum/sdk/web/sdk-integration">
    了解如何接入 RUM SDK
  </Card>

  <Card title="高级配置" icon="sliders" href="/zh/rum/sdk/web/advanced-config">
    了解 SDK 的高级配置选项
  </Card>

  <Card title="分析看板" icon="chart-line" href="/zh/rum/analytics/web">
    查看和分析 RUM 数据
  </Card>
</CardGroup>
