@capgo/capacitor-age-range

中文文档
8.2.3发布于 2026/10/15MPL-2.0TypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 4.2万

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

中文使用文档
文档目录23 节
  1. *免费开始*
  2. 主要特点
  3. 为什么是老年控制者?
  4. 文档
  5. 兼容性
  6. 安装
  7. iOS 设置
  8. 所需资源
  9. 应享权利
  10. 如何运作
  11. Android 设置
  12. 所需资源
  13. 如何运作
  14. 网页
  15. API 密码
  16. 请求AgeRange(...)
  17. 获取 PluginVersion ()
  18. 接口
  19. 类型异名
  20. 使用量
  21. 平台反应绘图
  22. Android (谷歌游戏时代信号)
  23. iOS( 宣布年龄范围)

电容年龄范围

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

Capgo - Build Capacitor apps with AI, ship updates instantly

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

*免费开始*

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

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

@capgo/capacitor-age-range for Capacitor apps

主要特点

  • 一通电话数字 : 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/ (中文(简体) )

兼容性

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

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

安装

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

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

然后使用下列提示:

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

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

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:

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

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

<?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. 打开 标识符 启动 宣布的年龄范围。 。 。 .
  2. 重新生成供给配置文件,然后再次存档.

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

装运前验证 :

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 密码

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

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

请求AgeRange(...)

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

请求用户的年龄范围 .

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

参数类型说明
optionsRequestAgeRangeOptions- 年龄范围请求的配置

回返情况: Promise<AgeRangeResult>

自: 8.0.0 (单位:千美元)


获取 PluginVersion ()

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

获取本地 Capacitor 插件版本 .

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

自: 8.0.0 (单位:千美元)


接口

年龄范围

年龄范围要求的结果.

Prop类型说明自兹
statusAgeRangeStatus年龄范围请求的结果状态.8.0.0 (单位:千美元)
ageLowernumber包含用户年龄范围的下限 。 有年龄数据时在场.8.0.0 (单位:千美元)
ageUppernumber包含用户年龄范围的上限. 如果使用者处于最高年龄段(如18岁以上),则可能缺席.8.0.0 (单位:千美元)
declarationSourceDeclarationSource如何宣布/确定年龄。 在iOS上:"SELF DECLARED"或"Guardian DECLARED". 在Android上:"SUPERVISED"(由保镖管理)或"VERIFIED"(Google-verified 18+).8.0.0 (单位:千美元)
androidUserStatusAndroidUserStatus仅限机器人 用户的Google Play验证状态.8.0.0 (单位:千美元)
mostRecentApprovalDatestring仅限机器人 最近监护人批准的变更生效日期.8.0.0 (单位:千美元)
installIdstring仅限机器人 在 Google Play 中安装受监管安装的标识符 .8.0.0 (单位:千美元)

请求年龄范围选项

年龄范围请求的选项 .

Prop类型说明默认自兹
ageGatesnumber[]申请的年龄门槛。 在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'

使用量

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 共发布 22 个版本,首次发布于 2026/02/01;过去 12 个月发布了 22 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
8.2.3latest2026/10/1525 天前
8.2.22026/10/1327 天前
8.2.12026/10/091 个月前
8.2.02026/10/081 个月前
8.1.172026/10/081 个月前
8.1.162026/10/081 个月前

关于 @capgo/capacitor-age-range 的常见问题

@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 和提交记录判断。