> ## 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.

# 兼容性

> 了解微信小程序 RUM SDK 的基础库版本、开发工具和平台 API 兼容性要求

微信小程序 RUM SDK 运行在微信小程序环境中，通过小程序基础库提供的生命周期、网络、存储、错误监听和性能 API 采集数据。接入前，请确认小程序的最低基础库版本和开发工具配置满足以下要求。

## 版本要求

| 项目      | 要求                                  | 说明                                                  |
| ------- | ----------------------------------- | --------------------------------------------------- |
| 小程序基础库  | `2.10.0+`                           | SDK 初始化会注册 `wx.onUnhandledRejection`，低于该版本的运行时不建议接入 |
| 推荐基础库   | `2.12.0+`                           | 可完整采集页面渲染、启动、脚本执行和 setData 更新耗时                     |
| 微信开发者工具 | 使用近期稳定版                             | 需要支持 npm 安装依赖并执行 **工具 > 构建 npm**                    |
| npm 包   | `@flashcatcloud/fc-sdk-miniprogram` | 包含核心能力、平台适配层和 RUM 入口                                |

<Warning>
  如果小程序允许用户在低于 `2.10.0` 的基础库中运行，SDK 初始化阶段可能无法注册未处理 Promise 拒绝监听。建议在小程序管理后台设置最低基础库版本，或在接入前根据业务覆盖范围评估低版本用户占比。
</Warning>

## 功能兼容性

| 功能           | 依赖能力                                                           | 最低基础库     | 低版本表现                       |
| ------------ | -------------------------------------------------------------- | --------- | --------------------------- |
| 页面生命周期采集     | 全局 `Page` 包装、`onLoad`、`onShow`、`onReady`、`onHide`、`onUnload`   | 基础能力      | 受小程序页面生命周期能力限制              |
| 用户操作采集       | 页面事件处理函数包装                                                     | 基础能力      | 受页面事件能力限制                   |
| 网络请求采集       | `wx.request`、`wx.uploadFile`、`wx.downloadFile`                 | 基础能力      | 不支持对应 API 时无法自动采集该类型请求      |
| 错误采集         | `wx.onError`、`wx.onUnhandledRejection`                         | `2.10.0+` | 低版本不建议启用 SDK                |
| 网络状态         | `wx.getNetworkType`、`wx.onNetworkStatusChange`                 | 基础能力      | 获取失败时会按默认连接状态处理             |
| 本地缓存         | `wx.setStorageSync`、`wx.getStorageSync`、`wx.removeStorageSync` | 基础能力      | 用于会话状态和失败 payload 重试        |
| 页面性能         | `wx.getPerformance`                                            | `2.11.0+` | 不支持时不会采集 Performance API 指标 |
| setData 更新耗时 | 页面实例 `setUpdatePerformanceListener`                            | `2.12.0+` | SDK 会检测函数是否存在，不支持时跳过该指标     |

<Note>
  `trackPerformance` 默认开启，但性能相关 API 在源码中做了兼容处理。基础库不支持 `wx.getPerformance` 或页面实例不支持 `setUpdatePerformanceListener` 时，页面、操作、请求、错误等基础事件仍可继续采集。
</Note>

## 支持的平台

| 平台                   | 支持状态   | 说明                                                  |
| -------------------- | ------ | --------------------------------------------------- |
| 微信小程序                | ✅ 支持   | SDK 面向微信小程序运行时设计                                    |
| 微信小游戏                | ❌ 不支持  | 当前 SDK 依赖小程序页面生命周期和 `Page` 包装                       |
| 其他小程序平台              | ❌ 不支持  | 支付宝、百度、字节、QQ 等小程序平台 API 不在当前支持范围内                   |
| uni-app / Taro 等跨端框架 | ⚠️ 需验证 | 如果最终产物运行在微信小程序并保留标准 `Page` 与 `wx.*` API，可在测试环境验证后接入 |

## 开发工具和构建要求

接入 npm 包时，需要在微信开发者工具中完成 npm 构建：

1. 在小程序项目根目录执行 `npm install @flashcatcloud/fc-sdk-miniprogram`
2. 在微信开发者工具中打开项目
3. 执行 **工具 > 构建 npm**
4. 确认生成的 `miniprogram_npm` 可以被小程序代码引用

<Tip>
  本地验证兼容性时，可在微信开发者工具的本地设置中选择不同调试基础库版本，分别验证初始化、自动采集和数据上报行为。
</Tip>

## 相关页面

<CardGroup cols={3}>
  <Card title="SDK 接入指南" icon="plug" href="/zh/rum/sdk/wechat-miniprogram/sdk-integration">
    完成微信小程序 RUM SDK 安装和初始化。
  </Card>

  <Card title="高级配置" icon="sliders" href="/zh/rum/sdk/wechat-miniprogram/advanced-config">
    配置代理、链路追踪、会话和手动埋点。
  </Card>

  <Card title="数据收集" icon="database" href="/zh/rum/sdk/wechat-miniprogram/data-collection">
    了解 SDK 自动采集的页面、操作、请求、错误和性能数据。
  </Card>
</CardGroup>
