Hemos creado un repositorio de GitHub con código de ejemplo para ilustrar cómo integrar la Plataforma universal de Windows con PlayFab.
- Vincular una cuenta de Windows Hello a su cuenta de PlayFab.
- Iniciar la sesión del jugador mediante Windows Hello.
- Validar una compra realizada desde la Tienda Windows.
Vincular una cuenta de Windows Hello a su cuenta de PlayFab
Hay dos formas de vincular una cuenta de Windows Hello a su cuenta de PlayFab:- Puede crear una nueva cuenta de PlayFab con sus credenciales de Windows Hello.
- Puede vincular credenciales de Windows Hello a su cuenta de PlayFab existente.
Crear una nueva cuenta con credenciales de Windows
Antes de comenzar este proceso, debe pedir al usuario su nombre de usuario de Windows. A continuación, puede seguir estos pasos:- Llame a KeyCredentialManager.RequestCreateAsync para generar una nueva clave pública para este usuario.
- Llame a CryptographicBuffer.EncodeToBase64String para convertir el IBuffer anterior en una cadena.
- Llame a
PlayFabClientAPI.RegisterWithWindowsHello<!— PlayFabClientAPI.RegisterWithWindowsHello —> con los siguientes parámetros obligatorios:- El nombre de usuario de Windows.
- La clave pública codificada en Base 64 anterior.
- Si el registro se realizó correctamente, el jugador habrá iniciado sesión. Recibirá un token de sesión que puede usar para autenticar al jugador con todas las demás API de PlayFab.
- Además, ahora puede usar HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256) para crear un proveedor de hash y aplicar un hash a la clave pública llamando a hashProvider.HashData(publicKey).
- Convierta la clave pública con hash en una cadena codificada en Base 64 (CryptographicBuffer.EncodeToBase64String(publicKeyHash)) y almacene esta cadena y el nombre de usuario en la configuración de la aplicación. (ApplicationData.Current.LocalSettings.Values[“publicKeyHint”]). Esta sugerencia de clave pública se usa para volver a iniciar sesión.
- El nombre de usuario también debe almacenarse en la configuración local del usuario para simplificar el inicio de sesión.
Vincular credenciales de Windows a una cuenta de PlayFab existente
El proceso para vincular credenciales de Windows a una cuenta de PlayFab existente es muy similar. Las diferencias son:- En primer lugar, ya debe haber iniciado sesión en una cuenta de PlayFab. Normalmente, esto se hace de forma anónima, con un identificador de dispositivo no seguro.
- A continuación, siga los pasos de la sección anterior, pero use
LinkWindowsHello<!— LinkWindowsHello —> en lugar deRegisterWithWindowsHello. - Ahora el usuario podrá iniciar sesión con credenciales de Windows en el futuro y acceder a su cuenta de PlayFab o recuperarla.
Iniciar la sesión del jugador mediante Windows Hello
Una vez que haya vinculado las credenciales de Windows Hello a una cuenta de PlayFab, puede iniciar sesión con esas credenciales. Necesitará la sugerencia de clave pública y el nombre de usuario de Windows. Siga estos pasos:- Llame a
PlayFabClientAPI.GetWindowsHelloChallengeAsync<!— PlayFabClientAPI.GetWindowsHelloChallengeAsync —> para crear un desafío de firma. - Llame a CryptographicBuffer.DecodeFromBase64String para crear un IBuffer para que
KeyCredentialManagerhaga que el usuario lo firme. - Llame a
var retrieveResult = awaitKeyCredentialManager.OpenAsync(userId) para crear un servicio de firma de claves. - Obtenga la credencial de este usuario:
var userCredential = retrieveResult.Credential. - Llame a await userCredential.RequestSignAsync(challengeBuffer) para que Windows solicite al usuario que firme el desafío del servidor para este usuario.
- Por último, llame a
PlayFabClientAPI.LoginWithWindowsHello<!— PlayFabClientAPI.LoginWithWindowsHello —> para completar el proceso e iniciar la sesión del jugador. - Si el inicio de sesión se realizó correctamente, el jugador habrá iniciado sesión. Recibirá un token de sesión que puede usar para autenticar al jugador con todas las demás API de PlayFab.
Realizar una compra mediante la Tienda Windows
Realizar una compra mediante la Tienda Windows es similar al proceso de compra en iOS o Android. Hay dos fases:- Configurar la tienda en primer lugar.
- Después, realizar la compra.
Configurar la tienda
Microsoft ha publicado varios documentos que describen este proceso. Por ejemplo: Configurar la compra desde la aplicación en la Tienda Windows También debe asegurarse de configurar un artículo correspondiente en el catálogo de PlayFab, con el mismo identificador de producto.Realizar la compra
Una vez que haya configurado los artículos en la tienda, puede habilitar la compra desde la aplicación en su aplicación.- Realice la compra en la aplicación y asegúrese de solicitar un recibo.
- En este documento se explica el proceso: realizar compras desde la aplicación con UWP.
- Recibirá un recibo.
- Puede encontrar más información sobre los recibos aquí.
- Llame a PlayFabClientAPI.ValidateWindowsStoreReceipt para validar el recibo. Esto acreditará automáticamente en el inventario del jugador en PlayFab el artículo que acaba de comprar.
