Classements

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 Google Play se chargent de gérer la plupart des aspects de ce classement pour vous. Voici comment fonctionne ce processus dans les grandes lignes :

  1. À 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.
  2. Les services de jeux Google Play vérifient si ce score est meilleur que le classement actuel du joueur pour le score quotidien, hebdomadaire ou historique. Si c'est le cas, les services de jeux Google Play mettent à jour les classements correspondants avec le nouveau score.
  3. Les services de jeux Google 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. Dans le cas contraire, les services de jeux Google Play indiquent au client quel est son score quotidien, hebdomadaire ou historique.
  4. 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. Le service de jeux effectue tous les filtres nécessaires, puis renvoie les résultats au client.
  5. Si les scores sont nombreux, le service de jeux ne renvoie que les données correspondant aux meilleurs scores du classement. Vous pouvez également récupérer des données de score brutes pour les meilleurs scores ou pour les scores adjacents au 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 permanentes de chaque classement que vous créez. 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 :

  • 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 envoyés aux classements et stockés en interne sous forme d'entiers longs, le service de jeux peut 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 forme 3.14159, 3141.59 ou 314159, 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é comme 1: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 au service de jeux, elles spécifient une langue et des paramètres régionaux dans lesquels afficher ces scores. L'API REST vous permet également de définir une langue basée sur les paramètres régionaux. Le service de jeux renvoie des scores de classement formatés adaptés à 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

Pour créer un classement pour un nouveau jeu non publié, accédez à l'entrée Google Play Console de votre jeu, puis à Croissance > Services de jeux Play > Configuration et gestion > Classements, puis cliquez sur le bouton Créer un classement.

Bouton "Add Leaderboard" (ajouter un classement) dans le panneau principal des classements

Puis, indiquez simplement les informations requises pour ce classement.

Formulaire rempli pour le classement "Meilleure partie"

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 le classement dans l'onglet Classements de la console Google Play. À 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 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 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.

Pour ajouter vos propres traductions pour des classements, ouvrez l'onglet Classements 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, qui recherche automatiquement les scores susceptibles d'être altérés 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 :

  1. Dans la console Google Play, ouvrez l'onglet Services de jeux, puis sélectionnez votre jeu dans la liste.
  2. Ouvrez l'onglet Leaderboards, puis sélectionnez l'instance de classement pour laquelle vous souhaitez activer la protection contre la falsification.
  3. Activez l'option Enable leaderboard tamper protection (activer la protection contre la falsification des classements).
  4. Cliquez sur Save.
  5. Publiez votre jeu.

Une fois la protection contre la falsification activée pour un leaderboard dans la Google Play Console, il peut s'écouler jusqu'à 24 heures avant que cette fonctionnalité ne prenne effet. 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 :