Skip to content

Conquistas e Leaderboards

Leaderboards

Criar um Leaderboard

Esta seção explica como criar um leaderboard para um novo jogo ou para um jogo existente. O limite máximo é de 20, e cada ID de leaderboard deve ser único dentro de um jogo.

Para criar um leaderboard para o seu jogo, navegue até a página de gerenciamento GameRank correspondente ao seu jogo, selecione Extensões > Adicionar e clique no botão Criar Leaderboard.

alt text

Em seguida, basta preencher as informações necessárias para este leaderboard.

Formato da Pontuação

  • Leaderboards Numéricos exibem pontuações como números. Essas pontuações podem ser exibidas como números inteiros ou de ponto flutuante, por exemplo, 3.14159, 3141.59 ou 314159; note que os valores não devem ser excessivamente grandes, atualmente apenas precisão simples é suportada.
  • Leaderboards de Tempo exibem pontuações em um formato horas/minutos/segundos/centésimos de segundo ou em um formato de relógio tradicional (como HH:MM:SS), por exemplo, 66032, 1:06:3.
  • Pontuações Formatadas exibem pontuações usando um formato personalizado. Envie pontuações com unidades monetárias como $19.95. Por exemplo, $19.95.

Diretrizes para Imagem de Fundo

A imagem de fundo para o leaderboard deve ser criada como um arquivo JPEG 1024 x 1024. Isto é opcional; se não for enviada, a imagem padrão da plataforma será usada. A mesma imagem de fundo é usada para todos os idiomas e localidades, portanto, recomendamos evitar qualquer texto ou conteúdo localizado dentro da imagem.

Ajustar Leaderboards

Para a lista de entradas em um leaderboard, os desenvolvedores podem lidar com jogadores anômalos:

  • Excluir: Remover os dados atualmente exibidos do jogador do leaderboard.
  • Adicionar à Lista Negra: Subsequentemente desqualificar o jogador de participar de todos os leaderboards do jogo atual. Após ser adicionado à lista negra, a lista de contas na lista negra pode ser visualizada na seção 'Todos os Leaderboards', onde você também pode remover uma conta de jogador da lista negra.
  • Editar Dados: Clique para abrir a página Editar Leaderboard.
  • Excluir Leaderboard: Clique para excluir a lista de leaderboard especificada.

Campos de Envio de Dados do Leaderboard

Se os dados de um jogador no jogo se qualificarem para um leaderboard definido, você pode chamar a interface de envio de dados do leaderboard para enviar os dados correspondentes do leaderboard para o serviço de backend do Jogos. O jogador pode então abrir a janela do leaderboard na plataforma Jogos para visualizar os leaderboards do jogo e sua própria classificação.

Nota: O nome do leaderboard e o tipo de dados nos parâmetros da interface devem corresponder estritamente ao nome e tipo de dados definidos no Centro do Desenvolvedor.

O backend do desenvolvedor pode criar os seguintes três tipos de tipos de dados de envio:

  • Pontuação Numérica: number
  • Pontuação de Tempo: time
  • Pontuação Formatada: custom

Os dados enviados são um par chave-valor, onde o valor só pode ser um número, string ou data. Isso deve ser consistente com o formato de dados configurado no Centro do Desenvolvedor.

Interface de Envio de Dados do Leaderboard

Interface de envio de dados do leaderboard: JOGOS_SDK.game.commitRankingData

javascript
/**
 * Submeter dados do leaderboard
 *
 * @param rankingName ID do leaderboard
 * @param data Dados do leaderboard
 */
await window.JOGOS_SDK.game.commitRankingData(rankingName: string, data: { [key: string]: any });

Interface para Abrir a Interface do Leaderboard:

Interface para abrir a interface do leaderboard: JOGOS_SDK.game.openRankingDialog Se você deseja exibir um leaderboard específico (em vez de todos os leaderboards), você pode passar um nome de leaderboard para este método (deve corresponder ao nome criado no backend do desenvolvedor);

javascript
/**
 * Abrir a janela do leaderboard
 *
 * @param rankingName Nome do leaderboard
 */
await window.JOGOS_SDK.game.openRankingDialog(rankingName: string);

Integração de Conquistas

Se um jogador conquistar um determinado feito, você pode chamar a interface de envio de dados de conquistas do jogador para enviar os dados correspondentes para o serviço de backend do Jogos. O jogador pode então abrir a janela de conquistas do jogador na plataforma Jogos para visualizar as conquistas que desbloqueou.

