Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Hesabı silme

Oyuncu, hesabını oyunun içinden kendisi silebilir. Apple App Store ve Google Play, hesap oluşturmaya izin veren uygulamaların uygulama içinden hesap silmeyi de sunmasını bekler; bu uç o beklentiyi karşılar. Silme geri alınamaz: ne oyuncu ne de operatör silinmiş hesabı geri getirebilir.

İstek

Önce bir CSRF belirteci alın (Oturumlar ve CSRF); sonra:

POST /v1/auth/account/delete
content-type: application/json
x-crx-env: <ortam-kimliği>
x-csrf-token: <csrf-belirteci>

{ "confirm": "delete_my_account" }

Oyuncu kimliği gövdeden gelmez, oturumdan gelir. confirm açık bir onaydır; eksik ya da başka bir değer 422 ile reddedilir. Başarılı istek 204 döner ve oturum ile yenileme çerezlerini siler.

Not

Bu uç yalnız oyuncu oturumuyla çalışır. Sunucu anahtarı (Bearer crx_…) ile bir oyuncuyu bu uçtan silemezsiniz; 401 alırsınız. Bir oyuncuyu operatör olarak silmek için panelin oyuncu sayfasını kullanın.

Yakın giriş kuralı

  • Misafir hesap doğrudan silinir.
  • Bağlı kimliği olan hesap (e-posta/parola, Google ya da başka sağlayıcı) için oturumun giriş anı en çok 10 dakika önce olmalıdır. Aksi hâlde sunucu hiçbir şeyi silmeden 403 ve şu gövdeyi döner:
{ "code": "recent_sign_in_required" }

Uygulama bu durumda oyuncuyu yeniden giriş yaptırır ve isteği tekrarlar. Süre, oturum yenilemesinden (refresh) değil girişin kendisinden sayılır; oyuncu gün boyu açık bir oturumda olsa bile yeniden giriş gerekir. Giriş anı kanıtlanamıyorsa sunucu güvenli tarafta kalır ve aynı 403’ü verir.

Neler silinir, neler kalır?

Silme tek bir veritabanı işleminde yapılır; ya hepsi olur ya hiçbiri:

VeriSonuç
OturumlarHepsi iptal edilir; açık gerçek zamanlı bağlantılar kapanır.
Bağlı kimlikler (e-posta/parola, Google…)Ayrılır; parola ve sağlayıcı belirteçleri silinir. Aynı e-posta ya da aynı Google hesabı sonradan yeni bir oyuncu olarak başlayabilir.
Oyuncu verisi (player data blob’ları)Silinir.
Oyuncu satırıSilinmez; anonimleştirilir (Deleted player, e-posta ve görsel temizlenir) ve silinmiş olarak işaretlenir.
Denetim olaylarıDeğişmez. Silme, yeni bir player_self_deleted olayı olarak eklenir; olayda e-posta ya da sağlayıcı kimliği yoktur.
Cüzdan defteri ve eklenti kayıtlarıDeğişmez (append-only); oyuncu satırı anonim olduğu için kişi bu kayıtlardan çözülemez.

Uyarı

Eklentilerin kendi tablolarında tuttuğu serbest kişisel veri bu uçla silinmez. Eklentiniz kişisel veri saklıyorsa kendi silme akışınızı ayrıca bağlamanız gerekir.

Hata ve sınır tablosu

DurumAnlamı
204Hesap silindi.
401Oturum yok/geçersiz, oyuncu aktif değil (banlı ya da zaten silinmiş) ya da sunucu anahtarı sunuldu. Banlı oyuncu silme yoluyla yasaktan kaçamaz.
403 gövdesizCSRF reddi.
403 recent_sign_in_requiredYeniden giriş gerekli; hiçbir şey silinmedi.
422confirm eksik ya da delete_my_account değil.
429Oyuncu başına saatte 5 deneme aşıldı.

SDK

TypeScript SDK’sında:

try {
  await client.session.deleteAccount({ confirm: "delete_my_account" });
  // state artık signedOut; oyuncuyu giriş ekranına götürün.
} catch (error) {
  if (error instanceof CrxError && error.reason === "recent_sign_in_required") {
    // oyuncuyu yeniden giriş yaptırın, sonra çağrıyı tekrarlayın
  } else {
    throw error;
  }
}

Başarıda SDK, parola değişikliğindeki gibi oturumu sonlandırır ve { status: "signedOut" } döner. recent_sign_in_required durumunda oturum ve hesap değişmez. İstek gönderildikten sonra yanıt kaybolursa sonuç belirsizdir (UnknownOutcome): SDK kör tekrar yapmaz, gerçek durumu uygulamanın restore() çağrısı belirler. Unity SDK’da bu yöntem henüz yoktur.

Mağaza gizlilik notu

Uygulama içinden erişilebilir bir “Hesabımı sil” düğmesi koyun, tıklamadan önce açık bir onay isteyin ve düğmeyi deleteAccount çağrısına bağlayın. Hesap silinince oyuncuya hangi verinin kalacağını (cüzdan defteri anonimleşmiş olarak kalır) gizlilik metninizde belirtin. Silinen hesabın e-postası ve sağlayıcı kimliği serbest kalır; aynı kişi yeniden kayıt olursa sıfırdan başlar.

İlgili sayfalar