Spiel
Das Spielmodul bietet verschiedene spielbezogene Funktionen. Nach dem Lesen des Teils der Seite Einführung in JOGOS_SDK, der mit Ihrem Spielmotor zusammenhängt, können Sie die relevanten Funktionen wie folgt verwenden:
window.JOGOS_SDK.game;Wenn Sie während der Initialisierungsphase Konfigurationsvorgänge wie Lokalisierungssprachenanpassung, Geräteanpassung und Zeitkalibrierung abschließen müssen, können Sie zur zugehörigen Seite Initialisierung (SysInfo) springen, um detaillierte Parameterdefinitionen und Konfigurationsmethoden anzuzeigen.
Spiel pausieren/fortsetzen
Wenn das Spiel unterbrochen wird (Level beenden, Spiel pausieren usw.), müssen Sie die Spielpausierfunktion aufrufen, um uns mitzuteilen, dass das Spiel pausiert wurde. Vergessen Sie nicht, die Funktion zum Fortsetzen des Spiels aufzurufen, um uns mitzuteilen, dass das Spiel fortgesetzt wurde, wenn das Spiel wieder aufgenommen oder fortgesetzt wird (Wiederherstellung, Wiederbelebung, Wechsel zum nächsten Level usw.). Das SDK kümmert sich automatisch um das Pausieren und Fortsetzen während der Anzeige von Werbung; es ist keine wiederholte Aufrufung erforderlich.
// Informieren Sie uns, dass das Spiel pausiert wurde
await window.JOGOS_SDK.game.pause();
// Informieren Sie uns, dass das pausierte Spiel fortgesetzt wurde
await window.JOGOS_SDK.game.continuePlay();Spiel starten/beenden Laden
Wenn Ihr Spiel mit dem Laden beginnt, müssen Sie die Funktion zum Starten des Ladens aufrufen, um uns mitzuteilen, dass das Spiel mit dem Laden begonnen hat. Nach Abschluss des Ladens müssen Sie unbedingt die Funktion zum Beenden des Ladens aufrufen, um uns mitzuteilen, dass das Spiel fertig geladen wurde.
// Informieren Sie uns, dass das Spiel mit dem Laden begonnen hat
await window.JOGOS_SDK.game.loadingStart();
// Informieren Sie uns, dass das Laden des Spiels abgeschlossen ist
await window.JOGOS_SDK.game.loadingEnd();Wenn das Spiel mit dem Laden beginnt, müssen Sie die Funktion zum Starten des Ladens aufrufen, um uns mitzuteilen, dass das Spiel mit dem Laden begonnen hat. Nach Abschluss des Ladens müssen Sie die Funktion zum Beenden des Ladens aufrufen, um uns mitzuteilen, dass das Spiel fertig geladen wurde.
// Informieren Sie uns, dass das Spiel pausiert wurde
await window.JOGOS_SDK.game.pause();
// Informieren Sie uns, dass das Spiel fortgesetzt wurde
await window.JOGOS_SDK.game.continuePlay();Glückliche Zeit
Diese Methode kann aufgerufen werden, wenn der Spieler eine Leistung erzielt (z. B. einen Boss besiegt, eine hohe Punktzahl erreicht). Ein erfolgreicher Aufruf dieser Methode löst Feieraktionen auf der Website aus (z. B. das Versenden von Konfetti). Es ist nicht erforderlich, diese Methode aufzurufen, wenn ein Level abgeschlossen oder eine Belohnung erhalten wird.
// Aktivieren Sie die glückliche Zeit des Spiels
await window.JOGOS_SDK.game.happytime();Freundschafts- und Chat-Funktionen
Wir haben standardisierte Social-Feature-Module integriert, die die Verwaltung von Freundschaftsbeziehungen und Echtzeit-Chat-Dienste abdecken. Wenn Ihr Spiel Multiplayer-Interaktionsmechaniken unterstützt, können Sie diese über schlanke APIs schnell integrieren, um Folgendes zu implementieren: Cloud-Synchronisierung der Freundesliste, Ein-Klick-Teameinladungen, private Gespräche und andere grundlegende soziale Szenarien. Wir helfen Entwicklern, mit extrem niedrigen Entwicklungskosten effizient ein immersives soziales Ökosystem innerhalb des Spiels aufzubauen.
- Bei der Nutzung müssen Entwickler die entsprechende UserId des Spielers auf der Plattformseite als Parameter übergeben.
Freundschaftsbeziehungsprüfung
Überprüft, ob ein bestimmter Spieler ein Freund des aktuellen Benutzers ist.
/**
* Prüft, ob die angegebenen Spieler meine Freunde sind
* @param {Array<number>} userIds Sammlung der Spieler-IDs
* @returns {Promise<Object>} { [userId: number]: boolean } Schlüssel-Wert-Paar-Objekt
*/
window.JOGOS_SDK.game.isMyFriends = async function(userIds) {
// Interne Implementierung
}Erklärung der Freundschaftsinteraktionslogik
Entwickler müssen die Logik zur Anzeige der Schaltfläche basierend auf der Freundschaftsbeziehung selbst implementieren:
- Bestimmung des Schaltflächenstatus: Verwendet die Schnittstelle
isMyFriends, um zu prüfen, ob ein bestimmter Spieler ein Freund ist. - Logik zur Anzeige der Schaltfläche:
- Wenn es ein Freund ist: Zeigt eine "Unterhaltung"-Schaltfläche an. Beim Klicken ruft es
openChatDialogauf, um einen Chat zu starten. - Wenn es kein Freund ist: Zeigt eine "Freund hinzufügen"-Schaltfläche an. Beim Klicken ruft es
sendFriendRequestauf, um eine Freundschaftsanfrage zu senden.
- Wenn es ein Freund ist: Zeigt eine "Unterhaltung"-Schaltfläche an. Beim Klicken ruft es
- Implementierung der Schaltfläche: Der UI-Stil der Schaltfläche, ihre Position und Interaktionseffekte müssen vom Spieleentwickler selbst implementiert werden.
Beispielcode
// Beispiel für die Implementierung einer Freundschaftsinteraktionsschaltfläche
async function setupFriendButton(userId, buttonElement) {
try {
// 1. Freundschaftsbeziehung prüfen
const friendStatus = await window.JOGOS_SDK.game.isMyFriends([userId]);
const isFriend = friendStatus[userId];
// 2. Schaltfläche basierend auf Freundschaftsbeziehung einstellen
if (isFriend) {
// Chat-Schaltfläche anzeigen
buttonElement.textContent = "Unterhaltung";
buttonElement.onclick = async () => {
const success = await window.JOGOS_SDK.game.openChatDialog(userId);
if (!success) {
alert("Chat-Fenster kann nicht geöffnet werden. Bitte stellen Sie sicher, dass Sie sich in der offiziellen Plattformumgebung befinden.");
}
};
} else {
// Freund-hinzufügen-Schaltfläche anzeigen
buttonElement.textContent = "Freund hinzufügen";
buttonElement.onclick = async () => {
const success = await window.JOGOS_SDK.game.sendFriendRequest(userId);
if (success) {
alert("Freundschaftsanfrage gesendet.");
} else {
alert("Senden der Freundschaftsanfrage fehlgeschlagen.");
}
};
}
// 3. Logik zum Verhindern zu häufiger Klicks hinzufügen
let lastClickTime = 0;
const originalClick = buttonElement.onclick;
buttonElement.onclick = function() {
const now = Date.now();
if (now - lastClickTime < 3000) {
console.log("Zu häufige Klicks. Bitte versuchen Sie es später erneut.");
return;
}
lastClickTime = now;
originalClick.call(this);
};
} catch (error) {
console.error("Einrichten der Freundschaftsschaltfläche fehlgeschlagen:", error);
}
}Freund hinzufügen
Sendet eine Freundschaftsanfrage an einen bestimmten Spieler.
/**
* Sendet eine Freundschaftsanfrage an einen bestimmten Spieler
* @param {number} userId Ziel-Spieler-ID
* @returns {Promise<boolean>} Gibt an, ob die Anfrage erfolgreich gesendet wurde
*/
window.JOGOS_SDK.game.sendFriendRequest = async function(userId) {
// Interne Implementierung
}Chat starten
Öffnet das Chat-Fenster mit einem bestimmten Freund.
/**
* Öffnet das Chat-Fenster mit einem bestimmten Spieler
* @param {number} userId Ziel-Spieler-ID
* @returns {Promise<boolean>} Gibt an, ob es erfolgreich geöffnet wurde
*/
window.JOGOS_SDK.game.openChatDialog = async function(userId) {
// Interne Implementierung
}Behandlung von Grenzfällen:
- Gibt einen Fehler zurück und zeigt eine Warnung an, wenn es nicht in der offiziellen Plattform integriert ist: "Die Freundschafts-Chat-Funktion ist nur auf der offiziellen Plattform verfügbar."
- Die Schaltfläche kann innerhalb von 3 Sekunden nach einem Klick nicht erneut geklickt werden.
Die Initialisierungsschnittstelle gibt Einladungsfeldparameter zurück
- Die Spielinitialisierungsschnittstelle enthält jetzt benutzerdefinierte Parameter zum Einladen anderer zum Beitreten zum Spiel, wie Raum-ID, Einladungscode usw. Entwickler können diese Parameter beim Teilen von Einladungslinks einfügen. Wenn ein eingeladener Spieler über den Link in das Spiel eintritt, übergibt das SDK die Parameter an den Entwickler, um den Spieler in den entsprechenden Raum einzufügen.
// Übergabe von Raumparametern während der Spielinitialisierung (Beispiel)
const gameConfig = {
inviteArgs: 'ABC123', // Benutzerdefiniertes Feld (z.B. Einladungscode/Raum-ID)
// Andere Spielkonfigurationen...
};
// Parameter während der SDK-Initialisierung übergeben
window.JOGOS_SDK.init({
gameId: 'your_game_id',
customParams: JSON.stringify(gameConfig)
});Einladungsfenster für Freunde öffnen
- Wenn sich ein Benutzer an einer Position im Spiel befindet, an der der Eintritt in ein neues Spiel möglich ist, ermöglicht Ihnen diese Funktion, eine "Einladen & Teilen"-Schaltfläche in der Spielszene zu platzieren.
- Durch Klicken auf die Schaltfläche öffnet sich ein Popup mit einem Einladungslink, das die Auswahl von Freunden zum Senden der Einladung ermöglicht.

