Windows uygulamasında yaş sinyallerini uygulama

Bu kılavuzda, Windows'da uygulamanızın yaş sinyallerini sorgulamak için Windows Yaş API'lerini nasıl kullanacağınız gösterilmektedir. Bu makalenin sonunda, bir kullanıcının yaş grubunu ve doğrulanmış durumunu anlamak için Yaş API'lerini kullanarak uygulamanızın tüm kullanıcılara güvenli, yaşa uygun deneyimler sağladığından emin olabilirsiniz.

Prerequisites

  • Windows 11 veya üzeri
  • C++ ile Masaüstü Geliştirme iş yüküne sahip Visual Studio 2022 veya sonraki bir sürüm
  • userAccountInformation yeteneğini bildiren paketlenmiş bir uygulama
  • Microsoft hesabıyla oturum açılan bir test hesabı

API yüzeyine genel bakış

Age API'leri, Windows.System.User üzerindeki Windows Çalışma Zamanı yöntemleridir. Birincil yöntemler şunlardır:

Method Purpose
GetUserAgeRangeAsync Kullanıcının yaş aralığını, Lower ve UserAgeRange özelliklerine sahip, null atanabilir bir Upper nesne olarak döndürür.
GetAgeVerificationStatusAsync Kullanıcının UserAgeVerificationStatus öğesini döndürür.

1. Adım: C++/WinRT üst bilgilerini ekleme

Windows Foundation ve Windows.Systemiçin C++/WinRT üst bilgilerini ekleyin.

#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.System.h>
#include <cstdio>

using namespace winrt;
using namespace winrt::Windows::System;

2. Adım: Yaş sinyallerini sorgulama

Windows Çalışma Zamanı’ı başlatın, mevcut kullanıcıyı alın ve eşzamansız yöntemleri çağırın. Sonuçlarını almak için .get() kullanın.

int wmain()
{
    init_apartment();

    try
    {
        User user = User::GetDefault();

        UserAgeRange ageRange = user.GetUserAgeRangeAsync().get();
        if (ageRange)
        {
            int32_t lower = ageRange.Lower();
            int32_t upper = ageRange.Upper();

            // Adapt the experience using lower and upper.
        }
        else
        {
            // The age range is unknown or unavailable.
        }

        UserAgeVerificationStatus status =
            user.GetAgeVerificationStatusAsync().get();

        switch (status)
        {
        case UserAgeVerificationStatus::Verified:
            break;
        case UserAgeVerificationStatus::Unverified:
            break;
        case UserAgeVerificationStatus::OptedOut:
            break;
        case UserAgeVerificationStatus::TemporarilyUnavailable:
            break;
        case UserAgeVerificationStatus::NotApplicable:
            break;
        }
    }
    catch (hresult_error const& error)
    {
        wprintf(
            L"Call failed: hr=0x%08X %ls\n",
            static_cast<unsigned int>(error.code().value),
            error.message().c_str());
        return error.code().value;
    }

    return 0;
}

Yaş aralığı bilinmiyorsa veya kullanılamıyorsa, GetUserAgeRangeAsyncnull döndürür. 18 yaş veya daha büyük yaş aralığı için: UpperINT32_MAX.

API referansı

Note

Windows Yaş API'leri genel kullanıma sunulduğunda ayrıntılı API başvuru belgeleri sağlanacaktır. Bu makaledeki arabirim ve yöntem adları geçerli belirtimi temel alır ve yayınlanmadan önce değişebilir.

  • GetUserAgeRangeAsync: Lower ve UserAgeRange özelliklerine sahip, null atanabilir bir Upper nesnesi döndürür.
  • GetAgeVerificationStatusAsync: Kullanıcının UserAgeVerificationStatus değerini döndürür.