Nous avons créé un dépôt GitHub avec un exemple de code illustrant comment intégrer la plateforme Windows universelle à PlayFab.
- Lier un compte Windows Hello à votre compte PlayFab.
- Connecter le joueur au moyen de Windows Hello.
- Valider un achat effectué dans le Windows Store.
Liaison d’un compte Windows Hello à votre compte PlayFab
Il existe deux façons de lier un compte Windows Hello à votre compte PlayFab :- Vous pouvez créer un nouveau compte PlayFab à l’aide de vos informations d’identification Windows Hello.
- Vous pouvez lier des informations d’identification Windows Hello à votre compte PlayFab existant.
Création d’un nouveau compte avec des informations d’identification Windows
Avant de commencer ce processus, vous devez demander à l’utilisateur son nom d’utilisateur Windows. Vous pouvez ensuite suivre ces étapes :- Appelez KeyCredentialManager.RequestCreateAsync pour générer une nouvelle clé publique pour cet utilisateur.
- Appelez CryptographicBuffer.EncodeToBase64String pour convertir l’IBuffer obtenu ci-dessus en chaîne.
- Appelez
PlayFabClientAPI.RegisterWithWindowsHello<!— PlayFabClientAPI.RegisterWithWindowsHello —> avec les paramètres requis suivants :- Le nom d’utilisateur Windows.
- La clé publique encodée en Base 64 obtenue ci-dessus.
- Si l’inscription a réussi, le joueur est maintenant connecté. Vous recevez un jeton de session que vous pouvez utiliser pour authentifier le joueur auprès de toutes les autres API PlayFab.
- Vous pouvez également utiliser HashAlgorithmProvider.OpenAlgorithm(HashAlgorithmNames.Sha256) pour créer un fournisseur de hachage, puis hacher la clé publique en appelant hashProvider.HashData(publicKey).
- Convertissez la clé publique hachée en chaîne encodée en Base 64 (CryptographicBuffer.EncodeToBase64String(publicKeyHash)) et stockez cette chaîne ainsi que le nom d’utilisateur dans les paramètres de l’application (ApplicationData.Current.LocalSettings.Values[“publicKeyHint”]). Cet indice de clé publique est utilisé pour se reconnecter.
- Le nom d’utilisateur doit également être stocké dans les paramètres locaux de l’utilisateur afin de simplifier la connexion.
Liaison d’informations d’identification Windows à un compte PlayFab existant
Le processus de liaison d’informations d’identification Windows à un compte PlayFab existant est très similaire. Les différences sont les suivantes :- Vous devez d’abord être déjà connecté à un compte PlayFab. Cela se fait généralement de façon anonyme, à l’aide d’un ID d’appareil non sécurisé.
- Suivez ensuite les étapes de la section précédente, mais utilisez
LinkWindowsHello<!— LinkWindowsHello —> au lieu deRegisterWithWindowsHello. - L’utilisateur peut désormais se connecter avec ses informations d’identification Windows à l’avenir et accéder à son compte PlayFab ou le récupérer.
Connexion du joueur au moyen de Windows Hello
Une fois que vous avez lié des informations d’identification Windows Hello à un compte PlayFab, vous pouvez vous connecter avec ces informations d’identification. Vous aurez besoin de l’indice de clé publique et du nom d’utilisateur Windows. Suivez ces étapes :- Appelez
PlayFabClientAPI.GetWindowsHelloChallengeAsync<!— PlayFabClientAPI.GetWindowsHelloChallengeAsync —> pour créer un défi de signature. - Appelez CryptographicBuffer.DecodeFromBase64String pour créer un IBuffer que le
KeyCredentialManagerfera signer par l’utilisateur. - Appelez
var retrieveResult = awaitKeyCredentialManager.OpenAsync(userId) pour créer un service de signature de clé. - Obtenez les informations d’identification de cet utilisateur :
var userCredential = retrieveResult.Credential. - Appelez await userCredential.RequestSignAsync(challengeBuffer) pour que Windows demande à l’utilisateur de signer le défi du serveur pour cet utilisateur.
- Enfin, appelez
PlayFabClientAPI.LoginWithWindowsHello<!— PlayFabClientAPI.LoginWithWindowsHello —> pour terminer le processus et connecter le joueur. - Si la connexion a réussi, le joueur est maintenant connecté. Vous recevez un jeton de session que vous pouvez utiliser pour authentifier le joueur auprès de toutes les autres API PlayFab.
Effectuer un achat au moyen du Windows Store
Effectuer un achat au moyen du Windows Store est similaire au processus d’achat sur iOS ou Android. Il comporte deux étapes :- Configurer d’abord le magasin.
- Effectuer ensuite l’achat.
Configuration du magasin
Microsoft a publié plusieurs documents décrivant ce processus. Par exemple : Configuration de l’achat in-app dans le Windows Store Vous devez également veiller à configurer un article correspondant dans le catalogue PlayFab, avec le même ID de produit.Effectuer l’achat
Une fois les articles configurés dans le magasin, vous pouvez activer l’achat in-app dans votre application.- Effectuez l’achat dans l’application et veillez à demander un reçu.
- Ce document explique le processus : effectuer des achats in-app avec UWP.
- Vous recevez un reçu.
- Vous trouverez plus d’informations sur les reçus ici.
- Appelez PlayFabClientAPI.ValidateWindowsStoreReceipt pour valider le reçu. L’inventaire PlayFab du joueur est alors automatiquement crédité de l’article qu’il vient d’acheter.
