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.
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
ou314159
; 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
/**
* 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
/**
* 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
/// <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
/**
* Ouvrir la fenêtre du classement
*
* @param rankingName Nom du classement
*/
await window.JOGOS_SDK.game.openRankingDialog(rankingName: string);
== Cocos
/**
* Ouvrir la fenêtre du classement
*
* @param rankingName Nom du classement
*/
await JOGOS_SDK.game.openRankingDialog(rankingName: string);
== Unity
/// <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, rapportezprogress = 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.
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
/**
* 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
/**
* 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
/// <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 :
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.
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
// Ouvrir la fenêtre des réussites du joueur
await window.JOGOS_SDK.game.openAchievementsDialog();
== Cocos
// Ouvrir la fenêtre des réussites du joueur
await JOGOS_SDK.game.openAchievementsDialog();
== Unity
Interface pour ouvrir les réussites : JogosSDK.Game.OpenAchievementsDialog
/// <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);
});
:::