Benutzer
Das Benutzermodul bietet Funktionen zum Abrufen von Informationen über den aktuellen angemeldeten Spieler
und dessen Token
. Wenn das Spiel keine Anmeldung erfordert, um alle Funktionen zu nutzen, muss dieses Modul nicht verwendet werden. Andernfalls müssen die entsprechenden Schnittstellen dieses Moduls aufgerufen werden.
Nach dem Lesen des Abschnitts zu Ihrer Spiel-Engine auf der Seite JOGOS_SDK Einführung
können die Funktionen wie folgt genutzt werden:
window.JOGOS_SDK.user;
== Cocos
JOGOS_SDK.user;
== Unity
JogosSDK.User
:::
Abrufen der aktuellen Benutzerinformationen
Sie können die Informationen des aktuellen Spielers mit der folgenden Methode abrufen:
::: tabs key:engine
== HTML5
try {
const user = await window.JOGOS_SDK.user.getUser();
console.log('Get user result', user);
} catch (err) {
// Fehler behandeln
console.error(err);
}
== Cocos
try {
const user = await JOGOS_SDK.user.getUser();
console.log('Get user result', user);
} catch (err) {
// Fehler behandeln
console.error(err);
}
== Unity
JogosSDK.User.GetUser(
(user) =>
{
if (user != null)
{
// Informationen erfolgreich abgerufen
}
else
{
// Abruf der Informationen fehlgeschlagen
}
}
);
:::
Wenn der aktuelle Spieler nicht registriert oder nicht angemeldet ist, öffnet das System automatisch den Registrierungs-/Login-Dialog, damit der Spieler sich registriert oder erfolgreich anmeldet. Andernfalls wird der Fehler 401 Unauthorized, please login again
zurückgegeben.
Wenn das Konto des Spielers gesperrt oder gelöscht wurde, werden ebenfalls entsprechende Fehler zurückgegeben.
Die Struktur des Spielerobjekts bei erfolgreicher Rückgabe ist wie folgt:
::: tabs key:engine
== HTML5
// Benutzerinformationen
export interface UserInfo {
// Benutzer Id
userId: string;
// Benutzername
username: string;
// Avatar-URL
profilePictureUrl: string;
// Spiel Id
gameId: number;
}
== Cocos
// Benutzerinformationen
export interface UserInfo {
// Benutzer Id
userId: string;
// Benutzername
username: string;
// Avatar-URL
profilePictureUrl: string;
// Spiel Id
gameId: number;
}
== Unity
public class UserInfo
{
// Benutzer Id
public string userId;
// Benutzername
public string username;
// Avatar-URL
public string profilePictureUrl;
// Spiel Id
public int gameId;
}
:::
Der Benutzername in JOGOS_SDK
muss 6–20 Zeichen lang sein und kann Buchstaben, Zahlen, Punkte und Unterstriche enthalten.
JOGOS_SDK UserId entspricht genau einem Spielerkonto; wenn Ihr Spiel mehrere Charaktere erstellen oder zwischen Servern wechseln kann, muss Ihr Server diese Logik handhaben, um den Verlust von Charakteren oder Probleme beim Wechseln zu vermeiden.
Abrufen des Benutzertokens (mit Unterstützung Ihres Spielservers)
- Wenn Sie einen Server haben, ist die Integration erforderlich!
- Das Benutzertoken enthält Informationen über den aktuell angemeldeten Spieler. Sie müssen es an Ihren Server senden und dort verifizieren/dekodieren, um die relevanten Informationen zu extrahieren und mit Ihrem Benutzersystem auf dem Server zu verknüpfen. Achten Sie darauf, dass die Benutzerdaten während dieses Prozesses sicher bleiben.
Ihr Client kann das Token wie folgt abrufen:
::: tabs key:engine
== HTML5
try {
const token = await window.JOGOS_SDK.user.getUserToken();
console.log('Get token result', token);
} catch (err) {
// Fehler behandeln
console.error(err);
}
== Cocos
try {
const token = await JOGOS_SDK.user.getUserToken();
console.log('Get token result', token);
} catch (err) {
// Fehler behandeln
console.error(err);
}
== Unity
JogosSDK.User.GetUserToken(
(token) =>
{
if (token != null)
{
// Erfolgreich
}
else
{
// Fehlgeschlagen
}
}
);
:::
Das Token ist 1 Stunde gültig. Es wird empfohlen, das Token nicht zu speichern und es immer bei Bedarf abzurufen.
Wenn der aktuelle Spieler nicht registriert oder nicht angemeldet ist, öffnet das System automatisch den Registrierungs-/Login-Dialog. Andernfalls wird der Fehler 401 Unauthorized, please login again
zurückgegeben.
Wenn das Konto des Spielers gesperrt oder gelöscht wurde, wird eine entsprechende Fehlermeldung zurückgegeben.
Das zurückgegebene Token kann dekodiert und auf jwt.io getestet werden.
Beispiel für die zurückgegebenen Token-Daten:
{
"jti": "1899405772252258304",
"sub": "{\"profilePictureUrl\":\"a33bf366e34d48e984a094fc923d7b06.png\",\"gameId\":\"1\",\"profileDefaultAvatar\":\"default-avatar.png\",\"userId\":\"88E1B72FED537C6943C85C28F639BE0B\",\"username\":\"55895999999999999999\"}",
"iss": "com:jogos:sdk",
"iat": 1741688600,
"exp": 1745288600
}
Wenn Sie den Server zur Authentifizierung von Anfragen verwenden, senden Sie das Token an den Server, dekodieren und verifizieren es dort. Sie können dafür den öffentlichen Benutzertoken-Schlüssel https://www.jogos.com/publicKey.json
verwenden. Es wird empfohlen, den Schlüssel bei jeder Verifizierung abzurufen, da er sich ändern kann.
Nächster Schritt: Serverseitige Verifizierung
Für serverbezogene APIs siehe die Seite: Server-API
Lokaler Test
Beim lokalen Testen liefern die Schnittstellen des Benutzermoduls nur simulierte Daten.