Kode error

Setiap error punya kode tetap. SDK memakai kode yang sama (Unity sebagai enum), ditambah beberapa kode untuk masalah yang terjadi sebelum request sampai ke server.

Komentar kode dan nama API tetap dalam bahasa Inggris agar sesuai dengan SDK.

Di halaman ini

Error API#

KodeHTTPUnityKapanCoba ulang?
validation400, 422ValidationInput tidak valid; details.fields menyebutkan field-nya.Tidak
unauthorized401UnauthorizedKey salah, atau token pemain tidak ada, kedaluwarsa, atau sudah dicabut.Tidak
forbidden403ForbiddenProject ditangguhkan, endpoint khusus server, atau HTTPS wajib.Tidak
plan_limit403PlanLimitBatas paket tercapai (pemain, entri, penyimpanan…). Tidak ada yang dihapus.Tidak
not_found404NotFoundEndpoint, leaderboard, pemain, atau key save tidak dikenal.Tidak
conflict409ConflictSudah dilakukan, mis. reward sudah diklaim pada periode ini.Tidak
revision_mismatch409RevisionMismatchCloud save berubah di perangkat lain.Tidak
rate_limited429RateLimitedTerlalu banyak request per menit, atau jeda leaderboard. Tunggu selama Retry-After detik.Ya
quota_exceeded429QuotaExceededKuota request harian akun sudah habis; direset pukul 00:00 UTC.Tidak
server_error500ServerErrorTerjadi kegagalan di server. Request yang aman diulang otomatis oleh SDK.Ya

Error khusus SDK#

KodeHTTPUnityKapanCoba ulang?
network—NetworkServer tidak dapat dijangkau.Ya
timeout—TimeoutRequest melebihi batas waktu.Ya
not_configured—NotConfiguredBase URL, Project ID, atau client key tidak ada atau tidak valid.Tidak
not_signed_in—NotSignedInPanggilan pemain sebelum login, atau setelah sesi kedaluwarsa.Tidak
signature_invalid—SignatureInvalidRemote config gagal diverifikasi dan tidak dipakai.Tidak
parse_error—ParseErrorRespons tidak dapat dibaca (biasanya karena proxy atau halaman error HTML).Tidak
link_expired—LinkExpiredHalaman penautan akun sudah kedaluwarsa; mulai lagi.Tidak
link_cancelled—LinkCancelledAlur penautan akun dibatalkan.Tidak

Menangani error#

Tampilkan message untuk developer, bukan untuk pemain; tentukan tindakan berdasarkan kodenya. Ulangi hanya error yang bisa dicoba ulang, dan catat request ID agar Anda bisa menemukan request-nya di halaman Log.

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 + ")");
}

Cari judul halaman, subjudul, dan teks.

↑↓ untuk berpindah ↵ untuk membuka Esc untuk menutup