- Der Einladungslink überträgt benutzerdefinierte Parameter (wie Raum-ID/Einladungscode usw.). Wenn der eingeladene Spieler auf den Link klickt und in das Spiel eintritt, kann der Entwickler diese Parameter analysieren, um den Spieler in den entsprechenden Raum einzufügen.
- Durch Klicken auf die "Freund einladen"-Schaltfläche in der Spielszene öffnet sich eine Seitenleiste mit der Freundesliste, um Einladungsnachrichten an Freunde zu senden, die den Spieleintritt über Link oder direkte Einladung unterstützt.
/**
* Öffnet das Einladungsfenster
* @param {Object} inviteArgs Einladungsparameterobjekt
* @param {string} inviteArgs.inviteArgs Benutzerdefinierter Einladungsparameter (Erforderlich, z.B. Raum-ID oder Einladungscode)
* @param {string} [inviteArgs.customData] Benutzerdefinierte Daten (werden an den Eingeladenen übermittelt)
* @param {number} [inviteArgs.expireTime] Ablaufzeitstempel des Einladungslinks (Millisekunden)
*/
window.JOGOS_SDK.game.openInviteDialog = function(inviteArgs) {
// Parameterprüfung
if (!inviteArgs || !inviteArgs.inviteArgs) {
throw new Error('Fehlender erforderlicher Parameter: inviteArgs');
}
// Interne Implementierung:
// 1. Einladungslink mit Parametern generieren
// 2. Einladungs-Popup öffnen (enthält Freundesliste und Teilen-Optionen)
// 3. Einladungsergebnis-Rückrufe verarbeiten
};