유니버설 Windows 플랫폼을 PlayFab과 통합하는 방법을 보여 주는 샘플 코드가 포함된 GitHub 리포지토리를 만들었습니다.
- Windows Hello 계정을 PlayFab 계정에 연결합니다.
- Windows Hello를 통해 플레이어를 로그인시킵니다.
- Windows 스토어에서 이루어진 구매를 확인합니다.
Windows Hello 계정을 PlayFab 계정에 연결
Windows Hello 계정을 PlayFab 계정에 연결하는 방법은 두 가지입니다.- Windows Hello 자격 증명을 사용하여 새 PlayFab 계정을 만들 수 있습니다.
- Windows Hello 자격 증명을 기존 PlayFab 계정에 연결할 수 있습니다.
Windows 자격 증명으로 새 계정 만들기
이 프로세스를 시작하기 전에 사용자에게 Windows 사용자 이름을 요청해야 합니다. 그런 다음 다음 단계를 따릅니다.- KeyCredentialManager.RequestCreateAsync를 호출하여 이 사용자에 대한 새 공개 키를 생성합니다.
- CryptographicBuffer.EncodeToBase64String을 호출하여 위의 IBuffer를 문자열로 변환합니다.
- 다음 필수 매개 변수를 사용하여
PlayFabClientAPI.RegisterWithWindowsHello<!— PlayFabClientAPI.RegisterWithWindowsHello —>를 호출합니다.- Windows 사용자 이름
- 위에서 Base 64로 인코딩한 공개 키
- 등록이 성공하면 플레이어가 로그인됩니다. 다른 모든 PlayFab API에서 플레이어를 인증하는 데 사용할 수 있는 세션 토큰이 반환됩니다.
- 또한 이제 HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256)을 사용하여 해시 공급자를 만들고, hashProvider.HashData(publicKey)를 호출하여 공개 키를 해시할 수 있습니다.
- 해시된 공개 키를 Base 64로 인코딩된 문자열로 변환하고(CryptographicBuffer.EncodeToBase64String(publicKeyHash)), 이 문자열과 사용자 이름을 애플리케이션 설정에 저장합니다. (ApplicationData.Current.LocalSettings.Values[“publicKeyHint”]). 이 공개 키 힌트는 다시 로그인하는 데 사용됩니다.
- 더 간편한 로그인을 위해 사용자 이름도 사용자의 로컬 설정에 저장해야 합니다.
기존 PlayFab 계정에 Windows 자격 증명 연결
기존 PlayFab 계정에 Windows 자격 증명을 연결하는 프로세스는 매우 비슷합니다. 차이점은 다음과 같습니다.- 먼저 PlayFab 계정에 이미 로그인되어 있어야 합니다. 일반적으로 이는 안전하지 않은 디바이스 ID를 사용하여 익명으로 수행됩니다.
- 그런 다음 이전 섹션의 단계를 따르되,
RegisterWithWindowsHello대신LinkWindowsHello<!— LinkWindowsHello —>를 사용합니다. - 이제 사용자는 나중에 Windows 자격 증명으로 로그인하여 PlayFab 계정에 액세스하거나 계정을 복구할 수 있습니다.
Windows Hello를 통해 플레이어 로그인
Windows Hello 자격 증명을 PlayFab 계정에 연결한 후에는 해당 자격 증명으로 로그인할 수 있습니다. 공개 키 힌트와 Windows 사용자 이름이 필요합니다. 다음 단계를 따릅니다.PlayFabClientAPI.GetWindowsHelloChallengeAsync<!— PlayFabClientAPI.GetWindowsHelloChallengeAsync —>를 호출하여 서명 챌린지를 만듭니다.- CryptographicBuffer.DecodeFromBase64String을 호출하여
KeyCredentialManager가 사용자에게 서명을 받을 IBuffer를 만듭니다. var retrieveResult = awaitKeyCredentialManager.OpenAsync(userId)를 호출하여 키 서명 서비스를 만듭니다.- 이 사용자의 자격 증명을 가져옵니다:
var userCredential = retrieveResult.Credential. - await userCredential.RequestSignAsync(challengeBuffer)를 호출하여 Windows가 사용자에게 이 사용자에 대한 서버의 챌린지에 서명하도록 요청하게 합니다.
- 마지막으로
PlayFabClientAPI.LoginWithWindowsHello<!— PlayFabClientAPI.LoginWithWindowsHello —>를 호출하여 프로세스를 완료하고 플레이어를 로그인시킵니다. - 로그인이 성공하면 플레이어가 로그인됩니다. 다른 모든 PlayFab API에서 플레이어를 인증하는 데 사용할 수 있는 세션 토큰이 반환됩니다.
Windows 스토어를 통한 구매
Windows 스토어를 통한 구매는 iOS 또는 Android를 통한 구매 프로세스와 비슷합니다. 두 단계로 이루어집니다.- 먼저 스토어를 설정합니다.
- 그런 다음 구매를 진행합니다.
스토어 설정
Microsoft에서는 이 프로세스를 설명하는 여러 문서를 게시했습니다. 예: Windows 스토어에서 앱 내 구매 설정 또한 PlayFab 카탈로그에 동일한 제품 ID를 가진 일치하는 아이템을 설정해야 합니다.구매 진행
스토어에서 아이템을 설정한 후 앱에서 앱 내 구매를 활성화할 수 있습니다.- 애플리케이션에서 구매를 진행하고, 반드시 영수증을 요청합니다.
- 이 문서에서 프로세스를 설명합니다: UWP를 사용한 앱 내 구매.
- 영수증이 반환됩니다.
- 영수증에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
- PlayFabClientAPI.ValidateWindowsStoreReceipt를 호출하여 영수증을 확인합니다. 그러면 플레이어가 방금 구매한 아이템이 PlayFab의 플레이어 인벤토리에 자동으로 추가됩니다.
