Placares para jogos do PlayDrop
Declare placares no catalogue.json, envie pontuações com sdk.leaderboards e mostre o topo e os vizinhos do jogador. Tipos de pontuação, limites e atualizações.
Os placares dão aos jogadores um motivo para jogar de novo e uma posição para compartilhar. O PlayDrop guarda a melhor pontuação de cada jogador em cada placar e a mostra no jogo.
Declare um placar
Adicione-o ao jogo no catalogue.json:
{
"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: de 3 a 64 caracteres, começando com uma letra minúscula, seguida de letras minúsculas, dígitos,_,.ou-.scoreTypeesortvêm em dois pares:INTEGERcomDESC(a maior vence, pontuações de 0 ou mais) ouTIME_MScomASC(a menor vence, milissegundos positivos).unitLabelé um texto de exibição opcional.
Depois de publicada, uma chave não pode ser removida, e seu scoreType e seu sort não podem mudar. Para deixar de usar um placar, defina "status": "RETIRED". Os placares precisam de um pacote.
Envie e leia pontuações
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();- As pontuações são inteiros seguros. Só uma pontuação melhor substitui o recorde.
topaceita de 1 a 100 entradas earoundMede 1 a 20 de cada lado do jogador.list({ includeRetired: true })também retorna os placares aposentados.
Envie a pontuação no fim de uma partida, não a cada quadro, e só na fase play. Trate chamadas rejeitadas como qualquer chamada de rede; mantenha o jogo jogável.
Convidados e modo offline
Você pode enviar sem verificar o login. Sem nenhuma sessão de jogador, um envio é resolvido sem ser armazenado. Hosts que anunciam suporte a dados no dispositivo, como os apps do PlayDrop que funcionam offline, guardam uma pontuação feita offline e a sincronizam depois; as leituras offline deles mostram só o recorde do próprio jogador, sem posição. Nos outros casos, um envio precisa de conexão.
O que os placares não fazem
O SDK não tem regiões, reinicializações agendadas, temporadas nem prêmios semanais automáticos. Para um placar semanal, inclua a semana no seu próprio design, por exemplo com uma nova chave por temporada declarada em uma nova versão.
Relacionados: conquistas, salvamentos na nuvem, compartilhar uma pontuação.