Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье приведены ответы на часто задаваемые вопросы об использовании API Windows Age для создания приложений с функциями, соответствующими возрасту.
Overview
Что такое API Age для Windows?
API Windows Age предоставляют сигналы о возрасте с сохранением конфиденциальности для пользователя, от имени которого выполняется текущий процесс. Вместо возврата точного возраста или даты рождения Windows возвращает возрастный диапазон или статус проверки совершеннолетия, который приложение может использовать для предоставления возможностей, соответствующих возрасту.
Это методы среда выполнения Windows на Windows.System.User. Они помогают приложениям принимать решения, связанные с возрастом и правилами, без получения точной даты рождения пользователя.
Если пользователь дает согласие, разработчик может получить доступ к сигналам о возрасте, которые приложения могут использовать при разработке сценариев, соответствующих возрасту. Разработчики приложений остаются ответственными за определение того, как применимые законы и требования применяются к их продуктам.
Для каких сценариев предназначены API возраста Windows?
Приложения могут использовать сигналы возраста, когда возраст имеет значение для пользовательского опыта. Например, приложение может использовать сигнал о возрасте, если оно:
- Отображает созданное пользователем содержимое, социальные функции или коммуникации, которые могут быть не подходящими для всех возрастов.
- Содержит встроенные покупки или виртуальную валюту, для которых могут применяться возрастные ограничения.
- Транслирует или воспроизводит мультимедиа с возрастными ограничениями.
В целом приложение может использовать сигнал возраста для адаптации его содержимого, функций или элементов управления доступом без сбора даты рождения.
Какие API Age для Windows доступны?
Следующие API поддерживают различные сценарии:
-
GetUserAgeRangeAsyncвозвращаетUserAgeRange, содержащий инклюзивные нижнюю и верхнюю границы возрастной группы пользователя. Предопределенные группы: до 10, 10–12, 13–15, 16–17 и 18 или старше. Результатnullозначает, что диапазон возрастов неизвестен или недоступен. -
GetAgeVerificationStatusAsyncвозвращаетUserAgeVerificationStatus, указывающий на статус подтверждения совершеннолетия пользователя. Он не проверяет любой возраст или возрастную группу.
Проверяет ли проверка возраста возраст пользователя или его возрастную группу?
No. Проверка возраста обеспечивает подтверждённый статус совершеннолетнего, а не подтверждённый статус для любого возраста или возрастной группы. Для проверки на основе учетной записи пользователь, который заявляет, что является взрослым, должен пройти процедуру, которая проверяет, является ли этот человек взрослым. Процесс проверяет заявление о совершеннолетии; он не устанавливает проверенный возраст для ребенка или подростка.
Сведения о проверке возраста для учетной записи Microsoft см. в разделе Проверка возраста для учетной записи Microsoft.
GetAgeVerificationStatusAsync сообщает о состоянии проверки возраста.
Verified Отчет о результате подтверждает проверенный статус совершеннолетнего. Другие результаты не устанавливают, что пользователь является несовершеннолетним: приложение должно различать результат Unverified, результат OptedOut и недоступные или неопределенные результаты.
Являются ли API Windows Age общедоступными?
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 сообщает о статусе проверки совершеннолетия, а не о подтверждённом возрасте или подтверждённой возрастной группе.
Нужно ли моему приложению собирать дату рождения пользователя для использования API определения возраста в Windows?
No. Одна из целей API заключается в том, чтобы приложения принимали решения, связанные с возрастом, без непосредственного получения даты рождения пользователя.
Должно ли приложение хранить сведения о возрасте?
Приложения должны избегать ненужного сохранения сигналов возраста. Получайте сигнал, если это необходимо, так как возрастная группа пользователя, статус верификации, состояние учетной записи или применимая административная политика может измениться.
Поведение пользователя и учетной записи
Какие типы учетных записей поддерживаются?
В настоящее время сигналы возраста поставщика удостоверяющих данных доступны только для учетных записей Microsoft. Для других типов учетных записей, если административное значение по умолчанию не настроено, GetUserAgeRangeAsync возвращает null, а GetAgeVerificationStatusAsync возвращает NotApplicable.
О каком пользователе API Age возвращает информацию?
Вызовы Age API применяются к пользователю, который выполняет текущий процесс. На устройстве с несколькими профилями Windows API запрашивают профиль текущего пользователя для активного сценария использования приложения. API не предоставляют механизм для запроса другого профиля.
Может ли приложение запрашивать сигнал о возрасте для другого пользователя на устройстве?
No. API работают в контексте пользователя, выполняющего процесс. Вызов API Age с объектом User, который представляет другого пользователя, может привести к E_ACCESSDENIED.
Что происходит при наличии нескольких типов учетных записей, подключенных к Windows?
API Windows Age работают в контексте текущего вошедшего в Windows пользователя и используют учетную запись Microsoft, связанную с учетной записью входа Windows этого пользователя. Приложения не могут выбрать другую подключенную учетную запись для запроса.
Что если не удается определить сигнал возраста?
Приложения должны быть подготовлены к тому, что сигнал о возрасте может быть недоступен или неопределен.
Для GetUserAgeRangeAsyncnull означает, что диапазон возрастов неизвестен или недоступен. Условия, которые могут вызывать null, включают:
- Тип учетной записи не поддерживается.
- Сведения о возрасте недоступны для учетной записи.
- API отключена административной политикой.
В случае GetAgeVerificationStatusAsync, NotApplicable или TemporarilyUnavailable обозначают недоступный или неопределенный сигнал проверки. Эти результаты не подтверждают, прошёл ли пользователь проверку совершеннолетия.
Приложения должны предоставлять соответствующий резервный вариант взаимодействия и не должны интерпретировать недоступный результат как указание на определенную возрастную группу или статус проверки.
Следует ли приложениям предполагать, что сигнал возраста всегда доступен?
No. Приложения должны предусмотреть резервный сценарий работы в рамках интеграции Age API. Обработайте допустимый сигнал, недоступный или неопределенный сигнал и ошибку отказа в доступе в виде отдельных состояний.
Требования к приложению и реализация
Какая операционная система и пакет SDK требуются?
Windows 11 — минимально поддерживаемая версия операционной системы.
GetUserAgeRangeAsync и GetAgeVerificationStatusAsync доступны в следующих поддерживаемых розничных сборках:
- Windows 11 версии 24H2: сборка 26100.9550 или более поздняя.
- Windows 11 версии 25H2: сборка 26200.9550 или более поздняя.
Используйте пакет SDK Windows версии 10.0.26100.9169 или более поздней, чтобы создать приложение, которое вызывает эти API.
Так как API может отсутствовать в более старой или необслуживаемой системе, проверьте доступность API перед вызовом API.
Требуется ли приложению объявить функцию?
Yes. Приложение UWP должно объявить возможность userAccountInformation в манифесте пакета:
<uap:Capability Name="userAccountInformation" />
Без требуемого доступа приложение не может считывать данные о возрасте пользователя.
Как получить объект User, используемый для вызова API age?
Используйте User.GetDefault, чтобы получить пользователя, под которым выполняется текущий процесс.
User.FindAllAsync может перечислить пользователей, но API Age необходимо вызывать с экземпляром User, который представляет пользователя, выполняющего процесс.
Сколько времени требуется для изменения даты рождения или наступления дня рождения, чтобы повлиять на сигнал возраста?
Если пользователь изменяет дату рождения, связанную с его учетной записью Microsoft, или у него день рождения, изменение отражается в течение 24 часов после последнего получения сигнала о возрасте.
Может ли приложение принудительно обновить возрастной сигнал?
No. Принудительное обновление не поддерживается.
Обработка ошибок и резервных сценариев
Как приложение должно обрабатывать недоступную возрастную группу?
Явно обрабатывайте недоступный возрастной диапазон, вместо того чтобы предполагать возраст. Результат из GetUserAgeRangeAsyncnull означает, что возрастной диапазон неизвестен или недоступен.
Используйте намеренно разработанный резервный сценарий работы. Не интерпретируйте null как определенную возрастную группу, включая группу 18 лет и старше.
Что означает E_ACCESSDENIED?
E_ACCESSDENIED Может означать, что вызывающая сторона не имеет доступа к сведениям об учетной записи или что приложение вызвало API с объектом User для пользователя, отличного от пользователя, выполняющего процесс.
Считайте эту ошибку отдельной от недоступного сигнала. Недоступный сигнал возвращается как null, NotApplicableили TemporarilyUnavailableв зависимости от API.
Что должно делать приложение с неизвестным состоянием проверки?
Явно обрабатывайте недоступные или неопределенные состояния проверки и предоставляйте резервный интерфейс.
NotApplicable и TemporarilyUnavailable не устанавливают, имеет ли пользователь проверенный статус взрослого. Не интерпретируйте эти результаты, OptedOut, или Unverified как доказательство того, что пользователь является несовершеннолетним.
См. также
Windows developer