Exemples
- Clans/Guildes - Les groupes d’entités peuvent être utilisés pour décrire un ensemble de joueurs qui jouent régulièrement ensemble, quel que soit le lien social qui les unit sur le long terme.
- Groupes - Les groupes d’entités peuvent être utilisés pour des groupes à court terme créés afin de permettre à des joueurs individuels d’atteindre un objectif immédiat, puis facilement dissous par la suite.
- Canaux de conversation - Des canaux de conversation à court ou à long terme peuvent être définis en tant que groupe d’entités.
- Abonnement à des informations dans le jeu - Votre jeu contient-il un objet légendaire unique ? Les joueurs veulent-ils des mises à jour constantes sur ce qui arrive à cet objet ? Créez un groupe d’entités centré sur cet objet, dont les membres sont toutes les entités de joueurs intéressées par l’objet.
- Données d’objet
- Données de fichier
- Profils
Les groupes ont une limite par défaut de 1000 membres par groupe et ne prennent en charge que les joueurs et les personnages en tant que membres
Utilisation des groupes d’entités
Lors de la création d’un groupe, la première entité ajoutée au groupe reçoit un rôle d’administrateur (par souci de simplicité, ce guide désigne cette entité comme le propriétaire). Le propriétaire peut ensuite inviter de nouveaux membres, créer de nouveaux rôles avec une grande variété d’autorisations personnalisables, modifier les rôles des membres, exclure des membres, etc. En outre, les mêmes fonctions d’entité qui existent pour les entités fonctionnent également pour les groupes : vous pouvez donc enregistrer des objets JSON et des fichiers directement dans le groupe pour stocker des données arbitraires propres au jeu. L’exemple de code fourni ci-dessous devrait vous donner une longueur d’avance sur les interactions de base avec les guildes. Il vous permet de créer des groupes, d’ajouter et de supprimer des membres, et de supprimer le groupe. Il s’agit d’un point de départ, et il ne présente aucun des rôles ou autorisations.Analyse de l’exemple
Cet exemple est conçu comme un contrôleur, qui enregistre un minimum de données dans un cache local (PlayFab étant la couche de données faisant autorité), et fournit un moyen d’effectuer des opérations CRUD sur les groupes. Examinons quelques-unes des fonctions de l’exemple fourni :-
OnSharedError- Il s’agit d’un modèle typique des exemples PlayFab. Le moyen le plus simple de gérer une erreur consiste à la signaler. Votre client de jeu disposera probablement d’une logique de gestion des erreurs beaucoup plus sophistiquée. -
ListMembership- AppelleListMembershippour déterminer tous les groupes auxquels appartient l’entité donnée. Les joueurs veulent connaître les groupes qu’ils ont déjà rejoints. -
CreateGroup/DeleteGroup- Ces fonctions sont pour la plupart explicites. Cet exemple montre la mise à jour du cache local d’informations de groupe lorsque ces appels sont exécutés avec succès. -
InviteToGroup/ApplyToGroup- Rejoindre un groupe est un processus en deux étapes, qui peut être déclenché dans les deux sens :- Un joueur peut demander à rejoindre un groupe.
- Un groupe peut inviter un joueur.
-
AcceptGroupInvitation/AcceptGroupApplication- La deuxième étape du processus d’adhésion. L’entité qui répond accepte l’invitation, ce qui achève le processus faisant du joueur un membre du groupe. -
RemoveMembers- Les membres qui en ont l’autorité (définie par les autorisations de leur rôle) peuvent exclure des membres d’un groupe.
Serveur ou client
Comme pour toutes les nouvelles méthodes d’API d’entité, il n’y a aucune distinction entre l’API serveur et l’API client. L’action est effectuée par l’appelant, selon la manière dont le processus a été authentifié. Un client est identifié comme tel et appelle ces méthodes en tant qu’entité de joueur de titre ; ses rôles et autorisations au sein du groupe sont évalués à chaque appel, afin de garantir qu’il est autorisé à effectuer cette action. Un serveur est authentifié avec la mêmedeveloperSecretKey, qui identifie ce processus comme une entité de titre. Un titre contourne les vérifications de rôle, et les appels d’API exécutés par un titre n’échouent que si l’action est impossible à effectuer, par exemple si une entité ne peut pas être supprimée parce qu’elle n’est pas membre.
