Skip to content

Réussites et Classements

Classements

Créer un Classement

Cette section explique comment créer un classement pour un nouveau jeu ou un jeu existant. La limite maximale est de 20, et chaque ID de classement doit être unique dans un jeu.

Pour créer un classement pour votre jeu, accédez à la page de gestion GameRank correspondant à votre jeu, sélectionnez Extensions > Ajouter et cliquez sur le bouton Créer un classement.

alt text

Ensuite, il suffit de remplir les informations requises pour ce classement.

Format des Scores

  • Les Classements Numériques affichent les scores sous forme de nombres. Ces scores peuvent être affichés sous forme d'entiers ou de nombres à virgule flottante, par exemple 3.14159, 3141.59 ou 314159 ; notez que les valeurs ne doivent pas être excessivement grandes, seule la simple précision est actuellement prise en charge.
  • Les Classements de Temps afficheront les scores dans un format heures/minutes/secondes/centièmes de seconde, ou dans un format d'horloge traditionnel (comme HH:MM:SS), par exemple 66032, 1:06:3.
  • Les Scores Formatés afficheront les scores en utilisant un format personnalisé. Soumettez les scores avec des unités monétaires comme $19.95. Par exemple, $19.95.

Directives pour l'Image d'Arrière-plan

L'image d'arrière-plan pour le classement doit être créée en tant que fichier JPEG 1024 x 1024. Ceci est optionnel ; si aucune image n'est téléchargée, l'image par défaut de la plateforme sera utilisée. La même image d'arrière-plan est utilisée pour toutes les régions linguistiques, nous vous recommandons donc de ne pas ajouter de texte ou de contenu localisé dans l'image.

Ajuster les Classements

Pour la liste des entrées d'un classement, les développeurs peuvent traiter les joueurs anormaux :

  • Supprimer : Supprimer les données actuellement affichées du joueur du classement.
  • Ajouter à la Liste Noire : Révoquer par la suite l'éligibilité du joueur à participer à tous les classements du jeu actuel. Après avoir été ajouté à la liste noire, la liste des comptes blacklistés peut être consultée dans la section 'Tous les classements', où vous pouvez également supprimer un compte joueur de la liste noire.
  • Modifier les Données : Cliquez pour ouvrir la page de modification du classement.
  • Supprimer le Classement : Cliquez pour supprimer la liste de classement spécifiée.

Champs de Soumission des Données de Classement

Si les données d'un joueur dans le jeu se qualifient pour un classement défini, vous pouvez appeler l'interface de soumission des données de classement pour envoyer les données de classement correspondantes au service backend Jogos. Le joueur peut ensuite ouvrir la fenêtre de classement sur la plateforme Jogos pour voir les classements du jeu et son propre rang.

Remarque : Le nom du classement et le type de données dans les paramètres de l'interface doivent strictement correspondre au nom et au type de données définis dans le Centre de Développement.

Le backend développeur peut créer les trois types suivants de types de données de soumission :

  • Score Numérique : number
  • Score de Temps : time
  • Score Formaté : custom

Les données soumises sont une paire clé-valeur, où la valeur ne peut être qu'un nombre, une chaîne ou une date. Cela doit être cohérent avec le format de données configuré dans le Centre de Développement.

Interface de Soumission des Données de Classement

Interface de soumission des données de classement : JOGOS_SDK.game.commitRankingData

== HTML5

javascript
/**
 * Soumettre les données du classement
 *
 * @param rankingName ID du classement
 * @param data Données du classement
 */
await window.JOGOS_SDK.game.commitRankingData(rankingName: string, data: { [key: string]: any });

== Cocos

javascript
/**
 * Soumettre les données du classement
 *
 * @param rankingName ID du classement
 * @param data Données du classement
 */
await JOGOS_SDK.game.commitRankingData(rankingName: string, data: { [key: string]: any });

== Unity

Interface de soumission des données de classement : JogosSDK.Game.CommitRankingData

csharp
/// <summary>
 /// Soumettre les données du classement
 /// </summary>
 /// <param name="rankingName"></param> ID du classement
 /// <param name="rankingData"></param> Données à soumettre
 /// <param name="action"></param> Callback indiquant si la soumission a réussi
 public void CommitRankingData(string rankingName, string rankingData, Action<bool> action)

