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 返回年龄分组和年龄验证状态。
- 年龄组是通用的。 它们表示了适用于各种场景(如游戏或地区法律)的常见年龄分组。
平台要求
| 要求 | 详细信息 |
|---|---|
| 最低操作系统版本 | Windows 11 |
| API 图面 |
Windows.System.User 上的 Windows 运行时 方法 |
| 用户上下文 | 调用仅适用于运行当前进程的用户。 |
| 应用功能 | 应用包必须声明 userAccountInformation |