Fehlercodes

Jeder Fehler hat einen stabilen Code. Die SDKs verwenden dieselben Codes (Unity als Enum) sowie einige weitere für Probleme, die auftreten, bevor eine Anfrage den Server erreicht.

Codekommentare und API-Namen bleiben auf Englisch, damit sie zu den SDKs passen.

Auf dieser Seite

API-Fehler#

CodeHTTPUnityWannWiederholen?
validation400, 422ValidationUngültige Eingabe; details.fields nennt das Feld.Nein
unauthorized401UnauthorizedFalsche Schlüssel oder ein fehlendes, abgelaufenes oder widerrufenes Spieler-Token.Nein
forbidden403ForbiddenGesperrtes Projekt, ein reiner Server-Endpunkt oder HTTPS erforderlich.Nein
plan_limit403PlanLimitEin Tariflimit wurde erreicht (Spieler, Einträge, Speicher …). Es wird nichts gelöscht.Nein
not_found404NotFoundUnbekannter Endpunkt, unbekannte Bestenliste, unbekannter Spieler oder Speicherschlüssel.Nein
conflict409ConflictBereits erledigt, z. B. eine in diesem Zeitraum schon abgeholte Belohnung.Nein
revision_mismatch409RevisionMismatchEin Cloud-Speicherstand wurde auf einem anderen Gerät geändert.Nein
rate_limited429RateLimitedZu viele Anfragen pro Minute oder ein Bestenlisten-Cooldown. Warten Sie Retry-After Sekunden.Ja
quota_exceeded429QuotaExceededDas tägliche Anfragekontingent des Kontos ist aufgebraucht; es wird um 00:00 UTC zurückgesetzt.Nein
server_error500ServerErrorAuf dem Server ist ein Fehler aufgetreten. Sichere Anfragen wiederholen die SDKs automatisch.Ja

Reine SDK-Fehler#

CodeHTTPUnityWannWiederholen?
network—NetworkDer Server war nicht erreichbar.Ja
timeout—TimeoutDie Anfrage hat länger als das Timeout gedauert.Ja
not_configured—NotConfiguredBasis-URL, Projekt-ID oder Client-Schlüssel fehlt oder ist ungültig.Nein
not_signed_in—NotSignedInEin Spieleraufruf vor der Anmeldung oder nach Ablauf der Sitzung.Nein
signature_invalid—SignatureInvalidDie Remote-Konfiguration hat die Prüfung nicht bestanden und wurde nicht verwendet.Nein
parse_error—ParseErrorDie Antwort konnte nicht gelesen werden (meist ein Proxy oder eine HTML-Fehlerseite).Nein
link_expired—LinkExpiredDie Seite zur Kontoverknüpfung ist abgelaufen; starten Sie neu.Nein
link_cancelled—LinkCancelledDie Kontoverknüpfung wurde abgebrochen.Nein

Fehlerbehandlung#

Zeigen Sie message Entwicklern, nicht Spielern; verzweigen Sie anhand des Codes. Wiederholen Sie nur wiederholbare Fehler und protokollieren Sie die Anfrage-ID, damit Sie die Anfrage auf der Seite Logs wiederfinden.

C#
var top = await Majacloud.Leaderboards.GetTopAsync("coins", 10);
if (top.Ok)
{
    foreach (var entry in top.Value.Entries)
        Debug.Log($"#{entry.Rank} {entry.PlayerName} {entry.Score}");
}
else if (top.Error.IsRetryable)
{
    // Network, timeout, 5xx or rate limit: try again later
    Debug.Log("Retry in " + top.Error.RetryAfterSeconds + " s");
}
else
{
    Debug.LogWarning(top.Error.Code + ": " + top.Error.Message + " (" + top.Error.RequestId + ")");
}

Durchsucht Seitentitel, Überschriften und Text.

↑↓ zum Navigieren ↵ zum Öffnen Esc zum Schließen