Nota: O nome da conquista nos parâmetros da interface é o nome definido no Centro do Desenvolvedor e deve corresponder exatamente.

Para conquistas que NÃO são incrementais (baseadas em etapas):

  • O relatório é necessário apenas quando a conquista é realmente desbloqueada (ou seja, a conquista não mostra progresso; reportar implica que a conquista está desbloqueada).
  • Se a conquista estiver configurada como uma conquista incremental (baseada em etapas): O progresso progress precisa corresponder ao ID da etapa sendo reportada. Por exemplo, reporte progress = 2 ao concluir a etapa 2.

Criar Conquistas

No Backend do Desenvolvedor, no serviço GameService - página Conquistas, selecione Criar Conquista. Na página Adicionar Conquista, preencha o formulário.

alt text

Cada conquista tem os seguintes elementos básicos associados:

  • ID da Conquista: Suporta combinações alfanuméricas. Usado para corresponder aos relatórios dos jogadores no jogo e exibir a conquista no site. Este valor deve ser único para um único jogo.
  • Nome: O nome da conquista (por exemplo, "Pieman").
  • Condição de Desbloqueio: A descrição de como desbloquear a conquista. Normalmente, este valor informa ao jogador como alcançá-la.
  • Ícone: O ícone quadrado associado à sua conquista. Você precisa enviar imagens travadas e destravadas.
  • Tipo de Conquista (Achievement Types), suporta 3 tipos, seleção única. As conquistas são exibidas em listas separadas no frontend de acordo com sua ordem de tipo:
    • Conquistas de Exploração para Iniciantes (Beginner's Exploration Achievements), até 900 podem ser criadas.
    • Conquistas de Desafio Intermediárias (Intermediate Challenge Achievements), até 50 podem ser criadas.
    • Conquistas de Glória Avançadas (Advanced Glory Achievements), até 10 podem ser criadas.

Status: Uma conquista pode estar em um de três estados diferentes:

  • Conquistas Ocultas significam que os detalhes da conquista estão ocultos do jogador. Os Serviços de Jogo Jogos fornecerão uma descrição e um ícone genéricos de espaço reservado para conquistas no estado oculto. Recomendamos definir uma conquista como oculta se ela contiver spoilers do jogo que você não deseja revelar prematuramente (por exemplo, "Descobrir que você era um fantasma o tempo todo!").
  • Conquistas Reveladas indicam que o jogador está ciente da conquista, mas ainda não a desbloqueou. A maioria das conquistas começa no estado revelado.
  • Conquistas Desbloqueadas indicam que o jogador alcançou com sucesso o feito. Os jogadores podem desbloquear conquistas offline. Quando o jogo ficar online, ele sincronizará com os Serviços de Jogo Jogos para atualizar o status de desbloqueio das conquistas.

Conquistas Incrementais (Baseadas em Etapas)

  • Você pode designar uma conquista como padrão ou incremental. Normalmente, uma conquista incremental é aquela em que o jogador trabalha para a conclusão ao longo de um período mais longo. À medida que o jogador progride em uma conquista incremental, você pode reportar o progresso concluído para os Serviços de Jogo Jogos.
  • Os serviços Jogos rastreiam as informações de progresso, notificam o jogo quando o jogador atinge as condições necessárias para desbloquear a conquista e informam o jogador quão longe ele está de atingir o objetivo.

Diretrizes para Ícones

Os ícones devem ser criados como arquivos PNG, JPEG ou JPG de 512 x 512 pixels. Você só precisa nos fornecer o ícone para a conquista desbloqueada. Recomendamos incluir elementos coloridos em seus ícones de conquista para que os usuários possam distinguir entre conquistas exibidas e desbloqueadas. O mesmo ícone é usado para todos os idiomas e localidades, portanto, recomendamos evitar qualquer texto ou conteúdo localizado dentro do ícone.

Interface de Envio de Conquistas

javascript
/**
 * Submeter dados de conquista do jogador
 *
 * @param name ID da conquista
 * @param progress Progresso da conclusão
 * @param hidden Flag de oculto
 */
await window.JOGOS_SDK.game.commitAchievementsData(name: string, progress: number, hidden: boolean);

Interface para Abrir a Interface de Conquistas:

A plataforma Jogos fornece funcionalidade para abrir a janela de conquistas do jogador. Se necessário, você também pode chamar uma interface dentro do jogo para abrir a janela de conquistas do jogador.

javascript
// Abrir a janela de conquistas do jogador
await window.JOGOS_SDK.game.openAchievementsDialog();