Criamos um repositório do GitHub com código de exemplo para ilustrar como integrar a Plataforma Universal do Windows ao PlayFab.
- Vincular uma conta do Windows Hello à sua conta do PlayFab.
- Fazer login do jogador por meio do Windows Hello.
- Validar uma compra feita na Windows Store.
Vincular uma conta do Windows Hello à sua conta do PlayFab
Há duas formas de vincular uma conta do Windows Hello à sua conta do PlayFab:- Você pode criar uma nova conta do PlayFab usando suas credenciais do Windows Hello.
- Você pode vincular credenciais do Windows Hello à sua conta existente do PlayFab.
Criar uma nova conta com credenciais do Windows
Antes de iniciar esse processo, você precisa pedir ao usuário o nome de usuário dele no Windows. Em seguida, siga estas etapas:- Chame KeyCredentialManager.RequestCreateAsync para gerar uma nova chave pública para esse usuário.
- Chame CryptographicBuffer.EncodeToBase64String para converter o IBuffer acima em uma cadeia de caracteres.
- Chame
PlayFabClientAPI.RegisterWithWindowsHello<!— PlayFabClientAPI.RegisterWithWindowsHello —> com os seguintes parâmetros obrigatórios:- O nome de usuário do Windows.
- A chave pública codificada em Base 64 obtida acima.
- Supondo que o registro tenha êxito, o jogador estará conectado. Você receberá um token de sessão que pode usar para autenticar o jogador em todas as outras APIs do PlayFab.
- Além disso, agora você pode usar HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256) para criar um provedor de hash e gerar o hash da chave pública chamando hashProvider.HashData(publicKey).
- Converta o hash da chave pública em uma cadeia de caracteres codificada em Base 64 (CryptographicBuffer.EncodeToBase64String(publicKeyHash)) e armazene essa cadeia de caracteres e o nome de usuário nas configurações do aplicativo. (ApplicationData.Current.LocalSettings.Values[“publicKeyHint”]). Essa dica de chave pública é usada para fazer login novamente.
- O nome de usuário também deve ser armazenado nas configurações locais do usuário, para simplificar o login.
Vincular credenciais do Windows a uma conta existente do PlayFab
O processo para vincular credenciais do Windows a uma conta existente do PlayFab é muito semelhante. As diferenças são:- Primeiro, você já deve estar conectado a uma conta do PlayFab. Normalmente, isso é feito anonimamente, usando uma ID de dispositivo não segura.
- Em seguida, siga as etapas da seção anterior, mas use
LinkWindowsHello<!— LinkWindowsHello —> em vez deRegisterWithWindowsHello. - Agora o usuário poderá fazer login com credenciais do Windows no futuro e acessar ou recuperar a conta do PlayFab.
Fazer login do jogador por meio do Windows Hello
Depois de vincular as credenciais do Windows Hello a uma conta do PlayFab, você poderá fazer login com essas credenciais. Você precisará da dica de chave pública e do nome de usuário do Windows. Siga estas etapas:- Chame
PlayFabClientAPI.GetWindowsHelloChallengeAsync<!— PlayFabClientAPI.GetWindowsHelloChallengeAsync —> para criar um desafio de assinatura. - Chame CryptographicBuffer.DecodeFromBase64String para criar um IBuffer para que o
KeyCredentialManagerpeça ao usuário que o assine. - Chame
var retrieveResult = awaitKeyCredentialManager.OpenAsync(userId) para criar um serviço de assinatura de chave. - Obtenha a credencial desse usuário:
var userCredential = retrieveResult.Credential. - Chame await userCredential.RequestSignAsync(challengeBuffer) para que o Windows solicite ao usuário que assine o desafio do servidor para esse usuário.
- Por fim, chame
PlayFabClientAPI.LoginWithWindowsHello<!— PlayFabClientAPI.LoginWithWindowsHello —> para concluir o processo e fazer login do jogador. - Supondo que o login tenha êxito, o jogador estará conectado. Você receberá um token de sessão que pode usar para autenticar o jogador em todas as outras APIs do PlayFab.
Fazer uma compra pela Windows Store
Fazer uma compra pela Windows Store é semelhante ao processo de compra no iOS ou Android. Há duas etapas:- Configurar a loja.
- Em seguida, fazer a compra.
Configurar a loja
A Microsoft publicou vários documentos que descrevem esse processo. Por exemplo: Configurar a compra no aplicativo na Windows Store Você também deve configurar um item correspondente no catálogo do PlayFab, com a mesma ID de produto.Fazer a compra
Depois de configurar os itens na loja, você poderá habilitar a compra no aplicativo.- Faça a compra no aplicativo e solicite um recibo.
- Este documento explica o processo: fazer compras no aplicativo com a UWP.
- Você receberá um recibo.
- Você pode encontrar mais informações sobre recibos aqui.
- Chame PlayFabClientAPI.ValidateWindowsStoreReceipt para validar o recibo. Isso creditará automaticamente no inventário do jogador no PlayFab o item que ele acabou de comprar.
