# @capgo/capacitor-age-range 中文文档

规范地址：https://npmcn.com/package/%40capgo/capacitor-age-range/

版本：8\.2\.3
npm 元数据更新时间：2026-10-15T06:52:13.028Z
中文译文更新时间：2026-11-09T03:47:28.945Z
软件包许可：MPL-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40capgo/capacitor-age-range
原文对照：https://npmcn.com/package/%40capgo/capacitor-age-range/?lang=original
项目主页：https://capgo.app/docs/plugins/age-range/
源码仓库：https://github.com/Cap-go/capacitor-age-range

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：76.7 kB，33 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- peer 依赖：@capacitor/core \>=8\.0\.0
- 首次发布：2026-02-01T00:16:45.076Z
- 最新版本发布：2026-10-15T06:52:12.690Z
- 近 30 天下载量：42249（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：22（近 12 个月 22 个）

## 中文简介

跨平台年龄范围检测. Google Play Age Signals on Android, Apple 已宣布年龄在iOS上.

## 安装

```sh
npm install @capgo/capacitor-age-range
```

也可以使用：`pnpm add @capgo/capacitor-age-range`、`yarn add @capgo/capacitor-age-range`、`bun add @capgo/capacitor-age-range`

## README

# 电容年龄范围

询问用户年龄范围的操作系统而不是收集出生日期:Android上的Google Play Age Signals和iOS上的Apple宣布年龄范围. 帮助应用满足年龄保证规则 一次通话.

