年齡號誌概述

Windows Age 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 都無法確認使用者是否已驗證成年身分。 僅有18歲或以上的年齡範圍結果,並不代表已確認為成年人。

應用程式套件必須宣告該 userAccountInformation 功能。 存取年齡訊號也需用戶同意,才能讓應用程式在 Windows 隱私設定中存取帳號資訊。 若未授予存取權限,通話可能會失敗。E_ACCESSDENIED 物件 User 必須代表正在執行程序的使用者。

政策與可取得性

當 Age API 不可用或停用時,會 GetUserAgeRangeAsync 回傳 null 並 GetAgeVerificationStatusAsync 返回 NotApplicable。 管理員也可以透過群組政策或 MDM 設定預設的年齡群組或驗證狀態;設定後,API 會回傳相應的政策定義值。 應用程式必須在呼叫前確認這些方法是否可用,並保留對無法使用訊號的備援行為。

政策定義 Verified 的值是行政預設值,而非使用者完成成人驗證流程的證明。

身份提供者的年齡訊號目前僅針對 Microsoft 帳號進行檢索。 對於其他帳戶類型,當沒有設定管理預設時,會 GetUserAgeRangeAsync 回傳 null 並 GetAgeVerificationStatusAsync 返回 NotApplicable。

何時使用年齡號誌

當您的應用程式符合以下情況時,請使用年齡訊號:

  • 展示用戶生成內容、社交功能或溝通工具,可能不適合所有年齡層。
  • 提供符合年齡限制的應用內購買或虛擬貨幣。
  • 串流或播放具有成熟度評分的媒體內容。

年齡訊號在高層次的運作方式

圖示顯示應用程式與數位安全API本地服務交換年齡層資訊,該服務與設定設定溝通。

隱私權和資料處理

年齡信號以隱私為核心原則設計:

  • 未提供確切年齡或出生日期。 API 會回傳一個年齡分組和成人驗證狀態。 成人驗證並不代表已驗證的年齡或已驗證的未成年年齡層。
  • 年齡組別是通用的。 它們會針對遊戲或地區法規等各種用途,說明常見的年齡層。

平台需求

需求 詳細資料
作業系統最低版本 Windows 11
API 曲面 Windows.System.User 上的 Windows 執行階段 方法
使用者內容 呼叫僅適用於目前執行程序的使用者。
應用程式功能 應用程式套件必須宣告 userAccountInformation

參見