ReadonlycatalogKatalog okuması (SPEC-0197 S3b): oyuncu kitlesi, çerez oturumuyla; yalnız oyuncu satırları, contentRevision ve visibility yoktur.
Oturum yoksa 401 (CrxError, Auth). Koşullu GET: ifNoneMatch eşitse { status: 304 }. catalog.groups: operatörün yayınladığı içerik grupları (SPEC-0221).
ReadonlydataOyuncu verisi (bulut kaydı, DESIGN.md §10.34): oyuncunun kendi oturumuyla kendi anahtar-değer kayıtları. Değer sunucuda yorumlanmayan opak JSON nesnesidir
(en çok 64 KiB, 16 anahtar); yazımlar sürümlüdür (create yoksa, update/delete sürüm eşleşirse) ve uyuşmazlık PlayerDataConflict fırlatır.
ReadonlynotificationsBildirimler (SPEC-0224 S6): cihaz kaydı, tarayıcı web push açma/kapama ve gelen kutusu. session.logout() bu sayfada kayıtlı web
cihazını oturumu kapatmadan ÖNCE sunucuda kapatır (hata çıkışı engellemez).
ReadonlyrealtimeAuthenticated native realtime transport; connect öncesi session gerekir.
ReadonlysessionCookie/session yaşam döngüsü.
ReadonlystoreMağaza (SPEC-0222): oyuncunun görebildiği vitrinler (store.catalog) ve kendi oturumuyla satın alma (store.buy). Kimlik yalnız çerez oturumundan gelir; tutarlar bigint'tir.
Satın alma Idempotency-Key taşır (verilmezse SDK üretir) ve tipli retleri storeBuyErrorCode(error) ile ayrışır.
Local client kaynaklarını kapatır; server logout değildir.
Çekirdek leaderboard okuması (SPEC-0225 K5): oyuncu oturumuyla tablonun ilk sayfası ve oyuncunun kendi satırı.
Neden yazıldı: Oyun HUD'u günlük sıralamayı sunucu anahtarı olmadan okur. Yalnız oyuncuya açık (player_visible)
tablolar görünür; yasaklı/silinmiş oyuncular süzülür. rank ve score kayıpsız bigint'tir.
key: string — tablo anahtarı (örn. package-ride.daily-earnings); URL'e kaçırılarak yazılıroptions.limit?: number — satır sayısı, 1…50 (aksi CrxError(Contract), istek gönderilmez)options.signal?: AbortSignal — iptalPromise<PlayerLeaderboardView> — özet, satırlar ve me (null: bu sezonda puanı yok)CrxError(Auth) — oturum yok (401); CrxError(Http) — tablo yok/görünmez/modül kapalı (404);
CrxError(Network|Timeout|Cancelled); CrxError(Contract) — bozuk gövdeOptionaloptions: PlayerLeaderboardOptionsGeneric plugin binding'i current authenticated scope'a bağlar.
Anonymous/public query binding'i credentials olmadan bağlar.
Oyuncu client'ının yalnız public, generic yüzeyi.