이 문서에서는 Windows Age API를 사용하여 연령에 적합한 앱 환경을 빌드하는 방법에 대한 자주 묻는 질문에 답변합니다.
Overview
Windows Age API란 무엇인가요?
Windows Age API는 현재 프로세스를 실행하는 사용자에게 개인 정보를 보호하는 연령 신호를 제공합니다. 정확한 연령이나 생년월일을 반환하는 대신, Windows 앱이 연령에 적합한 환경을 제공하는 데 사용할 수 있는 연령 범위 또는 성인 확인 상태를 반환합니다.
이러한 API는 Windows.System.User의 Windows 런타임 메서드입니다. 앱이 사용자의 정확한 생년월일을 받지 않고 연령 관련 사용자 경험 및 정책 결정을 내리는 데 도움이 됩니다.
사용자가 동의하면 개발자는 연령에 적합한 경험을 디자인할 때 애플리케이션에서 사용할 수 있는 연령 신호에 액세스할 수 있습니다. 애플리케이션 개발자는 해당 법률 및 요구 사항이 제품에 적용되는 방식을 결정할 책임이 있습니다.
Windows Age API의 용도는 무엇인가요?
연령이 경험과 관련된 경우 앱은 연령 신호를 사용할 수 있습니다. 예를 들어 앱은 앱이 다음과 같은 경우: 연령 신호를 사용할 수 있습니다.
- 모든 연령대에 적합하지 않을 수 있는 사용자 생성 콘텐츠, 소셜 기능 또는 통신을 표시합니다.
- 연령 제한이 적용될 수 있는 앱 내 구매 또는 가상 통화를 제공합니다.
- 연령 등급이 있는 미디어를 스트리밍하거나 재생합니다.
일반적으로 앱은 생년월일을 수집하지 않고도 연령 신호를 사용하여 콘텐츠, 기능 또는 액세스 제어를 맞춤 적용할 수 있습니다.
사용 가능한 Windows Age API는 무엇입니까?
다음 API는 다양한 시나리오를 지원합니다.
-
GetUserAgeRangeAsync는 사용자 연령 그룹의 하한과 상한(둘 다 포함)을 포함하는UserAgeRange를 반환합니다. 미리 정의된 그룹은 10세 미만, 10-12, 13-15, 16-17 및 18 이상입니다.null결과는 연령 범위를 알 수 없거나 제공되지 않음을 의미합니다. -
GetAgeVerificationStatusAsync는 사용자의 성인 확인 상태를 나타내는UserAgeVerificationStatus를 반환합니다. 임의의 연령 또는 연령대를 확인하지 않습니다.
연령 확인은 사용자의 연령 또는 연령 그룹을 확인하나요?
No. 연령 확인은 확인된 성인 상태를 제공하며, 모든 연령 또는 연령대에 대한 확인된 상태를 의미하지는 않습니다. 계정 기반 확인을 위해 성인이라고 주장하는 사용자는 해당 사용자가 성인인지 여부를 확인하는 흐름을 거쳐야 합니다. 플로우는 성인임을 주장하는 내용을 확인합니다. 아동 또는 청소년에 대해 검증된 연령을 확인하지는 않습니다.
Microsoft 계정의 연령을 확인하는 방법에 대한 자세한 내용은 Microsoft 계정의 연령 확인을(를) 참조하세요.
GetAgeVerificationStatusAsync는 성인 확인 상태를 나타냅니다.
Verified 결과는 검증된 성인 여부를 나타냅니다. 다른 결과는 사용자가 미성년자임을 입증하지 않습니다. 앱은 OptedOut 결과, Unverified 결과, 그리고 사용할 수 없거나 불확정적인 결과를 구분해야 합니다.
Windows Age API는 정식 출시되었나요?
GetUserAgeRangeAsync 및 GetAgeVerificationStatusAsync은 일반적으로 사용할 수 있습니다. 지원되는 소매 Windows 빌드는 다음과 같습니다.
- Windows 11 버전 24H2: 빌드 26100.9550 이상
- Windows 11 버전 25H2: 빌드 26200.9550 이상
Windows SDK 버전 10.0.26100.9169 이상에는 이러한 API가 포함됩니다.
내 앱에서 사용해야 하는 API는 무엇인가요?
사용:
-
GetUserAgeRangeAsync앱에 연령대가 필요하고 고유한 경험 또는 정책 논리를 적용하는 경우 -
GetAgeVerificationStatusAsync는 사용자가 성인 인증을 완료했는지 여부에 따라 결정됩니다.
앱은 시나리오에 적합한 경우 둘 이상의 연령 신호를 사용할 수 있습니다. 18세 이상의 연령 범위 결과는 그 자체로 검증된 성인임을 입증하지 않습니다.
개인 정보 및 데이터 처리
GetUserAgeRangeAsync에 대해 사용자 지정 연령 범위를 구성할 수 있나요?
No. 반환되는 GetUserAgeRangeAsync 연령 그룹은 미리 정의되어 있습니다.
API는 사용자의 정확한 연령 또는 생년월일을 반환합니까?
No.
GetUserAgeRangeAsync 는 정확한 연령이나 생년월일이 아닌 연령 그룹을 반환합니다. 예를 들어 하한과 상한이 {13, 15}인 결과는 사용자의 연령이 13~15세 연령대에 있음을 의미합니다.
GetAgeVerificationStatusAsync 는 확인된 연령 또는 확인된 연령 그룹이 아닌 성인 확인 상태를 보고합니다.
Windows Age API를 사용하려면 앱에서 사용자의 생년월일을 수집해야 합니까?
No. API의 한 가지 목적은 앱이 사용자의 생년월일을 직접 받지 않고 연령 관련 결정을 내릴 수 있도록 하는 것입니다.
앱에서 연령 신호를 저장해야 하나요?
앱은 불필요하게 연령 신호를 저장하거나 유지하지 않아야 합니다. 사용자의 연령 그룹, 확인 상태, 계정 상태 또는 해당 관리 정책이 변경될 수 있으므로 필요한 경우 신호를 가져옵니다.
사용자 및 계정 동작
지원되는 계정 유형은 무엇입니까?
ID 공급자 연령 신호는 현재 Microsoft 계정에만 사용할 수 있습니다. 다른 계정 유형의 경우 관리 기본값이 구성되지 않은 경우 GetUserAgeRangeAsync는 null를 반환하고 GetAgeVerificationStatusAsync는 NotApplicable를 반환합니다.
Age API는 어떤 사용자에 대한 정보를 반환하나요?
Age API 호출은 현재 프로세스를 실행하는 사용자에게 적용됩니다. 여러 Windows 프로필이 있는 디바이스에서 API는 활성 앱 환경에 대해 현재 사용자의 프로필을 쿼리합니다. API는 다른 프로필을 쿼리하는 메커니즘을 제공하지 않습니다.
앱이 디바이스에서 다른 사용자에 대한 연령 신호를 쿼리할 수 있나요?
No. API는 프로세스를 실행하는 사용자의 컨텍스트에서 작동합니다. 다른 사용자를 나타내는 User 개체로 Age API를 호출하면 E_ACCESSDENIED이 발생할 수 있습니다.
사용자가 Windows에 연결된 여러 계정 유형을 가지고 있는 경우 어떻게 되나요?
Windows Age API는 현재 로그인한 Windows 사용자의 컨텍스트에서 작동하며 해당 사용자의 Windows 로그인과 연결된 Microsoft 계정를 사용합니다. 앱은 쿼리에 대해 다른 연결된 계정을 선택할 수 없습니다.
나이 신호를 확인할 수 없으면 어떻게 해야 할까요?
앱은 연령 신호를 사용할 수 없거나 판별할 수 없는 경우에 대비해야 합니다.
null의 경우 GetUserAgeRangeAsync는 연령 범위를 알 수 없거나 사용할 수 없음을 의미합니다.
null를 생성할 수 있는 조건은 다음과 같습니다.
- 계정 유형은 지원되지 않습니다.
- 계정의 연령 정보가 없습니다.
- API는 관리 정책에 의해 비활성화되었습니다.
NotApplicable, TemporarilyUnavailable 또는 GetAgeVerificationStatusAsync의 경우, 사용할 수 없거나 확정되지 않은 확인 신호를 나타냅니다. 이러한 결과는 사용자가 성인 인증을 완료했는지 여부를 판단할 수 없습니다.
앱은 적절한 대체 환경을 제공해야 하며 사용할 수 없는 결과를 특정 연령 그룹 또는 확인 상태로 해석해서는 안 됩니다.
앱에서 연령 신호를 항상 사용할 수 있다고 가정해야 하나요?
No. 앱은 Age API 통합의 일부로 대체 동작을 디자인해야 합니다. 유효한 신호, 사용할 수 없거나 확정되지 않은 신호 및 액세스 거부 오류를 서로 다른 상태로 처리합니다.
앱 요구 사항 및 구현
필요한 운영 체제 및 SDK는 무엇인가요?
Windows 11은 지원되는 최소 운영 체제입니다.
GetUserAgeRangeAsync 및 GetAgeVerificationStatusAsync은 다음 지원되는 소매 빌드에서 사용할 수 있습니다.
- Windows 11 버전 24H2: 빌드 26100.9550 이상
- Windows 11 버전 25H2: 빌드 26200.9550 이상
Windows SDK 버전 10.0.26100.9169 이상을 사용하여 이러한 API를 호출하는 앱을 빌드합니다.
API는 이전 시스템이나 서비스되지 않거나 업데이트되지 않은 시스템에는 없을 수 있으므로, 호출하기 전에 API 가용성을 확인합니다.
내 앱에서 권한을 선언해야 하나요?
Yes. UWP 앱은 패키지 매니페스트에 userAccountInformation 기능을 선언해야 합니다.
<uap:Capability Name="userAccountInformation" />
필요한 액세스 권한이 없으면 앱은 사용자의 연령 데이터를 읽을 수 없습니다.
Age API를 호출하는 데 사용되는 User 개체를 가져오려면 어떻게 해야 하나요?
User.GetDefault를 사용하여 현재 프로세스를 실행 중인 사용자를 가져옵니다.
User.FindAllAsync 는 사용자를 열거할 수 있지만 프로세스를 실행하는 사용자를 나타내는 User 인스턴스로 Age API를 호출해야 합니다.
생년월일 변경 또는 생일이 연령 신호에 영향을 미치는 데 얼마나 걸리나요?
사용자가 Microsoft 계정에 연결된 생년월일을 변경하거나 생일을 맞이하는 경우 마지막 연령 신호 인출 후 24시간 이내에 변경 내용이 반영됩니다.
앱에서 연령 신호 새로 고침을 강제 적용할 수 있나요?
No. 강제 새로 고침은 지원되지 않습니다.
오류 및 대체 처리
앱은 사용할 수 없는 연령 범위를 어떻게 처리해야 하나요?
연령을 가정하지 말고 연령 범위를 사용할 수 없는 경우를 명시적으로 처리합니다.
GetUserAgeRangeAsync의 null 결과는 연령 범위를 알 수 없거나 사용할 수 없음을 의미합니다.
의도적으로 설계된 대체 경험을 사용합니다.
null를 18세 이상 그룹을 포함한 특정 연령대로 해석하지 마세요.
E_ACCESSDENIED 무엇을 의미하나요?
E_ACCESSDENIED는 호출자가 계정 정보에 액세스할 수 없거나 앱이 프로세스를 실행하는 사용자 이외의 다른 사용자의 User 개체로 API를 호출했음을 의미할 수 있습니다.
이 오류는 사용할 수 없는 신호와 구별되는 것으로 처리합니다. 사용할 수 없는 신호는 API에 따라 null, NotApplicable, 또는 TemporarilyUnavailable로 반환됩니다.
앱은 알 수 없는 검증 상태를 어떻게 처리해야 하나요?
사용할 수 없거나 확정되지 않은 검증 상태를 명시적으로 처리하고 대체 환경을 제공합니다.
NotApplicable 및 TemporarilyUnavailable은 사용자가 성인 상태를 확인했는지 여부를 판단하지 않습니다. 이러한 결과를 사용자 해석의 근거Unverified 또는 사용자가 미성년자라는 증거OptedOut로 해석하지 마세요.
또한, 다음을 참조하세요.
Windows developer