年龄信号概述

Windows年龄 API 提供隐私保留信号,应用可用于了解已登录用户的年龄组和年龄验证状态。 API 返回粗略的信号,而不是用户的确切年龄或出生日期。 应用可以使用这些信号来调整内容、功能或访问控制,并且必须在信号不可用时提供适当的回退行为。

什么是年龄信号?

年龄信号是应用调用当前用户的 Age API 时Windows返回的值。 应用决定何时请求用户的年龄组或年龄验证状态,以通知相应的最终用户体验。

年龄信号 不会 直接公开用户的确切年龄或出生日期。 相反,它会提供一个年龄范围,供应用程序据此做出内容决策。 API GetUserAgeRangeAsync 提供以下年龄组:

  • 低于 10
  • 10-12
  • 13-15
  • 16-17
  • 18+

Windows Age API

GetUserAgeRangeAsync

该 GetUserAgeRangeAsync 方法将用户的年龄范围作为具有 Lower 和 Upper 属性的 UserAgeRange 对象返回。

年龄组 返回值
低于 10 {0, 9}
10-12 {10, 12}
13-15 {13, 15}
16-17 {16, 17}
18+ {18, INT32_MAX}
未知 null

当结果为 null 时,年龄范围未知或不可用。 应用必须使用其后备方案,不得将 null 视为特定年龄段。

GetAgeVerificationStatusAsync

该方法 GetAgeVerificationStatusAsync 返回一个 UserAgeVerificationStatus 值,该值指示为用户报告的年龄验证状态。 可能的值为:

  • Verified:已验证用户的年龄。
  • Unverified:用户年龄尚未验证。
  • OptedOut:用户已选择退出年龄验证。
  • TemporarilyUnavailable:当前无法确定状态。
  • NotApplicable:验证不适用,没有可用的验证信号,或者该功能不可用或已禁用。

应用必须处理每个值。 NotApplicable 和 TemporarilyUnavailable 并不能确定用户是已验证还是未验证。

应用包必须声明 userAccountInformation 该功能。 是否可以访问年龄信号,还取决于用户是否已在 Windows 隐私设置中同意让应用访问账户信息。 如果未授予访问权限,调用可能会失败。E_ACCESSDENIED 该 User 对象必须表示运行当前进程的用户。

策略和可用性

当 Age API 不可用或禁用时, GetUserAgeRangeAsync 返回 null 并 GetAgeVerificationStatusAsync 返回 NotApplicable。 管理员还可以通过组策略或 MDM 配置默认年龄组或验证状态;配置后,API 将返回相应的策略定义值。 应用必须在调用方法之前检查这些方法是否可用,并保留不可用信号的回退行为。

目前仅支持检索 Microsoft 帐户的身份提供者年龄信号。 对于其他账户类型,如果未配置管理默认设置,GetUserAgeRangeAsync 返回 null,GetAgeVerificationStatusAsync 返回 NotApplicable。

何时使用年龄信号

在您的应用符合以下情况时,请使用年龄信号:

  • 显示可能不适合所有年龄的用户生成内容、社交功能或通信工具。
  • 提供存在年龄限制的应用内购买或虚拟货币。
  • 流式传输或播放具有成熟度分级的媒体内容。

年龄信号的高层工作原理

示意图显示应用与数字安全 API 的本地服务交换年龄组信息,而该服务与配置设置进行通信。

隐私和数据处理

年龄信号的设计以隐私为核心原则:

  • 不返回确切年龄或出生日期。 API 返回年龄分组和年龄验证状态。
  • 年龄组是通用的。 它们表示了适用于各种场景(如游戏或地区法律)的常见年龄分组。

平台要求

要求 详细信息
最低操作系统版本 Windows 11
API 图面 Windows.System.User 上的 Windows 运行时 方法
用户上下文 调用仅适用于运行当前进程的用户。
应用功能 应用包必须声明 userAccountInformation

另见