PlayDrop oyunları için liderlik tabloları
catalogue.json’da liderlik tabloları tanımla, sdk.leaderboards ile puan gönder, en iyileri ve oyuncunun komşularını göster. Puan türleri, sınırlar ve kurallar.
Liderlik tabloları oyunculara tekrar oynamak için bir neden ve paylaşacak bir sıralama verir. PlayDrop her oyuncunun her liderlik tablosundaki en iyi puanını saklar ve oyunda gösterir.
Bir liderlik tablosu tanımla
Onu catalogue.json içinde uygulamaya ekle:
{
"leaderboards": [
{ "key": "high-score", "displayName": "High score", "description": "Most points in one run",
"scoreType": "INTEGER", "sort": "DESC", "unitLabel": "pts" },
{ "key": "best-time", "displayName": "Fastest run", "description": "Time to reach the flag",
"scoreType": "TIME_MS", "sort": "ASC" }
]
}key: küçük harfle başlayan, ardından küçük harfler, rakamlar,_,.veya-içeren 3 ile 64 karakter arası.scoreTypevesortiki çift halinde gelir:DESCileINTEGER(yüksek olan kazanır, puanlar 0 ya da daha fazla) veyaASCileTIME_MS(düşük olan kazanır, pozitif milisaniyeler).unitLabelisteğe bağlı görüntüleme metnidir.
Yayınlandıktan sonra bir anahtar kaldırılamaz; scoreType ve sort değerleri değiştirilemez. Bir tabloyu kullanmayı "status": "RETIRED" ile bırak. Liderlik tabloları bir paket gerektirir.
Puan gönder ve oku
const result = await sdk.leaderboards.submitScore("high-score", 1200);
// { accepted, improved, previousBestScore, bestScore, rank, previousRank, bestScoreAt, leaderboard }
if (result.improved) showNewBest(result.bestScore, result.rank);
const { leaderboard } = await sdk.leaderboards.get("high-score", { top: 10, aroundMe: 3 });
// leaderboard: { definition, top, player, playerEntry, aroundPlayer }
const { leaderboards } = await sdk.leaderboards.list();- Puanlar güvenli tamsayılardır. En iyi puanın yerini yalnızca daha iyi bir puan alır.
top1 ile 100 arasında kayıt,aroundMeise oyuncunun her iki yanında 1 ile 20 arasında kayıt kabul eder.list({ includeRetired: true })kullanımdan kaldırılmış tabloları da döndürür.
Puanı her karede değil, bir turun sonunda ve yalnızca play aşamasında gönder. Reddedilen çağrıları her ağ çağrısı gibi ele al; oyunu oynanabilir tut.
Misafirler ve çevrimdışı
Girişi kontrol etmeden puan gönderebilirsin. Hiç oyuncu oturumu yoksa gönderim kaydedilmeden tamamlanır. Çevrimdışı çalışabilen PlayDrop uygulamaları gibi cihaz verisi desteği bildiren ana uygulamalar çevrimdışı yapılan bir puanı tutar ve daha sonra eşitler; bunların çevrimdışı okumaları sıralama olmadan yalnızca oyuncunun kendi en iyi puanını gösterir. Diğer her yerde gönderim bağlantı gerektirir.
Liderlik tablolarının yapmadıkları
SDK’da bölgeler, zamanlanmış sıfırlamalar, sezonlar ya da otomatik haftalık ödüller yoktur. Haftalık bir tablo için haftayı kendi tasarımına dahil et; örneğin her sezon için yeni bir sürümde tanımlanan yeni bir anahtar kullan.
İlgili: başarımlar, bulut kayıtları, puan paylaşma.