//Exemple:
JsonObject json = new JsonObject();
json["number"] = 1;
JogosSDK.Game.CommitRankingData("LevelRank", json.ToString(), (isSucc) =>
{
	Debug.Log("CommitRankingData isSucc:"+ isSucc);
});

:::

Interface pour Ouvrir l'Interface du Classement :

Interface pour ouvrir l'interface du classement : JOGOS_SDK.game.openRankingDialog Si vous souhaitez afficher un classement spécifique (au lieu de tous les classements), vous pouvez passer un nom de classement à cette méthode (il doit correspondre au nom créé dans le backend développeur) ;

== HTML5

javascript
/**
 * Ouvrir la fenêtre du classement
 *
 * @param rankingName Nom du classement
 */
await window.JOGOS_SDK.game.openRankingDialog(rankingName: string);

== Cocos

javascript
/**
 * Ouvrir la fenêtre du classement
 *
 * @param rankingName Nom du classement
 */
await JOGOS_SDK.game.openRankingDialog(rankingName: string);

== Unity

csharp
/// <summary>
 /// Ouvrir l'interface du classement
 /// </summary>
 /// <param name="rankingName"></param> Nom du classement
 /// <param name="action"></param> Callback d'ouverture de l'interface
 public void OpenRankingDialog(string rankingName, Action<bool> action)

//Exemple:
 JogosSDK.Game.OpenRankingDialog("LevelRank", (isSucc) =>
 {
     Debug.Log("OpenRankingDialog isSucc:" + isSucc);
 });

:::

Intégration des Réussites

Si un joueur atteint un certain objectif, vous pouvez appeler l'interface de soumission des données de réussite du joueur pour envoyer les données correspondantes au service backend Jogos. Le joueur peut ensuite ouvrir la fenêtre des réussites du joueur sur la plateforme Jogos pour voir les réussites qu'il a débloquées.

Remarque : Le nom de la réussite dans les paramètres de l'interface est le nom défini dans le Centre de Développement et doit correspondre exactement.

Pour les réussites qui ne sont PAS incrémentielles (basées sur des étapes) :

  • Le rapport n'est nécessaire que lorsque la réussite est réellement débloquée (c'est-à-dire que la réussite n'affiche pas de progression ; rapporter implique que la réussite est débloquée).
  • Si la réussite est configurée comme une réussite incrémentielle (basée sur des étapes) : La progression progress doit correspondre à l'ID de l'étape rapportée. Par exemple, rapportez progress = 2 après avoir terminé l'étape 2.

Créer des Réussites

Dans le backend développeur, dans le service GameService - page Réussites, sélectionnez Créer une réussite. Sur la page Ajouter une réussite, remplissez le formulaire.

alt text

Chaque réussite a les éléments de base associés suivants :

  • ID de la Réussite : Prend en charge les combinaisons alphanumériques. Utilisé pour faire correspondre les rapports des joueurs dans le jeu et afficher la réussite sur le site Web. Cette valeur doit être unique pour un seul jeu.
  • Nom : Le nom de la réussite (par exemple, "Pieman").
  • Condition de Déblocage : La description de la façon de débloquer la réussite. Généralement, cette valeur indique au joueur comment l'obtenir.
  • Icône : L'icône carrée associée à votre réussite. Vous devez télécharger des images verrouillées et déverrouillées.
  • Type de Réussite (Achievement Types), prend en charge 3 types, sélection unique. Les réussites sont affichées dans des listes séparées sur le frontend selon leur ordre de type :
    • Réussites d'Exploration pour Débutants (Beginner's Exploration Achievements), jusqu'à 900 peuvent être créées.
    • Réussites de Défi Intermédiaires (Intermediate Challenge Achievements), jusqu'à 50 peuvent être créées.
    • Réussites de Gloire Avancées (Advanced Glory Achievements), jusqu'à 10 peuvent être créées.

Statut : Une réussite peut être dans l'un des trois états différents suivants :

  • Réussites Cachées signifie que les détails de la réussite seront cachés au joueur. Les Services de Jeu Jogos fourniront une description et une icône génériques d'espace réservé pour les réussites à l'état caché. Nous recommandons de définir une réussite comme cachée si elle contient des spoilers de jeu que vous ne voulez pas révéler prématurément (par exemple, "Découvrez que vous étiez un fantôme tout le long !").
  • Réussites Révélées indiquent que le joueur est au courant de la réussite mais ne l'a pas encore débloquée. La plupart des réussites commencent à l'état révélé.
  • Réussites Débloquées indiquent que le joueur a réussi à atteindre l'objectif. Les joueurs peuvent débloquer des réussites hors ligne. Lorsque le jeu est en ligne, il se synchronisera avec les Services de Jeu Jogos pour mettre à jour le statut de déblocage des réussites.

