Jeu
Le module de jeu propose diverses fonctionnalités liées au jeu. Après avoir lu la partie relative à votre moteur de jeu sur la page Introduction à JOGOS_SDK, vous pouvez utiliser les fonctionnalités associées comme suit :
window.JOGOS_SDK.game;Si vous devez effectuer des opérations de configuration telles que l'adaptation de la langue de localisation, l'adaptation de l'appareil et l'étalonnage du temps pendant la phase d'initialisation, vous pouvez accéder à la page associée Initialisation (SysInfo) pour consulter les définitions de paramètres détaillées et les méthodes de configuration.
Mise en pause/Reprise du jeu
Lorsque le jeu est interrompu (fin d'un niveau, pause du jeu, etc.), il faut impérativement appeler la méthode de mise en pause du jeu pour nous informer que le jeu est en pause. N'oubliez pas d'appeler la méthode de reprise du jeu pour nous indiquer que le jeu a repris lorsque celui-ci est restauré ou continué (reprise, résurrection, passage au niveau suivant, etc.). Le SDK gère automatiquement la mise en pause et la reprise lors de la lecture des publicités, il n'est donc pas nécessaire de rappeler ces méthodes.
// Informez-nous que le jeu a été mis en pause
await window.JOGOS_SDK.game.pause();
// Informez-nous que le jeu en pause a repris
await window.JOGOS_SDK.game.continuePlay();Début/Fin du chargement du jeu
Lorsque votre jeu commence à charger, vous devez appeler la méthode de début de chargement pour nous informer que le jeu a commencé à charger. Une fois le chargement terminé, assurez-vous d'appeler la méthode de fin de chargement pour nous indiquer que le jeu a fini de charger.
// Informez-nous que le jeu a commencé à charger
await window.JOGOS_SDK.game.loadingStart();
// Informez-nous que le chargement du jeu est terminé
await window.JOGOS_SDK.game.loadingEnd();Lorsque le jeu commence à charger, vous devez appeler la méthode de début de chargement pour nous informer que le jeu a commencé à charger. Une fois le chargement terminé, vous devez appeler la méthode de fin de chargement pour nous indiquer que le jeu a fini de charger.
// Informez-nous que le jeu a été mis en pause
await window.JOGOS_SDK.game.pause();
// Informez-nous que le jeu a repris
await window.JOGOS_SDK.game.continuePlay();Moment joyeux
Cette méthode peut être appelée lorsque le joueur réalise un exploit (défaire un Boss, atteindre un score élevé, etc.). Un appel réussi à cette méthode déclenchera des actions de célébration sur le site Web (par exemple, lancement de confettis). Il n'est pas nécessaire d'appeler cette méthode lors de la complétion d'un niveau ou de la réception d'une récompense.
// Activer le moment joyeux du jeu
await window.JOGOS_SDK.game.happytime();Fonctionnalités Amis et Chat
Nous avons intégré des modules de fonctionnalités sociales standardisés, couvrant la gestion des relations d'amitié et les services de chat en temps réel. Si votre jeu prend en charge les mécaniques d'interaction multijoueur, vous pouvez les intégrer rapidement via des API légères pour implémenter : la synchronisation cloud de la liste d'amis, l'invitation en équipe en un clic, les conversations privées et d'autres scénarios sociaux fondamentaux. Nous aidons les développeurs à construire efficacement un écosystème social immersif dans le jeu avec des coûts de développement extrêmement bas.
- Lors de l'utilisation, les développeurs doivent transmettre l'UserId correspondant du joueur côté plateforme comme paramètre.
Vérification de la relation d'amitié
Vérifie si un joueur spécifié est un ami de l'utilisateur actuel.
/**
* Vérifie si les joueurs spécifiés sont mes amis
* @param {Array<number>} userIds Ensemble des ID de joueurs
* @returns {Promise<Object>} { [userId: number]: boolean } Objet paire clé-valeur
*/
window.JOGOS_SDK.game.isMyFriends = async function(userIds) {
// Implémentation interne
}Explication de la logique d'interaction d'amitié
Les développeurs doivent implémenter eux-mêmes la logique d'affichage du bouton en fonction de la relation d'amitié :
- Détermination de l'état du bouton : Utilise l'interface
isMyFriendspour vérifier si un joueur spécifié est un ami. - Logique d'affichage du bouton :
- Si c'est un ami : Affiche un bouton "Conversation". Au clic, appelle
openChatDialogpour lancer un chat. - Si ce n'est pas un ami : Affiche un bouton "Ajouter un ami". Au clic, appelle
sendFriendRequestpour envoyer une demande d'ami.
- Si c'est un ami : Affiche un bouton "Conversation". Au clic, appelle
- Implémentation du bouton : Le style UI du bouton, sa position et ses effets d'interaction doivent être implémentés par le développeur du jeu.
Exemple de code
// Exemple d'implémentation d'un bouton d'interaction d'ami
async function setupFriendButton(userId, buttonElement) {
try {
// 1. Vérifie la relation d'amitié
const friendStatus = await window.JOGOS_SDK.game.isMyFriends([userId]);
const isFriend = friendStatus[userId];
// 2. Définit le bouton en fonction de la relation d'amitié
if (isFriend) {
// Affiche le bouton de chat
buttonElement.textContent = "Conversation";
buttonElement.onclick = async () => {
const success = await window.JOGOS_SDK.game.openChatDialog(userId);
if (!success) {
alert("Impossible d'ouvrir la fenêtre de chat. Veuillez vous assurer d'être dans l'environnement de la plateforme officielle.");
}
};
} else {
// Affiche le bouton d'ajout d'ami
buttonElement.textContent = "Ajouter un ami";
buttonElement.onclick = async () => {
const success = await window.JOGOS_SDK.game.sendFriendRequest(userId);
if (success) {
alert("Demande d'ami envoyée.");
} else {
alert("Échec de l'envoi de la demande d'ami.");
}
};
}
// 3. Ajoute une logique pour éviter les clics trop fréquents
let lastClickTime = 0;
const originalClick = buttonElement.onclick;
buttonElement.onclick = function() {
const now = Date.now();
if (now - lastClickTime < 3000) {
console.log("Clics trop fréquents. Veuillez réessayer plus tard.");
return;
}
lastClickTime = now;
originalClick.call(this);
};
} catch (error) {
console.error("Échec de la configuration du bouton d'ami :", error);
}
}Ajouter un ami
Envoie une demande d'ami à un joueur spécifié.
/**
* Envoie une demande d'ami à un joueur spécifié
* @param {number} userId ID du joueur cible
* @returns {Promise<boolean>} Indique si la demande a été envoyée avec succès
*/
window.JOGOS_SDK.game.sendFriendRequest = async function(userId) {
// Implémentation interne
}Lancer un chat
Ouvre la fenêtre de chat avec un ami spécifié.
/**
* Ouvre la fenêtre de chat avec un joueur spécifié
* @param {number} userId ID du joueur cible
* @returns {Promise<boolean>} Indique si l'ouverture a réussi
*/
window.JOGOS_SDK.game.openChatDialog = async function(userId) {
// Implémentation interne
}Gestion des cas limites :
- Renvoie un échec et affiche une invite lorsque non intégré dans la plateforme officielle : "La fonctionnalité de chat entre amis n'est disponible que sur la plateforme officielle."
- Le bouton ne peut pas être cliqué à nouveau dans les 3 secondes suivant un clic.
L'interface d'initialisation renverra les paramètres du champ d'invitation
- L'interface d'initialisation du jeu inclut désormais des paramètres personnalisés pour inviter d'autres personnes à rejoindre le jeu, tels que l'ID de salle, le code d'invitation, etc. Les développeurs peuvent inclure ces paramètres lors du partage des liens d'invitation. Lorsqu'un joueur invité entre dans le jeu via le lien, le SDK transmettra les paramètres au développeur pour insérer le joueur dans la salle correspondante.
// Transmission des paramètres de salle lors de l'initialisation du jeu (Exemple)
const gameConfig = {
inviteArgs: 'ABC123', // Champ personnalisé (ex. code d'invitation/ID de salle)
// Autres configurations du jeu...
};
// Transmet les paramètres lors de l'initialisation du SDK
window.JOGOS_SDK.init({
gameId: 'your_game_id',
customParams: JSON.stringify(gameConfig)
});Ouvrir la fenêtre d'invitation d'amis
- Lorsqu'un utilisateur se trouve dans une position du jeu où il est possible de rejoindre une nouvelle partie, cette fonctionnalité vous permet de placer un bouton "Inviter & Partager" dans la scène du jeu.
- En cliquant sur le bouton, une fenêtre contextuelle contenant un lien d'invitation s'ouvre, permettant de sélectionner des amis à qui envoyer l'invitation.

- Le lien d'invitation transporte des paramètres personnalisés (tels que l'ID de salle/le code d'invitation, etc.). Lorsque le joueur invité clique sur le lien et entre dans le jeu, le développeur peut analyser ces paramètres pour insérer le joueur dans la salle correspondante.
- En cliquant sur le bouton "Inviter un ami" dans la scène du jeu, une barre latérale avec la liste d'amis s'ouvre pour envoyer des messages d'invitation aux amis, prenant en charge l'entrée dans le jeu via un lien ou une invitation directe.
/**
* Ouvre la fenêtre d'invitation
* @param {Object} inviteArgs Objet des paramètres d'invitation
* @param {string} inviteArgs.inviteArgs Paramètre d'invitation personnalisé (Obligatoire, ex. ID de salle ou code d'invitation)
* @param {string} [inviteArgs.customData] Données personnalisées (seront transmises à l'invité)
* @param {number} [inviteArgs.expireTime] Horodatage d'expiration du lien d'invitation (millisecondes)
*/
window.JOGOS_SDK.game.openInviteDialog = function(inviteArgs) {
// Validation des paramètres
if (!inviteArgs || !inviteArgs.inviteArgs) {
throw new Error('Paramètre obligatoire manquant : inviteArgs');
}
// Implémentation interne :
// 1. Génère un lien d'invitation avec paramètres
// 2. Ouvre une fenêtre contextuelle d'invitation (incluant la liste d'amis et les options de partage)
// 3. Gère les rappels de résultat d'invitation
};