- Anonyme
- Récupérable
Ajout d’une connexion récupérable à un compte anonyme existant
Il est très courant que votre première connexion soit anonyme. Cela permet à votre joueur d’entrer dans le jeu, sans friction. Mais une fois qu’un joueur s’investit dans votre jeu, vous devriez l’inviter à ajouter une méthode de connexion récupérable, ce qui rend son compte récupérable en cas de défaillance de l’appareil ou d’autres problèmes. Cette section traite de l’ajout d’un mécanisme de connexion récupérable à un compte anonyme.Une connexion anonyme demeure pertinente et peut continuer d’être la principale connexion sans friction du joueur. De nombreux joueurs n’utiliseront de nouveau ces options que s’ils tentent de récupérer leur compte, s’ils utilisent des fonctionnalités propres à une plateforme ou s’ils lient un deuxième appareil anonyme.

- AddUsernamePassword sert à activer l’une ou l’autre (ou les deux) des options suivantes : LoginWithPlayFab et LoginWithEmailAddress. Ces options stockent les informations d’identification (nom d’utilisateur, adresse courriel, mot de passe) directement auprès de PlayFab. Pour qu’un joueur puisse récupérer son compte, votre jeu, votre site Web ou votre service à la clientèle peut déclencher :
- SendAccountRecoveryEmail pour cette adresse courriel. Si un joueur entre une fausse adresse courriel, vous pouvez quand même utiliser PlayFab Game Manager pour mettre à jour l’adresse courriel du joueur. Il est toutefois important de vous assurer que vos représentants du service à la clientèle sont formés pour repérer les techniques courantes d’ingénierie sociale, afin qu’ils ne mettent à jour l’adresse courriel que du véritable propriétaire du compte.
- D’abord, invitez l’utilisateur à se connecter à ce service (plus de détails dans Notions de base et pratiques exemplaires de connexion).
- Une fois la connexion effectuée, ces services fournissent un type de jeton, qui peut être transmis à PlayFab.
- Cela permet à PlayFab de se lier de façon sécuritaire à ce compte sans connaître les informations d’identification de l’utilisateur dans ce service.
Certains services exigent que PlayFab dispose d’informations supplémentaires, comme un ID d’application, afin d’effectuer l’appel d’authentification à ce service pour votre jeu. Assurez-vous de consulter la page Add-on Marketplace du service en question lors de la configuration de votre titre.
Pratique exemplaire
Utilisez une connexion anonyme pour créer de nouveaux joueurs sans aucune friction. Après une phase de tutoriel, encouragez doucement les joueurs à lier à leur compte les informations d’identification récupérables de votre choix. Si vous utilisez un système d’authentification tiers, récupérez le jeton approprié auprès de ce service (au moyen d’appels d’API ou de fonctions du SDK), puis appelez l’API PlayFab appropriée pour lier le compte du joueur dans ce service à son compte PlayFab : LinkFacebookAccount, LinkGameCenterAccount, LinkGoogleAccount, LinkKongregate, LinkSteamAccount, LinkTwitch,LinkWindowsHello<!— LinkWindowsHello —>.
Pratique exemplaire
- Pour protéger la vie privée des utilisateurs, n’enregistrez et ne stockez aucune information d’identification des utilisateurs (il s’agit également de l’une des nombreuses étapes requises pour la conformité à la COPPA; si cette exigence s’applique à votre titre, assurez-vous de consulter votre conseiller juridique pour confirmer votre conformité).
- Si vous utilisez les informations d’identification PlayFab ou appelez directement une API tierce, vous devriez effacer les informations de connexion de la mémoire dès que possible. En général, les SDK tiers s’en chargent pour vous.
- Ne conservez aucune information permettant d’identifier une personne ou information sécurisée en mémoire plus longtemps que nécessaire, et ne l’enregistrez pas dans un fichier ou un emplacement distant. Les API PlayFab sont conçues pour n’utiliser que le minimum d’informations requises.
Ajout de nouveaux appareils à un compte récupérable existant
PlayFab permet à plusieurs connexions et appareils d’accéder au même compte. Lorsque tout est correctement configuré, un joueur peut jouer au jeu sur n’importe quel appareil, déposer cet appareil, prendre un nouvel appareil (même d’un type, d’une marque, d’une plateforme ou d’un système d’exploitation différents) et reprendre la même partie, avec toutes ses données intactes.Exigence
Le joueur doit posséder deux appareils :- Device1 : configuré avec un compte et des informations d’identification récupérables déjà correctement configurées. Idéalement, le deuxième appareil n’est pas lié à un compte. Ce processus rendra orphelin tout compte dont le seul mécanisme de connexion est l’ID du deuxième appareil, ce qui le rendra irrécupérable. Cependant, PlayFab offre des options permettant de détecter ce cas de façon sécuritaire et d’avertir l’utilisateur.
- Toute l’activité de ce scénario a lieu sur Device2 : pour commencer, le flux de connexion de l’utilisateur pour le deuxième appareil doit être inversé. Vous devez offrir à l’utilisateur l’option de se connecter au moyen d’un mécanisme récupérable, et ne pas le connecter automatiquement avec l’ID d’appareil.
- Après la connexion au compte du joueur sur Device2 (à l’aide des informations d’identification du compte récupérable), effectuez un appel à GetPlayerCombinedInfo.
- Pour chaque type d’appareil renvoyé dans ces informations, l’ID de l’appareil connecté le plus récemment est renvoyé dans result.InfoResultPayload.AccountInfo.
- Appelez l’API LinkAndroidDeviceID, LinkIOSDeviceID ou une autre API propre à l’appareil appropriée.
- Si l’appel réussit, vous avez terminé; reprenez le jeu normalement.
- Mais comme pour tout appel d’API, soyez prêt à intercepter les erreurs. Plus précisément, recherchez une erreur indiquant que l’appareil est déjà lié à un compte.
- Dans ce cas, affichez au joueur le message Voulez-vous lier cet appareil à ce compte.
- Assurez-vous d’indiquer que l’autre compte pourrait être perdu s’il continue.
- Si le joueur accepte cet avertissement, renvoyez la demande de liaison avec la propriété ForceLink définie à True.
- Cela dissociera l’ID de Device2 de l’ancien compte, ce qui pourrait rendre ce compte orphelin si aucun autre mécanisme de connexion n’y est lié, et le liera au nouveau compte.
Pratique exemplaire
Utilisez CloudScript ou un événement PlayStream pour consigner les informations sur les comptes abandonnés à un endroit où vos représentants du service à la clientèle pourraient les récupérer, si le joueur a fait une erreur.Même une mesure aussi simple que l’écriture du PlayFabId dans un fichier journal infonuagique peut sauver le compte d’un joueur dévoué.
Liaison d’un ID d’appareil sans friction à un compte récupérable existant
Ce scénario est très semblable à la situation ci-dessus, sauf que le compte a été créé à l’aide d’informations d’identification récupérables. Vous pouvez convertir un écran de connexion de jeu existant en connexion sans friction en liant une connexion anonyme après coup. Les étapes sont presque identiques à la condition ci-dessus, mais avec un seul appareil (qui correspond simplement à Device2 dans le flux ci-dessus). État de l’appareil : l’ID d’appareil n’est pas lié au compte du joueur. Après avoir effectué une connexion récupérable avec l’appareil, appelez GetPlayerCombinedInfo. Encore une fois, déterminez si l’ID d’appareil correspond à l’ID d’appareil lié, au moyen des informations renvoyées dans result.InfoResultPayload.AccountInfo. Puisque l’appareil ne s’est jamais connecté au compte, l’ID d’appareil pertinent (AccountInfo.IosDeviceInfo, AccountInfo.AndroidDeviceInfo, etc.) ne correspondra pas à l’ID de l’appareil. État de l’appareil : connecté avec des informations d’identification récupérables, mais l’ID d’appareil n’est pas lié au compte du joueur. Puisque l’appareil n’est pas lié à ce compte, nous pouvons tenter de le lier. Appelez l’API LinkAndroidDeviceID, LinkIOSDeviceID ou une autre API propre à l’appareil appropriée. Si l’appel réussit, vous avez terminé; reprenez le jeu normalement. Mais encore une fois, soyez prêt à intercepter les erreurs. Plus précisément, recherchez une erreur indiquant que l’appareil est déjà lié à un compte. Dans ce cas, affichez au joueur le message Voulez-vous lier cet appareil à ce compte. Assurez-vous d’indiquer que l’autre compte pourrait être perdu s’il continue. Si le joueur accepte cet avertissement, renvoyez la demande de liaison avec la propriété ForceLink définie à True. Cela dissociera l’ID d’appareil de l’ancien compte, ce qui pourrait rendre ce compte orphelin si aucun autre mécanisme de connexion n’y est lié, et le liera au nouveau compte. Pratique exemplaire : Utilisez CloudScript ou un événement PlayStream pour consigner les informations sur les comptes abandonnés à un endroit où vos représentants du service à la clientèle pourraient les récupérer si le joueur a fait une erreur. Même une mesure aussi simple que l’écriture du PlayFabId dans un fichier journal infonuagique peut sauver le compte d’un joueur dévoué. État de l’appareil : l’ID d’appareil est lié au compte du joueur. À ce stade, une connexion sans friction peut être utilisée avec l’appareil, au lieu des informations d’identification récupérables.Autres pratiques exemplaires
Les étapes ci-dessus impliquent d’inviter l’utilisateur avant la connexion. La connexion sans friction implique une connexion sans demander d’abord au joueur. Vous pouvez trouver un juste milieu idéal grâce aux suggestions suivantes : API de connexion sans friction : vos connexions sans friction ont toutes un paramètre de demande appelé CreateAccount. Exemples :- AndroidRequest.CreateAccount
- IosRequest.CreateAccount. Sélectionnez true ou false pour cette propriété selon les lignes directrices suivantes :
- Dans votre scène de connexion, votre jeu peut immédiatement tenter une connexion sans friction avec CreateAccount=false. Si elle réussit, ce joueur s’est déjà connecté au jeu avec cet appareil, et il peut passer directement à la scène de jeu en toute sécurité. Interceptez le rappel d’erreur de cet appel et faites-lui afficher les options de première connexion.
- Scène de première connexion : pour tout appareil doté d’une capacité de connexion sans friction, cette scène devrait comprendre un bouton Jouer maintenant, ainsi que des boutons permettant au joueur de se connecter à un compte existant au moyen de Facebook, Twitch, Google ou d’autres options de connexion récupérable. Le bouton Jouer maintenant devrait activer la connexion sans friction avec CreateAccount=true.
- Déconnexion : offrez un bouton Se déconnecter qui ramène à votre scène de première connexion, mais qui n’active pas automatiquement la connexion sans friction. Cela permet à l’utilisateur d’abandonner son compte lié à l’appareil en se connectant avec une option récupérable, puis de lier l’appareil à ce compte.
