메인 콘텐츠로 건너뛰기
이 자습서에서는 PlayFab과 UWP(유니버설 Windows 플랫폼) 간 통합의 세 가지 핵심 사항을 안내합니다.
유니버설 Windows 플랫폼을 PlayFab과 통합하는 방법을 보여 주는 샘플 코드가 포함된 GitHub 리포지토리를 만들었습니다.
UWP(유니버설 Windows 플랫폼)를 PlayFab과 통합하는 것은 매우 간단합니다. 신경 써야 할 사항은 실제로 세 가지뿐입니다.
  1. Windows Hello 계정을 PlayFab 계정에 연결합니다.
  2. Windows Hello를 통해 플레이어를 로그인시킵니다.
  3. Windows 스토어에서 이루어진 구매를 확인합니다.
이 세 가지 항목을 순서대로 살펴보겠습니다.

Windows Hello 계정을 PlayFab 계정에 연결

Windows Hello 계정을 PlayFab 계정에 연결하는 방법은 두 가지입니다.
  1. Windows Hello 자격 증명을 사용하여 새 PlayFab 계정을 만들 수 있습니다.
  2. Windows Hello 자격 증명을 기존 PlayFab 계정에 연결할 수 있습니다.
어떤 방법을 사용할지는 Windows Hello가 기본 인증 방식인지 여부에 따라 다릅니다.

Windows 자격 증명으로 새 계정 만들기

이 프로세스를 시작하기 전에 사용자에게 Windows 사용자 이름을 요청해야 합니다. 그런 다음 다음 단계를 따릅니다.
  1. KeyCredentialManager.RequestCreateAsync를 호출하여 이 사용자에 대한 새 공개 키를 생성합니다.
  2. CryptographicBuffer.EncodeToBase64String을 호출하여 위의 IBuffer를 문자열로 변환합니다.
  3. 다음 필수 매개 변수를 사용하여 PlayFabClientAPI.RegisterWithWindowsHello<!— PlayFabClientAPI.RegisterWithWindowsHello —>를 호출합니다.
    • Windows 사용자 이름
    • 위에서 Base 64로 인코딩한 공개 키
  4. 등록이 성공하면 플레이어가 로그인됩니다. 다른 모든 PlayFab API에서 플레이어를 인증하는 데 사용할 수 있는 세션 토큰이 반환됩니다.
  5. 또한 이제 HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256)을 사용하여 해시 공급자를 만들고, hashProvider.HashData(publicKey)를 호출하여 공개 키를 해시할 수 있습니다.
  6. 해시된 공개 키를 Base 64로 인코딩된 문자열로 변환하고(CryptographicBuffer.EncodeToBase64String(publicKeyHash)), 이 문자열과 사용자 이름을 애플리케이션 설정에 저장합니다. (ApplicationData.Current.LocalSettings.Values[“publicKeyHint”]). 이 공개 키 힌트는 다시 로그인하는 데 사용됩니다.
  7. 더 간편한 로그인을 위해 사용자 이름도 사용자의 로컬 설정에 저장해야 합니다.

기존 PlayFab 계정에 Windows 자격 증명 연결

기존 PlayFab 계정에 Windows 자격 증명을 연결하는 프로세스는 매우 비슷합니다. 차이점은 다음과 같습니다.
  1. 먼저 PlayFab 계정에 이미 로그인되어 있어야 합니다. 일반적으로 이는 안전하지 않은 디바이스 ID를 사용하여 익명으로 수행됩니다.
  2. 그런 다음 이전 섹션의 단계를 따르되, RegisterWithWindowsHello 대신 LinkWindowsHello<!— LinkWindowsHello —>를 사용합니다.
  3. 이제 사용자는 나중에 Windows 자격 증명으로 로그인하여 PlayFab 계정에 액세스하거나 계정을 복구할 수 있습니다.

Windows Hello를 통해 플레이어 로그인

Windows Hello 자격 증명을 PlayFab 계정에 연결한 후에는 해당 자격 증명으로 로그인할 수 있습니다. 공개 키 힌트와 Windows 사용자 이름이 필요합니다. 다음 단계를 따릅니다.
  1. PlayFabClientAPI.GetWindowsHelloChallengeAsync<!— PlayFabClientAPI.GetWindowsHelloChallengeAsync —>를 호출하여 서명 챌린지를 만듭니다.
  2. CryptographicBuffer.DecodeFromBase64String을 호출하여 KeyCredentialManager가 사용자에게 서명을 받을 IBuffer를 만듭니다.
  3. var retrieveResult = await KeyCredentialManager.OpenAsync(userId)를 호출하여 키 서명 서비스를 만듭니다.
  4. 이 사용자의 자격 증명을 가져옵니다: var userCredential = retrieveResult.Credential.
  5. await userCredential.RequestSignAsync(challengeBuffer)를 호출하여 Windows가 사용자에게 이 사용자에 대한 서버의 챌린지에 서명하도록 요청하게 합니다.
  6. 마지막으로 PlayFabClientAPI.LoginWithWindowsHello<!— PlayFabClientAPI.LoginWithWindowsHello —>를 호출하여 프로세스를 완료하고 플레이어를 로그인시킵니다.
  7. 로그인이 성공하면 플레이어가 로그인됩니다. 다른 모든 PlayFab API에서 플레이어를 인증하는 데 사용할 수 있는 세션 토큰이 반환됩니다.

Windows 스토어를 통한 구매

Windows 스토어를 통한 구매는 iOS 또는 Android를 통한 구매 프로세스와 비슷합니다. 두 단계로 이루어집니다.
  1. 먼저 스토어를 설정합니다.
  2. 그런 다음 구매를 진행합니다.

스토어 설정

Microsoft에서는 이 프로세스를 설명하는 여러 문서를 게시했습니다. 예: Windows 스토어에서 앱 내 구매 설정 또한 PlayFab 카탈로그에 동일한 제품 ID를 가진 일치하는 아이템을 설정해야 합니다.

구매 진행

스토어에서 아이템을 설정한 후 앱에서 앱 내 구매를 활성화할 수 있습니다.
  1. 애플리케이션에서 구매를 진행하고, 반드시 영수증을 요청합니다.
  2. 영수증이 반환됩니다.
  3. PlayFabClientAPI.ValidateWindowsStoreReceipt를 호출하여 영수증을 확인합니다. 그러면 플레이어가 방금 구매한 아이템이 PlayFab의 플레이어 인벤토리에 자동으로 추가됩니다.

추가 질문

추가 질문이 있으면 포럼에 게시해 주세요. 유니버설 Windows 플랫폼과 게임을 통합하는 것에 대한 의견도 기다리고 있습니다!
마지막 수정일 2026년 10월 20일