Réussites Incrémentielles (par Étapes)

  • Vous pouvez désigner une réussite comme standard ou incrémentielle. Normalement, une réussite incrémentielle est une réussite que le joueur travaille à terminer sur une plus longue période. Au fur et à mesure que le joueur progresse dans une réussite incrémentielle, vous pouvez rapporter les progrès accomplis aux Services de Jeu Jogos.
  • Les services Jogos suivent les informations de progression, avertissent le jeu lorsque le joueur remplit les conditions requises pour débloquer la réussite et informent le joueur de sa proximité avec l'objectif.

Directives pour les Icônes

Les icônes doivent être créées en tant que fichiers PNG, JPEG ou JPG de 512 x 512 pixels. Vous n'avez besoin de nous fournir que l'icône de la réussite débloquée. Nous vous recommandons d'inclure des éléments de couleur dans vos icônes de réussite afin que les utilisateurs puissent distinguer les réussites affichées et les réussites débloquées. La même icône est utilisée pour toutes les régions linguistiques, nous vous recommandons donc de ne pas ajouter de texte ou de contenu localisé dans l'icône.

Interface de Rapport des Réussites

== HTML5

javascript
/**
 * Soumettre les données de réussite du joueur
 *
 * @param name ID de la réussite
 * @param progress Progression de l'achèvement
 * @param hidden Indicateur de masquage
 */
await window.JOGOS_SDK.game.commitAchievementsData(name: string, progress: number, hidden: boolean);

== Cocos

javascript
/**
 * Soumettre les données de réussite du joueur
 *
 * @param name ID de la réussite
 * @param progress Progression de l'achèvement
 * @param hidden Indicateur de masquage
 */
await JOGOS_SDK.game.commitAchievementsData(name: string, progress: number, hidden: boolean);

== Unity

csharp
/// <summary>
/// Rapporter les données de réussite
/// </summary>
/// <param name="name"></param> ID de la réussite
/// <param name="progress"></param> Progression
/// <param name="hidden"></param> S'il s'agit d'une réussite cachée
/// <param name="action"></param> Callback indiquant si le rapport a réussi
public void CommitAchievementData(string name, int progress, bool hidden, Action<bool> action)

//Exemple:
 JogosSDK.Game.CommitAchievementData("level", 1, false,(isSucc)=>
{
		Debug.Log("CommitAchievementData level,isSucc:"+ isSucc);
});

Si la réussite est configurée comme une réussite incrémentielle : Rapporter la réussite d'étape correspondante :

csharp
JogosSDK.Game.CommitAchievementData("Event", 1, false,null);

Lors du rapport d'une réussite d'étape, la progression globale de la réussite doit également être rapportée : Progression progress : Par exemple, si le nombre total d'étapes est de 3 et que 2 sont terminées (dans n'importe quel ordre), rapportez la progression comme 2.

csharp
JogosSDK.Game.CommitAchievementData("Root", 2, false,null);

:::

Interface pour Ouvrir l'Interface des Réussites :

La plateforme Jogos fournit la fonctionnalité d'ouvrir la fenêtre des réussites du joueur. Si nécessaire, vous pouvez également appeler une interface dans le jeu pour ouvrir la fenêtre des réussites du joueur.

== HTML5

javascript
// Ouvrir la fenêtre des réussites du joueur
await window.JOGOS_SDK.game.openAchievementsDialog();

== Cocos

javascript
// Ouvrir la fenêtre des réussites du joueur
await JOGOS_SDK.game.openAchievementsDialog();

== Unity

Interface pour ouvrir les réussites : JogosSDK.Game.OpenAchievementsDialog

csharp
/// <summary>
 /// Ouvrir l'interface des réussites
 /// </summary>
 /// <param name="action">Callback d'ouverture de l'interface</param>
 public void OpenAchievementsDialog(Action<bool> action)

//Exemple:
JogosSDK.Game.OpenAchievementsDialog((isSucc) =>
{
	Debug.Log("OpenAchievementsDialog isSucc:"+ isSucc);
});

:::