Les classements sont un moyen amusant de permettre aux joueurs de se mesurer les uns aux autres. Ils sont tout aussi adaptés aux joueurs les plus passionnés (qui se battront pour la première place d'un classement public) qu'aux joueurs plus occasionnels (qui aiment comparer leurs progrès à ceux de leurs amis, par exemple).
Afin de découvrir comment implémenter des classements pour votre plate-forme, consultez la section Implémentations client.
Comprendre les classements
Lorsque vous créez un classement, les services de jeux Play se chargent d'en gérer la plupart des aspects pour vous. Voici comment fonctionne ce processus dans les grandes lignes :
- À la fin d'une partie (ou à un moment approprié que vous avez déterminé), le jeu envoie le score du joueur à un ou plusieurs classements que vous avez créés à cet effet.
- Les services de jeux Play vérifient si ce score est supérieur au score quotidien, au score hebdomadaire ou au meilleur score de référence de ce joueur dans le classement actuel. Si tel est le cas, les services de jeux Play ajoutent ce nouveau score dans les classements correspondants.
- Les services de jeux Play renvoient un rapport de score au client de jeu. Ce rapport indique au client s'il s'agit d'un nouveau score quotidien, score hebdomadaire ou meilleur score de référence. Si ce n'est pas le cas, les services de jeux Play indiquent au client quel est son score quotidien, son score hebdomadaire ou historique ou son meilleur score de référence.
- Afin de récupérer les résultats d'un joueur pour un classement général, vous pouvez demander une période (quotidienne, hebdomadaire ou illimitée) et spécifier si l'utilisateur souhaite ou non voir un classement public ou social. Les services de jeux Play effectuent tout le filtrage nécessaire, puis renvoient les résultats au client.
- Lorsque les scores sont nombreux, les services de jeux Play ne renvoient que les données correspondant aux meilleurs dans le classement. Vous pouvez également récupérer les données brutes relatives aux meilleurs scores ou des scores proches de ceux du joueur.
Classements multiples
Les jeux peuvent avoir jusqu'à 70 classements. Par exemple, un jeu à plusieurs niveaux peut proposer un classement spécifique à chaque niveau, tandis qu'un jeu de course peut avoir un classement distinct pour chaque piste.
Périodes prises en compte par les classements
Le SDK Play Jeux crée automatiquement des versions quotidiennes, hebdomadaires et sans limites de temps pour chaque classement. Vous n'avez pas besoin de créer des classements distincts pour chaque période.
Les classements quotidiens sont réinitialisés à l'heure avancée du Pacifique (UTC-7) tout au long de l'année.
Les classements hebdomadaires sont réinitialisés à minuit entre le samedi et le dimanche, dans le même fuseau horaire que les classements quotidiens (UTC-7).
Classements publics et sur les réseaux sociaux
Le SDK Play Jeux peut présenter deux versions différentes de chaque classement au joueur :
Le classement social se compose des personnes qui font partie des cercles de l'utilisateur (ou, plus précisément, des membres des cercles que l'utilisateur a choisi de partager avec votre application) qui ont accepté de partager leur activité de jeu avec lui.
Le classement public se compose des joueurs qui ont choisi de partager leur activité de jeu publiquement. Si le joueur ne choisit pas de partager son activité de jeu publiquement, il n'apparaît pas dans ce classement.
Afficher les classements
Dans les bibliothèques clientes mobiles, les bibliothèques se chargent de la mise en forme et de l'affichage des classements. Vous pouvez spécifier si un joueur peut voir un classement spécifique ou consulter la liste de tous les classements.
Pour implémenter vos propres versions des classements, accédez aux données directement à partir des bibliothèques clientes.
Attributs
Pour créer et gérer des classements, vous devez connaître ces attributs :
Éléments de base
Ces éléments de base sont associés à chaque classement :
- L'ID est une chaîne unique que la Google Play Console génère pour vous. Cet identifiant unique vous permet de faire référence au classement dans les clients de votre jeu.
- Nom : nom court donné au classement (par exemple, "Records" ou "Niveau 3"). Il peut compter jusqu'à 100 caractères.
- Icône : icône carrée associée au classement. Pour découvrir les bonnes pratiques à suivre lors de la création d'icônes de classement, consultez les directives concernant les icônes ci-dessous.
- L'ordre de la liste correspond à l'ordre d'affichage du classement lorsqu'un joueur voit les classements associés à votre jeu.
- Les limites sont des valeurs facultatives qui définissent les limites inférieure et supérieure des scores autorisés dans le classement. Elles peuvent vous aider à rejeter les scores qui sont clairement frauduleux. Vous pouvez également utiliser
Players.hide
pour masquer les joueurs qui, selon vous, ont envoyé des scores frauduleux à partir de tous les classements de votre application.
Ordre de tri
Les classements peuvent utiliser l'un de ces deux ordres de tri :
- Par défaut, les classements donnent la première place au score le plus élevé. Il s'agit du type de classement utilisé dans la plupart des jeux où les joueurs marquent des points.
- Les classements Première place au score le plus faible sont parfois utilisés lorsqu'un score plus faible est préférable. Les jeux de course sont les exemples les plus courants de ce type de classement. Dans ce cas, le score représente le temps qu'a mis le joueur pour terminer la course.
Format du score
Bien que tous les scores soient soumis aux classements et stockés en interne sous forme d'entiers longs, les services de jeux Play peuvent les présenter à l'utilisateur sous différents formats :
Les classements numériques présentent les scores sous forme de nombres. Ils peuvent s'afficher sous forme d'entiers ou de nombres réels avec un nombre fixe de décimales. Vous envoyez le score sous forme de nombres entiers, et le séparateur décimal est inséré à l'emplacement spécifié. Un score de
314159
, par exemple, serait affiché sous la forme3.14159
,3141.59
ou314159
, en fonction de la décimale que vous avez spécifiée.Les classements temporels présentent les scores au format heures/minutes/secondes/centièmes de seconde. Vous devez soumettre les scores en millisecondes, Dans ce cas,
66032
serait interprété comme1:06.03
.Les classements de type Devise présentent les scores sous la forme d'une somme d'argent Vous envoyez des scores tels que 1/1 000 000 de la devise principale. Par exemple, un score de 19 950 000 serait interprété comme
$19.95
, en supposant que vous ayez spécifié le dollar américain comme devise.
Les classements numériques sont également compatibles avec les unités personnalisées. Par exemple, si votre jeu mesure les scores élevés en mètres, vous pouvez spécifier "mètres" comme unité par défaut pour votre classement général.
Traductions et format du score
Lorsque les bibliothèques clientes mobiles demandent des données de classement aux services de jeux Play, elles indiquent la langue et les paramètres régionaux dans lesquels ces scores doivent être affichés. L'API REST vous permet également de définir une langue basée sur les paramètres régionaux. Les services de jeux Play renvoient des scores de classement mis en forme pour cette langue et ces paramètres régionaux. Ces scores mis en forme apparaîtront, que vous ayez ou non ajouté des traductions pour votre classement.
Pour les classements numériques, le format des nombres est affiché différemment en fonction des langues (par exemple, 12,345.78
aux États-Unis et 12 345,78
en France). Si vous utilisez des unités personnalisées et que vous avez ajouté des traductions à votre jeu, vous devez fournir des unités traduites pour chaque langue que vous avez ajoutée. Le service affichera alors ces unités traduites lorsqu'elles seront nécessaires.
Selon la langue que vous choisissez, vous devrez peut-être fournir différentes versions des noms de vos unités. En français, vous avez besoin d'une version pour un élément et d'une autre pour tout le reste (par exemple, "mètre" et "mètres"). En polonais, par contre, vous devez fournir une version pour une unité, pour quelques unités, pour de nombreuses unités et pour tout le reste. Pour en savoir plus sur les règles du pluriel, consultez la section Chaînes de quantité (pluriels).
Pour les classements temporels, le format horaire est affiché selon la langue et les paramètres régionaux du joueur. Cela se verra principalement si vous utilisez des fractions de seconde ou des valeurs horaires de plus de trois chiffres (par exemple, 4,815:16:23.42
aux États-Unis et 4.815:16:23,42
en Allemagne).
Pour les classements de type Devise, le format de devise s'affiche en fonction de la langue et des paramètres régionaux du joueur. Cependant, vous ne pouvez pas modifier l'unité monétaire. Par exemple, si vous indiquez que la devise est le dollar américain, le jeu affichera $19.95
aux États-Unis et 19,95 $
en France. Vous ne pouvez pas configurer votre jeu pour qu'il affiche des dollars aux États-Unis et des euros en France.
Directives concernant les icônes
Les icônes doivent être créées sous forme de fichiers PNG ou JPEG 512 x 512. Dans la plupart des clients de jeu, vos icônes seront réduites. Par conséquent, évitez de créer des icônes trop détaillées. Vous pouvez envoyer des icônes avec un canal alpha pour que la transparence soit conservée. Comme l'icône de classement apparaît sur un fond gris plus foncé sur les appareils Android, choisissez une icône adaptée à cette situation.
Étant donné que la même icône est utilisée dans tous les paramètres régionaux, nous vous déconseillons d'y inclure du texte ou du contenu localisé.
Créer un classement
Cette section vous explique comment créer des classements pour des jeux, qu'ils soient nouveaux ou qu'ils existent déjà.
Créer un classement pour un nouveau jeu
Si vous souhaitez créer un classement pour un nouveau jeu non publié, accédez à l'entrée Google Play Console de votre jeu, puis à Grow > Play Games Services > Setup and management > Leaderboards (Croissance > Services de jeux Play > Configuration et gestion > Classements). Cliquez ensuite sur le bouton Créer un classement.
Puis, indiquez simplement les informations requises pour ce classement.
Cliquez sur Save as draft (enregistrer comme un brouillon) pour que votre classement soit disponible à l'état "Brouillon". Une fois que vous publiez votre jeu, tous les classements de jeu le sont également.
Créer un classement pour un jeu publié
Si vous souhaitez créer un classement supplémentaire pour un jeu qui a déjà été publié, suivez la même procédure que ci-dessus. Pour découvrir comment tester une version mise à jour d'un jeu, consultez la section Publier les modifications apportées à votre jeu.
Une fois que vous avez testé votre classement et qu'il vous convient, vous pouvez publier à nouveau votre jeu avec les nouveaux classements, qui seront ensuite accessibles à tous.
Modifier un classement
Pour modifier un classement que vous avez déjà créé, cliquez sur celui-ci dans l'onglet Leaderboards (classements) de la Google Play Console. À ce stade, le même formulaire que vous avez utilisé lors de la création du classement s'affiche. Modifiez les champs à votre convenance.
Lorsque vous avez fini de modifier un classement, cliquez sur le bouton Save as draft. Le nouveau classement passera à l'état "Brouillon", ce qui vous permettra de le tester.
Si tout fonctionne comme prévu, sélectionnez Publish the changes (publier les modifications) dans la partie supérieure du formulaire de classement. Vous pourrez alors publier à nouveau le jeu, ainsi que tous les classements mis à jour.
Annuler une modification
Si vous n'aimez pas le classement que vous venez de modifier, et que vous souhaitez revenir à l'itération précédente, il vous suffit de sélectionner Revert (rétablir) dans la partie supérieure du formulaire de classement. La version déjà publiée du classement sera alors rétablie.
Supprimer un classement
Vous pouvez supprimer les classements qui sont à l'état "Brouillon", ainsi que ceux qui ont déjà été publiés. Pour supprimer un classement dans la Google Play Console, accédez au formulaire correspondant, puis cliquez sur Delete leaderboard (supprimer le classement) en haut du formulaire.
Vous pouvez également appeler Players.hide
pour masquer le classement d'un joueur dans l'application.
Réinitialiser un classement
Vous ne pouvez réinitialiser les données de progression des joueurs que pour les classements à l'état de brouillon.
- Pour réinitialiser les classements dans la Google Play Console, cliquez sur Reset progress (réinitialiser la progression) en haut du formulaire pour cet événement.
- Pour réinitialiser les données du classement par programmation, appelez les méthodes
Scores
de l'API Management.
Ajouter des traductions pour les classements
Vous pouvez spécifier vos propres traductions pour les classements associés à votre jeu. Avant cela, assurez-vous d'avoir suivi les étapes décrites dans la section Ajouter des traductions pour votre jeu. Vous devez également avoir créé un ou plusieurs classements pour votre jeu.
Afin d'ajouter vos propres traductions pour des classements, ouvrez l'onglet Leaderboards de votre jeu dans la Google Play Console, puis sélectionnez un classement existant. Sur sa page d'informations, cliquez sur l'onglet d'une langue que vous avez précédemment ajoutée dans l'onglet Game details (détails du jeu). Sur la page d'informations du classement pour cette langue, modifiez le formulaire en y ajoutant les traductions correspondantes. Cliquez sur Save pour enregistrer la traduction des informations relatives au jeu.
Masquer les scores du classement
Les services de jeux Google Play fournissent une fonctionnalité de protection contre la falsification des classements. Celle-ci recherche les scores potentiellement trompeurs et les masque automatiquement. Cette fonctionnalité n'est disponible que pour les jeux Android.
La protection contre la falsification est activée par défaut pour les classements que vous créez pour votre jeu Android, mais elle est désactivée pour les classements existants. Si vous souhaitez l'activer pour les classements qui ont déjà été publiés, procédez comme suit :
- Dans la Google Play Console, ouvrez l'onglet Games services (services de jeux), puis sélectionnez votre jeu dans la liste.
- Ouvrez l'onglet Leaderboards, puis sélectionnez l'instance de classement pour laquelle vous souhaitez activer la protection contre la falsification.
- Activez l'option Enable leaderboard tamper protection (activer la protection contre la falsification des classements).
- Cliquez sur Save.
- Publiez votre jeu.
Une fois que la protection contre la falsification est activée pour un classement dans la Google Play Console, un délai de 24 heures peut être nécessaire pour que cette fonctionnalité entre en vigueur. Les scores envoyés avant l'activation de la protection contre la falsification ne sont pas masqués rétroactivement.
Dans certains cas, vous pouvez désactiver la protection contre la falsification (par exemple, si votre jeu s'exécute également sur le Web en plus d'Android et qu'il partage des classements sur ces plates-formes).
Implémentations client
Pour découvrir comment implémenter des classements pour votre plate-forme, consultez les ressources suivantes :