- 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. Elle permet à votre joueur d’entrer dans le jeu sans aucune friction. Mais une fois qu’un joueur s’investit dans votre jeu, vous devez l’inviter à ajouter une méthode de connexion récupérable, 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 reste pertinente et peut continuer à être la connexion principale 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 spécifiques à une plateforme ou s’ils lient un second appareil anonyme.

- AddUsernamePassword permet d’activer l’une ou les deux méthodes suivantes : LoginWithPlayFab et LoginWithEmailAddress. Ces options stockent les informations d’identification nom d’utilisateur/e-mail/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 client peut déclencher :
- SendAccountRecoveryEmail pour cette adresse e-mail. Si un joueur saisit une adresse e-mail fictive, vous pouvez tout de même utiliser PlayFab Game Manager pour mettre à jour l’adresse e-mail du joueur. Il est toutefois important de vous assurer que vos représentants du service client sont formés pour repérer les techniques courantes d’ingénierie sociale, afin qu’ils ne mettent à jour l’adresse e-mail que du véritable propriétaire du compte.
- Tout d’abord, invitez l’utilisateur à se connecter à ce service (plus de détails dans Notions de base et bonnes pratiques de connexion).
- Une fois la connexion effectuée, ces services fournissent un type de jeton, qui peut être transmis à PlayFab.
- Cela permet à PlayFab d’établir une liaison sécurisée avec ce compte sans connaître les informations d’identification de l’utilisateur pour 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. Veillez à consulter la page Add-on Marketplace du service en question lors de la configuration de votre titre.
Bonne pratique
Utilisez une connexion anonyme pour créer de nouveaux joueurs sans aucune friction. Après une phase de tutoriel, encouragez délicatement 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 (via des appels d’API ou des fonctions du SDK), puis appelez l’API PlayFab appropriée pour lier le compte du joueur sur ce service à son compte PlayFab : LinkFacebookAccount, LinkGameCenterAccount, LinkGoogleAccount, LinkKongregate, LinkSteamAccount, LinkTwitch,LinkWindowsHello<!— LinkWindowsHello —>.
Bonne pratique
- 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 loi COPPA ; si cette conformité est une exigence pour votre titre, veillez à consulter votre conseiller juridique pour la confirmer).
- Si vous utilisez les informations d’identification PlayFab ou appelez directement une API tierce, vous devez effacer leurs 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 identifiable ou sensible 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 la configuration est correcte, un joueur peut jouer au jeu sur n’importe quel appareil, 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érent) 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 second appareil ne doit pas être lié à un compte. Ce processus rendra orphelin tout compte dont le seul mécanisme de connexion est l’ID du second appareil, le rendant irrécupérable. Cependant, PlayFab propose des options pour détecter ce cas en toute sécurité et en avertir l’utilisateur.
- Toutes les activités de ce scénario se déroulent sur Device2 : pour commencer, le flux de connexion de l’utilisateur pour le second appareil doit être inversé. Vous devez proposer à l’utilisateur une option de connexion via un mécanisme récupérable, et ne pas le connecter automatiquement avec l’ID de l’appareil.
- Après vous être connecté au compte du joueur sur Device2 (à l’aide des informations d’identification du compte récupérable), appelez GetPlayerCombinedInfo.
- Pour chaque type d’appareil renvoyé dans ces informations, l’ID de l’appareil le plus récemment connecté est renvoyé dans result.InfoResultPayload.AccountInfo.
- Appelez l’API LinkAndroidDeviceID, LinkIOSDeviceID ou tout autre appel d’API spécifique à l’appareil approprié.
- En cas de réussite, l’opération est terminée : 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 un message du type Voulez-vous lier cet appareil à ce compte.
- Veillez à indiquer que l’autre compte risque d’être perdu s’il continue.
- Si le joueur accepte cet avertissement, renvoyez la demande de liaison avec la propriété ForceLink définie sur True.
- Cela dissociera l’ID de Device2 de l’ancien compte, rendant potentiellement ce compte orphelin si aucun autre mécanisme de connexion n’y est lié, et le liera au nouveau compte.
Bonne pratique
Utilisez CloudScript ou un événement PlayStream pour enregistrer des informations sur les comptes abandonnés à un endroit où vos représentants du service client pourront les récupérer si le joueur a commis une erreur.Même une opération aussi simple que l’écriture du PlayFabId dans un fichier journal dans le cloud peut sauver le compte d’un joueur assidu.
Liaison d’un ID d’appareil sans friction à un compte récupérable existant
Ce scénario est très similaire à la situation ci-dessus, à ceci près 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 a posteriori. Les étapes sont presque identiques à la condition ci-dessus, 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. Là encore, déterminez si l’ID de l’appareil correspond à l’ID d’appareil lié, à l’aide des informations renvoyées dans result.InfoResultPayload.AccountInfo. Comme l’appareil ne s’est jamais connecté au compte, l’ID d’appareil concerné (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 de l’appareil n’est pas lié au compte du joueur. Comme l’appareil n’est pas lié à ce compte, nous pouvons essayer de le lier. Appelez l’API LinkAndroidDeviceID, LinkIOSDeviceID ou tout autre appel d’API spécifique à l’appareil approprié. En cas de réussite, l’opération est terminée : reprenez le jeu normalement. Mais là encore, 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 un message du type Voulez-vous lier cet appareil à ce compte. Veillez à indiquer que l’autre compte risque d’être perdu s’il continue. Si le joueur accepte cet avertissement, renvoyez la demande de liaison avec la propriété ForceLink définie sur True. Cela dissociera l’ID de l’appareil de l’ancien compte, rendant potentiellement ce compte orphelin si aucun autre mécanisme de connexion n’y est lié, et le liera au nouveau compte. Bonne pratique : Utilisez CloudScript ou un événement PlayStream pour enregistrer des informations sur les comptes abandonnés à un endroit où vos représentants du service client pourront les récupérer si le joueur a commis une erreur. Même une opération aussi simple que l’écriture du PlayFabId dans un fichier journal dans le cloud peut sauver le compte d’un joueur assidu. État de l’appareil : l’ID de l’appareil est lié au compte du joueur. À ce stade, une connexion sans friction peut être utilisée avec l’appareil, à la place des informations d’identification récupérables.Autres bonnes pratiques
Les étapes ci-dessus impliquent d’inviter l’utilisateur avant la connexion. La connexion sans friction consiste à se connecter sans demander d’abord l’avis du joueur. Vous pouvez trouver un juste milieu idéal grâce aux suggestions suivantes : API de connexion sans friction : vos connexions sans friction comportent toutes un paramètre de requête appelé CreateAccount. Exemples :- AndroidRequest.CreateAccount
- IosRequest.CreateAccount. Sélectionnez true ou false pour cette propriété en suivant les recommandations ci-dessous :
- 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 disposant d’une fonctionnalité de connexion sans friction, cette scène doit inclure un bouton Jouer maintenant, ainsi que des boutons permettant au joueur de se connecter à un compte existant via Facebook, Twitch, Google ou d’autres options de connexion récupérable. Le bouton Jouer maintenant doit activer la connexion sans friction avec CreateAccount=true.
- Déconnexion : fournissez un bouton Se déconnecter qui renvoie à 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 en liant l’appareil à ce compte.