[![Capgo - Build Capacitor apps with AI, ship updates instantly](https://capgo.app/readme-banner.svg?repo=Cap-go/capacitor-age-range)](https://capgo.app/?ref=plugin_age_range)

**队长**:在几分钟内将修正推给您的 Capacitor 用户,在没有Mac的情况下构建已签名的iOS和Android apps,并在一击中回滚.

## [\*免费开始\*](https://capgo.app/register/?ref=plugin_age_range)

14天无限自由审判. 不需要信用卡

> 🤖 **建筑与AI编码代理?** 安装 [Capgo 技能](https://capgo.app/skills/?ref=plugin_age_range) 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用 `@capgo/capacitor-age-range` 在您的电容应用程序中: `npx skills add Cap-go/capgo-skills`。然后问你的经纪人: _添加@capgo/capor-age-range到我的Capacitor应用上并把它接上。"_ [代理设置指南](https://capgo.app/agents/?ref=plugin_age_range) • 妇女 [主机磁共振](https://capgo.app/docs/ai/mcp/?ref=plugin_age_range)

![@capgo/capacitor-age-range for Capacitor apps](https://raw.githubusercontent.com/Cap-go/capacitor-age-range/main/assets/github-social-preview.png)

## 主要特点

-   **一通电话**数字 : `requestAgeRange()` 通过平台 API 返回用户的年龄范围.
-   **机器人**:使用谷歌游戏时代信号库.
-   **iOS系统**: 使用苹果的 `DeclaredAgeRange` 框架.
-   **隐私友好**:该应用程序得到的年龄范围为OS,而不是出生日期.
-   **平台**: iOS和Android. 互联网档案馆的存檔,存档日期2013-12-21. 网上不可用(`requestAgeRange()` - 扔下来).

## 为什么是老年控制者?

一个统一的, **免费**,以及 **轻型** 年龄范围插件 :

-   **跨平台** - Android和iOS的单一API
-   **保护隐私** - 没有收集出生日期,只有年龄范围
-   **监管遵守情况** - 满足COPPA、KOSA和区域适龄设计要求
-   **自动映射** - 按统一格式绘制的平台专用答复
-   **现代软件包管理** - 支持Swift软件包管理器(SPM)和CocoaPods
-   **零依赖关系** - SDKs平台外的最小足迹

## 文档

这里有最完整的医生: [https://capgo.app/docs/plugins/age-range/ (中文(简体) )](https://capgo.app/docs/plugins/age-range/)

## 兼容性

| 插件版本 | 电容兼容性 | 维护 |
| --- | --- | --- |
| 联合国 | 联合国 | ✅ |
| 页:1 | 页:1 | 应要求 |
| 页:1 | 页:1 | ❌ |
| 页:1 | 页:1 | ❌ |

> **说明:** 此插件的主要版本沿用了Capacitor的主要版本. 使用匹配您的 Capacitor 安装的版本( 如 Capacitor 8 的插件 v8) 。 只有最新的主要版本得到积极维护.

## 安装

您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :

```bash
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
```

然后使用下列提示:

```text
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-age-range` plugin in my project.
```

如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:

```bash
npm install @capgo/capacitor-age-range
npx cap sync
```

## iOS 设置

### 所需资源

-   iOS 15+ (插件编译和运行,返回) `NOT_AVAILABLE` (旧版本)
-   iOS 26+,用于实际年龄范围功能(DeclaredAgeRange框架)
-   Xcode 26+ 代码

### 应享权利

`requestAgeRange()` 需要这种能力 **在 iOS 应用程序中签名**。编辑两个文件,然后在 App ID 上启用.

#### 1\. 文件 `ios/App/App/App.entitlements`

粘贴这两行 **内部** 现有 `<dict>` (保存您已有的密钥, 例如 ) `aps-environment`:

```xml
    <key>com.apple.developer.declared-age-range</key>
    <true/>
```

如果该文件不存在, 请创建 `ios/App/App/App.entitlements` 包含此确切内容 :

```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.developer.declared-age-range</key>
    <true/>
</dict>
</plist>
```

#### 2\. 文件 `ios/App/App.xcodeproj/project.pbxproj`

应享权利文件被忽略,直到此行打开 **应用目标** 页:1 **调试和发布**。查找两个 App 目标的文件 `buildSettings` 包含 `PRODUCT_BUNDLE_IDENTIFIER` (不是项目级别配置)并添加:

```
CODE_SIGN_ENTITLEMENTS = App/App.entitlements;
```

它应坐在其他签名钥匙旁边,例如:

```
CODE_SIGN_ENTITLEMENTS = App/App.entitlements;
CODE_SIGN_STYLE = Automatic;
```

Xcode UI 执行相同的两个文件: 目标 → **签名能力( C)** → **\+ 能力** → **宣布的年龄范围**。 。 。 .

#### 3\. 苹果开发者 App ID

1.  打开 [标识符](https://developer.apple.com/account/resources/identifiers/list) 启动 **宣布的年龄范围**。 。 。 .
2.  重新生成供给配置文件,然后再次存档.

没有步骤1至步骤3,适用 `requestAgeRange()` 失败。 这个权利是 **没有** 控制App Store在澳大利亚,巴西和新加坡的18+App下载,Apple从上市年龄评级自动履行成人确认.

装运前验证 :

```bash
npx @capgo/cli@latest build prescan
```

检查ID是 `ios/entitlements-declared-age-range`。 。 。 .

### 如何运作

在iOS上, `requestAgeRange()` 提供系统对话框,让用户(或他们的监护人通过家庭共享)宣布他们的年龄范围。 这个 `ageGates` 选项控制对话框中显示的年龄边界(默认值 : `[13, 16, 18]`) (中文(简体) ).

## Android 设置

### 所需资源

-   Android API 24+ (中文(简体) )
-   已安装并更新 Google 游戏存储器

### 如何运作

Android 上的插件查询 **谷歌游戏时代信号 API** 在背景中,不显示用户提示。 Play Store从他们的Google账户中确定用户的年龄验证状态.

不需要额外许可或明显更改.

## 网页

不获支持。 网络执行抛出 `'AgeRange does not have web implementation'`。 。 。 .

## API 密码

-   [`requestAgeRange(...)`](https://npmcn.com/package/%40capgo/capacitor-age-range/#readme-requestagerange)
-   [`getPluginVersion()`](https://npmcn.com/package/%40capgo/capacitor-age-range/#readme-getpluginversion)
-   [接口](https://npmcn.com/package/%40capgo/capacitor-age-range/#readme-interfaces)
-   [类型异名](https://npmcn.com/package/%40capgo/capacitor-age-range/#readme-type-aliases)

跨平台年龄范围检测插件.

在Android上使用Google Play Age Signals,在iOS上使用Apple宣布的AgeRange.

### 请求AgeRange(...)

```typescript
requestAgeRange(options?: RequestAgeRangeOptions | undefined) => Promise<AgeRangeResult>
```

请求用户的年龄范围 .

在Android上:查询Google Play Age Signals API(没有用户提示). 在iOS上:呈现系统"宣布年龄"对话框(需要iOS 26.2+).

| 参数 | 类型 | 说明 |
| --- | --- | --- |
| **`options`** | `[RequestAgeRangeOptions](https://npmcn.com/package/%40capgo/capacitor-age-range/#readme-requestagerangeoptions)` | \- 年龄范围请求的配置 |

**回返情况:** `Promise<[AgeRangeResult](https://npmcn.com/package/%40capgo/capacitor-age-range/#readme-agerangeresult)>`

**自:** 8.0.0 (单位:千美元)

* * *

### 获取 PluginVersion ()

```typescript
getPluginVersion() => Promise<{ version: string; }>
```

获取本地 Capacitor 插件版本 .

**回返情况:** `Promise<{ version: string; }>`

**自:** 8.0.0 (单位:千美元)

* * *

### 接口

#### 年龄范围

年龄范围要求的结果.

| Prop | 类型 | 说明 | 自兹 |
| --- | --- | --- | --- |
| **`status`** | `[AgeRangeStatus](https://npmcn.com/package/%40capgo/capacitor-age-range/#readme-agerangestatus)` | 年龄范围请求的结果状态. | 8.0.0 (单位:千美元) |
| **`ageLower`** | `number` | 包含用户年龄范围的下限 。 有年龄数据时在场. | 8.0.0 (单位:千美元) |
| **`ageUpper`** | `number` | 包含用户年龄范围的上限. 如果使用者处于最高年龄段(如18岁以上),则可能缺席. | 8.0.0 (单位:千美元) |
| **`declarationSource`** | `[DeclarationSource](https://npmcn.com/package/%40capgo/capacitor-age-range/#readme-declarationsource)` | 如何宣布/确定年龄。 在iOS上:"SELF DECLARED"或"Guardian DECLARED". 在Android上:"SUPERVISED"(由保镖管理)或"VERIFIED"(Google-verified 18+). | 8.0.0 (单位:千美元) |
| **`androidUserStatus`** | `[AndroidUserStatus](https://npmcn.com/package/%40capgo/capacitor-age-range/#readme-androiduserstatus)` | 仅限机器人 用户的Google Play验证状态. | 8.0.0 (单位:千美元) |
| **`mostRecentApprovalDate`** | `string` | 仅限机器人 最近监护人批准的变更生效日期. | 8.0.0 (单位:千美元) |
| **`installId`** | `string` | 仅限机器人 在 Google Play 中安装受监管安装的标识符 . | 8.0.0 (单位:千美元) |

#### 请求年龄范围选项

年龄范围请求的选项 .

| Prop | 类型 | 说明 | 默认 | 自兹 |
| --- | --- | --- | --- | --- |
| **`ageGates`** | `number[]` | 申请的年龄门槛。 在iOS上:这些被传递给 `requestAgeRange(ageGates:)` 作为系统对话框中显示的年龄界限。 常见值: \[13, 16, 18\]. 在Android上:这个参数被忽略了(Play Age Signals返回预定义的范围:0-12,13-15,16-17,18+). | `[13, 16, 18]` | 8.0.0 (单位:千美元) |

### 类型异名

#### 年龄范围状况

年龄范围请求的顶级状态.

`'SHARING' | 'DECLINED_SHARING' | 'NOT_AVAILABLE' | 'ERROR'`

#### 宣言来源

年龄范围是如何宣布或确定的.

`'SELF_DECLARED' | 'GUARDIAN_DECLARED' | 'VERIFIED' | 'UNKNOWN'`

#### Android 用户状况

Android特有Google Play用户状态值.

`'VERIFIED' | 'SUPERVISED' | 'SUPERVISED_APPROVAL_PENDING' | 'SUPERVISED_APPROVAL_DENIED' | 'UNKNOWN' | 'EMPTY'`

## 使用量

```typescript
import { AgeRange } from '@capgo/capacitor-age-range';

// Request age range with default gates (13, 16, 18)
const result = await AgeRange.requestAgeRange();

switch (result.status) {
  case 'SHARING':
    console.log('Age range:', result.ageLower, '-', result.ageUpper);
    console.log('Source:', result.declarationSource);
    break;
  case 'DECLINED_SHARING':
    console.log('User declined to share age');
    break;
  case 'NOT_AVAILABLE':
    console.log('Age range API not available');
    break;
  case 'ERROR':
    console.log('Error occurred');
    break;
}

// Custom age gates (iOS only)
const result2 = await AgeRange.requestAgeRange({ ageGates: [13, 18] });
```

## 平台反应绘图

### Android (谷歌游戏时代信号)

| Android 用户状态 | − 状况 | ● 声明来源 |
| --- | --- | --- |
| 已证实 | 分享 | 已证实 |
| 超级 | 分享 | 瓜地安人 解开 |
| 高级 辅助 结束 | 分享 | 瓜地安人 解开 |
| 高级 APPROVAL 拒绝 | 分享 | 瓜地安人 解开 |
| 未知/ 紧急 | 解锁后共享 | \- 说吧 |

### iOS( 宣布年龄范围)

| iOS 反应 | − 状况 | ● 声明来源 |
| --- | --- | --- |
| 分享(自行宣布) | 分享 | 自行决定 |
| 分享(监护人宣布) | 分享 | 瓜地安人 解开 |
| . 下行共享 | 解锁后共享 | \- 说吧 |

## 常见问题

### @capgo/capacitor-age-range 是什么？

跨平台年龄范围检测\. Google Play Age Signals on Android, Apple 已宣布年龄在iOS上\.

### 如何安装 @capgo/capacitor-age-range？

在项目目录运行 npm install @capgo/capacitor-age-range，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@capacitor/core（\>=8\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @capgo/capacitor-age-range 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @capgo/capacitor-age-range 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @capgo/capacitor-age-range 可以商用吗？

@capgo/capacitor-age-range 使用 MPL-2\.0 许可。弱 Copyleft：可以商用，也可以和闭源代码一起使用；但如果分发时修改了 MPL 授权的文件，这些文件的修改需以 MPL 开源。以上为概括，不构成法律意见，请以许可原文为准。

### @capgo/capacitor-age-range 的下载量有多少？

根据 npm 官方下载统计，@capgo/capacitor-age-range 在 2026/10/09 – 2026/11/07 这 30 天内被下载 42,249 次，日均约 1,408 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @capgo/capacitor-age-range 还在维护吗？

最新版本 8\.2\.3 发布于 2026/10/15（25 天前）；至今共发布 22 个版本，其中过去 12 个月发布了 22 个；首次发布于 2026/02/01。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

