Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł zawiera odpowiedzi na często zadawane pytania dotyczące używania interfejsów API Windows Age do tworzenia środowisk aplikacji odpowiednich dla wieku.
Overview
Czym są interfejsy API Windows Age?
Interfejsy API Windows Age zapewniają zachowanie prywatności sygnałów wieku dla użytkownika uruchamiającego bieżący proces. Zamiast zwracać dokładny wiek lub datę urodzenia, Windows zwraca zakres wiekowy lub status weryfikacji pełnoletności, którego aplikacja może użyć w celu zapewnienia odpowiedniego środowiska.
Te interfejsy API są metodami środowiska środowisko wykonawcze systemu Windows w Windows.System.User. Ułatwiają one aplikacjom podejmowanie decyzji dotyczących komfortu użytkowania i zasad związanych z wiekiem bez otrzymania dokładnej daty urodzenia użytkownika.
Jeśli użytkownik wyrazi zgodę, deweloper może uzyskać dostęp do sygnałów wieku, które mogą być używane przez aplikacje podczas projektowania doświadczeń odpowiednich dla wieku. Deweloperzy aplikacji pozostają odpowiedzialni za określenie, w jaki sposób odpowiednie przepisy i wymagania mają zastosowanie do ich produktów.
Do jakich scenariuszy przeznaczone są interfejsy API Windows Age?
Aplikacje mogą używać sygnałów dotyczących wieku, gdy wiek ma znaczenie dla sposobu korzystania. Na przykład aplikacja może używać sygnału dotyczącego wieku, jeśli:
- Wyświetla zawartość wygenerowaną przez użytkownika, funkcje społecznościowe lub komunikację, która może nie być odpowiednia dla wszystkich grup wiekowych.
- Oferuje zakupy w aplikacji lub waluty wirtualne, dla których mogą obowiązywać ograniczenia wieku.
- Przesyła strumieniowo lub odtwarza multimedia z ocenami wiekowymi.
Ogólnie rzecz biorąc, aplikacja może użyć sygnału wiekowego, aby dostosować swoją zawartość, funkcje lub mechanizmy kontroli dostępu bez zbierania daty urodzenia.
Które interfejsy API Windows Age są dostępne?
Następujące interfejsy API obsługują różne scenariusze:
-
GetUserAgeRangeAsyncZwracaUserAgeRangezawierający dolną i górną granicę grupy wiekowej użytkownika, włącznie. Wstępnie zdefiniowane grupy to: poniżej 10, 10–12, 13–15, 16–17 i 18 lub więcej lat. Wyniknulloznacza, że zakres wiekowy jest nieznany lub niedostępny. -
GetAgeVerificationStatusAsynczwracaUserAgeVerificationStatuswskazującą status weryfikacji pełnoletności użytkownika. Nie weryfikuje żadnego wieku ani grupy wiekowej.
Czy weryfikacja wieku weryfikuje wiek użytkownika lub grupę wiekową?
No. Weryfikacja wieku zapewnia zweryfikowany status osoby dorosłej, a nie zweryfikowany status dla dowolnego wieku lub grupy wiekowej. W przypadku weryfikacji opartej na koncie użytkownik, który twierdzi, że jest osobą dorosłą, musi przejść przez przepływ sprawdzający, czy dana osoba jest osobą dorosłą. Przepływ sprawdza deklarację pełnoletności; nie ustanawia zweryfikowanego wieku dla dziecka lub nastolatka.
Aby uzyskać informacje na temat weryfikowania wieku dla konta Microsoft, zobacz Weryfikowanie wieku dla konta Microsoft.
GetAgeVerificationStatusAsync zgłasza status weryfikacji pełnoletności. Wynik Verified wskazuje zweryfikowany status osoby dorosłej. Inne wyniki nie potwierdzają, że użytkownik jest osobą niepełnoletnią: aplikacja musi odróżnić wynik Unverified, wynik OptedOut i wynik niedostępny lub nieokreślony.
Czy interfejsy API Windows Age są ogólnie dostępne?
GetUserAgeRangeAsync i GetAgeVerificationStatusAsync są ogólnie dostępne. Obsługiwane detaliczne kompilacje systemu Windows to:
- Windows 11, wersja 24H2: kompilacja 26100.9550 lub nowsza.
- Windows 11, wersja 25H2: kompilacja 26200.9550 lub nowsza.
zestaw WINDOWS SDK w wersji 10.0.26100.9169 lub nowszej zawiera te interfejsy API.
Którego interfejsu API powinna używać moja aplikacja?
Użyj:
-
GetUserAgeRangeAsyncgdy aplikacja potrzebuje przedziału wiekowego i stosuje własną logikę działania lub zasad. -
GetAgeVerificationStatusAsyncgdy decyzja zależy od tego, czy zweryfikowano pełnoletność użytkownika.
Aplikacja może używać więcej niż jednego sygnału wieku, jeśli jest to odpowiednie w danym scenariuszu użycia. Wynik z zakresu wiekowego 18 lat lub więcej sam w sobie nie potwierdza zweryfikowanego statusu osoby dorosłej.
Ochrona prywatności i obsługa danych
Czy mogę skonfigurować własne zakresy wiekowe dla polecenia GetUserAgeRangeAsync?
No. Grupy wiekowe zwracane przez GetUserAgeRangeAsync są wstępnie zdefiniowane.
Czy interfejsy API zwracają dokładny wiek lub datę urodzenia użytkownika?
No.
GetUserAgeRangeAsync zwraca grupę wiekową, a nie dokładny wiek lub datę urodzenia. Na przykład wynik z dolną i górną granicą {13, 15} oznacza, że wiek użytkownika mieści się w przedziale 13–15 lat.
GetAgeVerificationStatusAsync zgłasza stan weryfikacji dla dorosłych, a nie zweryfikowany wiek lub zweryfikowaną grupę wiekową.
Czy moja aplikacja musi zebrać datę urodzenia użytkownika, aby korzystać z interfejsów API wieku systemu Windows?
No. Jednym z celów interfejsów API jest umożliwianie aplikacjom podejmowania decyzji związanych z wiekiem bez bezpośredniego otrzymania daty urodzenia użytkownika.
Czy aplikacje powinny przechowywać sygnał wieku?
Aplikacje powinny unikać niepotrzebnego przechowywania sygnałów wieku. Pobierz sygnał, gdy jest potrzebny, ponieważ grupa wiekowa użytkownika, stan weryfikacji, stan konta lub odpowiednie zasady administracyjne mogą ulec zmianie.
Zachowanie użytkownika i konta
Które typy kont są obsługiwane?
Sygnały wieku dostawcy tożsamości są obecnie dostępne tylko dla kont Microsoft. W przypadku innych typów kont, jeśli ustawienie domyślne administracyjne nie jest skonfigurowane, GetUserAgeRangeAsync zwraca wartość nulli GetAgeVerificationStatusAsync zwraca wartość NotApplicable.
O którym użytkowniku interfejs Age API zwraca informacje?
Wywołania Age API dotyczą użytkownika uruchamiającego bieżący proces. Na urządzeniu z wieloma profilami Windows interfejsy API wysyłają zapytania do profilu bieżącego użytkownika w celu uzyskania aktywnego środowiska aktywnej aplikacji. Interfejsy API nie udostępniają mechanizmu wykonywania zapytań dotyczących innego profilu.
Czy aplikacja może uzyskać sygnał wieku dla innego użytkownika na urządzeniu?
No. Interfejsy API działają w kontekście użytkownika uruchamiającego proces. Wywołanie interfejsu API age z obiektem User reprezentującym innego użytkownika może skutkować E_ACCESSDENIED.
Co się stanie, gdy użytkownik ma wiele typów kont połączonych z Windows?
Interfejsy API Windows Age działają w kontekście aktualnie zalogowanego użytkownika systemu Windows i używają konta Microsoft skojarzonego z logowaniem tego użytkownika do systemu Windows. Aplikacje nie mogą wybrać innego połączonego konta dla tego zapytania.
A co, jeśli nie można określić sygnału wiekowego?
Aplikacje muszą być przygotowane na to, że sygnał dotyczący wieku może być niedostępny lub nieokreślony.
Dla nullGetUserAgeRangeAsync oznacza, że zakres wiekowy jest nieznany lub niedostępny. Stany, które może powodować null, obejmują:
- Typ konta nie jest obsługiwany.
- Informacje o wieku nie są dostępne dla tego konta.
- Interfejs API jest wyłączony przez politykę administracyjną.
W przypadku GetAgeVerificationStatusAsync, NotApplicable lub TemporarilyUnavailable oznacza niedostępny lub nieokreślony sygnał weryfikacji. Te wyniki nie pozwalają ustalić, czy użytkownik potwierdził pełnoletność.
Aplikacje muszą zapewnić odpowiedni zastępczy sposób działania i nie mogą interpretować niedostępnego wyniku jako określonej grupy wiekowej lub stanu weryfikacji.
Czy aplikacje powinny zakładać, że sygnał wieku jest zawsze dostępny?
No. Aplikacje powinny projektować zachowanie zastępcze w ramach integracji z Age API. Traktuj prawidłowy sygnał, niedostępny lub nieokreślony sygnał oraz błąd odmowy dostępu jako odrębne stany.
Wymagania i implementacja aplikacji
Jakiego systemu operacyjnego i zestawu SDK są wymagane?
Windows 11 jest minimalnym obsługiwanym systemem operacyjnym.
GetUserAgeRangeAsync i GetAgeVerificationStatusAsync są dostępne w następujących obsługiwanych kompilacjach produkcyjnych:
- Windows 11, wersja 24H2: kompilacja 26100.9550 lub nowsza.
- Windows 11, wersja 25H2: kompilacja 26200.9550 lub nowsza.
Użyj zestawu SDK Windows w wersji 10.0.26100.9169 lub nowszej, aby utworzyć aplikację, która wywołuje te interfejsy API.
Ponieważ interfejs API może być nieobecny w starszym lub nieobsługiwanym systemie, sprawdź dostępność interfejsu API przed jego wywołaniem.
Czy moja aplikacja musi zadeklarować uprawnienie?
Yes. Aplikacja platformy UWP musi zadeklarować uprawnienie userAccountInformation w manifeście pakietu:
<uap:Capability Name="userAccountInformation" />
Bez wymaganego dostępu aplikacja nie może odczytać danych dotyczących wieku użytkownika.
Jak uzyskać obiekt User używany do wywoływania Age API?
Użyj User.GetDefault, aby uzyskać użytkownika uruchamiającego bieżący proces.
User.FindAllAsync może listować użytkowników, ale Age API musi być wywoływane na instancji User, reprezentującej użytkownika uruchamiającego proces.
Ile czasu zajmuje, zanim zmiana daty urodzenia lub urodziny wpłyną na sygnał wieku?
Jeśli użytkownik zmieni datę urodzenia powiązaną z konto Microsoft lub ma urodziny, zmiana zostanie odzwierciedlona w ciągu 24 godzin po ostatnim pobraniu sygnału wiekowego.
Czy aplikacja może wymusić odświeżenie sygnału wiekowego?
No. Wymuszone odświeżanie nie jest obsługiwane.
Obsługa błędów i mechanizmów awaryjnych
Jak aplikacja powinna obsługiwać niedostępny zakres wiekowy?
Jawnie obsłuż niedostępny zakres wiekowy zamiast zakładać wiek. Wynik null z GetUserAgeRangeAsync oznacza, że zakres wiekowy jest nieznany lub niedostępny.
Użyj celowo zaprojektowanego awaryjnego rozwiązania. Nie należy interpretować null jako odnoszącego się do konkretnej grupy wiekowej, w tym grupy w wieku 18 lat lub starszych.
Co oznacza E_ACCESSDENIED?
E_ACCESSDENIED może oznaczać, że wywołujący nie ma dostępu do informacji o koncie lub że aplikacja wywołała interfejs API za pomocą obiektu User dla kogoś innego niż użytkownik uruchamiający proces.
Traktuj ten błąd jako odrębny od sygnału niedostępności. Sygnał niedostępny jest zwracany jako null, NotApplicablelub TemporarilyUnavailable, w zależności od interfejsu API.
Co aplikacja powinna zrobić z nieznanym stanem weryfikacji?
Jawnie obsługuj niedostępne lub nieokreślone stany weryfikacji i zapewnij zastępczy sposób działania.
NotApplicable i TemporarilyUnavailable nie ustalają, czy użytkownik zweryfikował status osoby dorosłej. Nie interpretuj tych wyników, OptedOut ani Unverified, jako dowodu na to, że użytkownik jest małoletni.