Lista de verificação de qualidade para os serviços relacionados a jogos do Google Play

A qualidade influencia o sucesso do seu jogo a longo prazo em termos de instalações, resenhas, avaliações, engajamento e retenção de jogadores. Antes de publicar seu jogo, é importante verificar se ele atende às expectativas básicas dos jogadores por meio de recursos interessantes e uma interface do usuário intuitiva e bem projetada.

Este documento ajuda você a se concentrar nos principais aspectos relacionados à qualidade, ao conjunto de recursos e à IU que podem ter um impacto significativo no sucesso do seu jogo. Cada uma dessas áreas é apresentada com uma lista de verificação de requisitos mínimos, práticas recomendadas e melhorias. Para oferecer o melhor produto possível aos jogadores, siga as recomendações da lista de verificação sempre que possível.

1. Login

As tarefas da lista de verificação a seguir se aplicam à implementação do recurso de login do jogador no seu jogo. Para exemplos de código sobre como implementar o login em jogos para dispositivos móveis, consulte Como implementar o recurso de login no Android.

Código Importância Descrição
1.1 Obrigatório Forneça aos jogadores uma opção de login para os serviços relacionados a jogos do Google Play.

É preciso implementar uma das seguintes opções de login para usuários no seu jogo:

1.1.1. Quando o jogo for iniciado, exiba uma solicitação automática de login.

Em apps destinados ao público em geral, implemente o login silencioso e conceda aos jogadores autenticação e autorização rápidas para usar o conjunto completo de recursos fornecidos pelos serviços relacionados a jogos do Google Play. Se ocorrer um erro no login silencioso, seu app deverá solicitar que os jogadores façam login interativamente.

Se o jogador optar por não fazer login, essa decisão deve ser lembrada e ele não deve receber novas solicitações. Em vez disso, forneça um botão de login. O botão de login precisa estar acessível aos jogadores. Por exemplo, ele deve ser exibido na tela principal e não estar escondido em vários níveis no menu do jogo.

1.1.2. Forneça uma opção de login no seu jogo.
Se isso não for solicitado automaticamente, os jogadores precisam ter a opção de fazer o login por meio de um botão de login ou de um acionador relevante no contexto do jogo, como durante uma partida multijogador, ao enviar uma pontuação alta ou ao desbloquear uma conquista. O botão de login precisa incorporar o ícone do Play Games.
1.2 Obrigatório Não solicite escopos desnecessários ao criar seu cliente de login.

Remova todos os escopos desnecessários da sua compilação GoogleSignInOptions junto com as APIs que você não usa mais.

Por exemplo, não solicite escopos do Google+ ao criar seu cliente de login do Google. Isso evitará que os novos usuários precisem desnecessariamente (1) criar contas do G+ e (2) ler as telas adicionais de consentimento.


// This way you won’t get a consent screen
GoogleSignInOptions signInOption = GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN;
1.3 Obrigatório Permita que os jogadores permaneçam conectados.

Depois que o jogador fizer login no seu jogo, conecte-o automaticamente sempre que o jogo começar, até que ele se desconecte explicitamente.

1.4 Obrigatório Forneça aos jogadores uma opção para sair do jogo.

Depois de fazer login, é preciso sempre oferecer uma opção de saída ao jogador. As IUs "Conquistas" e "Placar" fornecidas pelo SDK do Play Games já incluem uma opção de saída. Por isso, não é preciso implementar um botão de saída para essas interfaces.

Forneça uma opção de saída em outras telas do jogo no seu app. Por exemplo, seu botão de saída pode ser assim:

Exemplo de
1.5 Obrigatório Lembre aos jogadores que eles se recusaram a fazer login.

Se o usuário se recusar a fazer login no início do jogo (clicando em Cancelar na IU, por exemplo), você ainda deverá permitir que ele continue jogando.

Quando o usuário iniciar o jogo novamente, não invoque o fluxo de login automaticamente. Isso evitará que os jogadores tenham que recusar repetidamente o login sempre que iniciarem o jogo.

Os jogadores também podem tentar acessar um recurso de jogabilidade que depende de login, como iniciar uma partida multijogador. Nesse caso, solicite que eles façam login antes de continuar o jogo.

1.6 Prática recomendada Maximize o número de jogadores que fazem login.

Ter mais jogadores conectados aos serviços relacionados a jogos do Google Play beneficia seus jogadores aumentando as oportunidades de jogabilidade competitiva e colaborativa. Para maximizar o número de jogadores que fazem login nos serviços relacionados a jogos do Google Play, é altamente recomendável solicitar automaticamente que os jogadores façam login, conforme descrito acima.

Caso contrário, direcione os jogadores ao fluxo de login o quanto antes a partir de um dos pontos a seguir (o mais recomendado primeiro):

  • Imediatamente após seu jogo começar
  • Imediatamente após uma experiência introdutória, como uma cena ou um tutorial
  • Quando o jogador clicar em um botão de login do Google em qualquer lugar do jogo
1.7 Sugestão Siga as diretrizes de marca do Google.

Para fornecer aos jogadores uma experiência atraente e consistente de ponta a ponta, implemente as Diretrizes de marca dos serviços relacionados a jogos do Google Play.

1.8 Sugestão Lembre aos jogadores que eles fizeram login.

Exiba um lembrete ou uma dica aos jogadores que fizeram login quando o jogo realizar alguma ação em nome deles. Por exemplo, quando um jogador conectado terminar um nível, exiba uma mensagem como esta para indicar que a pontuação e as conquistas dele estão sendo enviadas automaticamente: "Você fez login no Google. Suas conquistas e pontuações serão salvas automaticamente".

1.9 Sugestão Exiba o pop-up "Conectando" adequadamente durante o login.

Em dispositivos Android, o pop-up "Conectando" do Google Play Games é exibido por padrão sempre que o fluxo de login é invocado. No Android, verifique se esse pop-up é exibido com o login automático do usuário no início do jogo.

Se o login do usuário for feito com base em uma interação da IU (como um clique no botão de login), será possível suprimir opcionalmente a exibição desse pop-up. Para saber como controlar a exibição do pop-up, consulte Como implementar o login no Android.

O exemplo a seguir mostra como o pop-up "Conectando" pode aparecer em um jogo Android durante o login seguido por uma breve animação do logotipo dos serviços relacionados a jogos do Google Play.

A captura de tela mostra o pop-up
1.10 Sugestão Não perca as informações de progresso do jogador.

Se possível, tente manter o progresso do jogador localmente e sincronize essas informações quando o jogador fizer login novamente. Isso ajuda a evitar a perda do progresso do jogador quando ele adiar o login no seu jogo.

2. Conquistas

As tarefas da lista de verificação a seguir se aplicam à implementação do recurso Conquistas no seu jogo.

Código Importância Descrição
2.1 Obrigatório Garanta que todas as conquistas sejam alcançáveis.

Os jogadores precisam ter a opção de desbloquear todas as conquistas criadas por você.

2.2 Prática recomendada Crie conquistas diferentes.

Todas as imagens, textos e descrições devem ser únicos para cada conquista.

2.3 Prática recomendada Pontue as conquistas proporcionalmente.

Os pontos de conquista devem ser proporcionais à quantidade de tempo ou habilidade necessária para que seja atingida.

2.4 Prática recomendada Desenvolva conquistas para diversos níveis de dificuldade.

Inclua algumas conquistas fáceis, que podem ser acessadas com uma jogabilidade casual, diversas conquistas de dificuldade intermediária, que exigem mais habilidade ou dedicação do jogador, e uma ou duas muito difíceis para os jogadores mais dedicados.

Por exemplo, a captura de tela a seguir mostra uma conquista difícil que ajuda a motivar e reter fãs do título.

difícil ganhar conquistas que exigem a coleta de 5 mil tesouros
2.5 Sugestão Não ofereça conquistas rápidas.

Evite premiar mais de uma conquista nos primeiros 5 minutos de atividade, já que isso impede o engajamento de novos jogadores.

Não defina suas conquistas para que sejam concedidas muito cedo no jogo, de forma não intencional. Por exemplo, cuidado com conquistas que provavelmente serão ganhas no começo do jogo, como "Conclua um nível sem nenhum dano".

2.6 Sugestão Defina conquistas relacionadas a atividades atraentes no jogo.

Selecione métricas para criar conquistas que deixem seu jogo mais atraente e aumentem a possibilidade de ser acessado novamente. Por exemplo, "número de zumbis mortos" é uma métrica mais interessante do que "número de milhas percorridas pelo personagem".

2.7 Sugestão Use cor nos ícones de conquistas.

Os serviços relacionados a jogos do Google Play usam versões em diferentes escalas de cinza nos ícones de conquistas para diferenciar o progresso do usuário. Se você somente puder usar ícones de conquistas pretos (ou brancos), use um plano de fundo colorido.

2.8 Sugestão Minimize o uso de conquistas ocultas.

Conquistas ocultas só devem ser usadas para evitar spoilers no jogo. O uso delas é exceção, não regra.

2.9 Sugestão Evite conquistas que dependam de sorte.

"Encontre 100 baús de tesouro" é melhor do que "Encontre um item que tenha 1% de chance de aparecer em uma arca do tesouro".

2.10 Sugestão Pense como um "Caçador de conquistas".

Alguns jogadores tentarão ganhar todas as conquistas criadas por você. Tente oferecer conquistas que atendam a essa categoria de usuários. Evite criar conquistas que dependam muito de elementos que estão além do controle do jogador ou que não possam ser alcançadas após ele tomar uma decisão no jogo.

2.11 Sugestão Verifique se o ícone de conquista é exibido corretamente.

Quando um ícone de conquista é exibido em uma mensagem do Android, ele aparece sobreposto por um círculo com os cantos externos ocultos. Verifique se o ícone ainda é exibido de maneira adequada nessas circunstâncias.

3. Placares

As tarefas da lista de verificação a seguir se aplicam à implementação do recurso Placares no seu jogo.

Código Importância Descrição
3.1 Prática recomendada Torne os placares visíveis no menu principal e após transições importantes.

Os placares devem ser exibidos durante o carregamento de um jogo. Após transições importantes, como na conclusão de um nível ou na morte do personagem de um jogador, os usuários devem ver imediatamente os links para os placares relevantes.

3.2 Prática recomendada Defina limites máximos para pontuações que podem ser enviadas.

Se possível, adicione limites ao definir seus placares para que as pontuações falsas sejam descartadas.

3.3 Prática recomendada Use ícones personalizados.

Crie um ícone personalizado para cada placar definido. Não use somente o ícone do seu jogo, já que ele será exibido incorretamente no app Google Play Games.

3.4 Prática recomendada Mantenha a frequência apropriada de envios de pontuação.

Envie pontuações após transições importantes no jogo, como na conclusão de um nível ou na morte do personagem de um jogador. Para jogos sem transições importantes, como do tipo "endless runner", use o bom senso sobre a frequência de envio das pontuações. As pontuações não devem ser enviadas continuamente ou a cada segundo.

3.5 Sugestão Faça uso de tags de pontuação.

As tags de pontuação são bits extras de dados que podem ser enviados junto com a pontuação. Por exemplo, você pode implementar uma tag de pontuação como um sinalizador para confirmar que a pontuação enviada por um jogador é válida.

Os placares personalizados também podem ler esses dados de tag. Se a tag de pontuação fosse o código de um vídeo do YouTube contendo a jogabilidade desse jogador, por exemplo, seu jogo poderia criar um link para visualização do vídeo em um placar.

3.6 Sugestão Desenvolva sua própria IU do placar com criatividade.

Se você tiver os recursos, crie sua visualização personalizada na parte superior dos dados do placar social. Normalmente, placares sociais criam uma experiência mais envolvente do que os públicos. Primeiro, verifique se há alguma entrada no placar social. Caso contrário, use o placar público.

3.7 Sugestão Mostre o progresso dos jogadores em relação a outros competidores.

A API de placares é compatível com a exibição de janelas de pontuação, como a classificação de um jogador em +/- 10 posições. Se você estiver criando uma visualização personalizada, essa pode ser uma forma eficaz de aumentar o engajamento. Essa informação pode ser exibida logo após uma transição importante no jogo, como na conclusão de um nível ou na morte do personagem de um jogador. Evite incluir cliques desnecessários entre seus jogadores e as informações de classificação.

4. Multijogador (Geral)

As tarefas da lista de verificação a seguir se aplicam à implementação de recursos de multijogador em tempo real ou multijogador com base em turnos no seu jogo.

Código Importância Descrição
4.1 Obrigatório Caso você ofereça convites no jogo, permita que os jogadores participem de uma partida multijogador.

Caso seu jogo use as APIs de multijogador para criar uma sala ou uma partida com base em turnos, mas não permita que os jogadores participem de uma partida multijogador, isso pode ser considerado um abuso do serviço. Além disso, isso pode causar o bloqueio do acesso ao jogo nos serviços relacionados a jogos do Google Play.

4.2 Obrigatório Certifique-se de que você entende e cumpre integralmente os Termos de Serviço dos serviços relacionados a jogos do Google Play.

Você também precisa ter a permissão explícita de um usuário para compartilhar dados pessoais dele com outros jogadores em um jogo multijogador, além dos detalhes que os serviços relacionados a jogos do Google Play normalmente compartilham.

4.3 Prática recomendada Forneça um botão de "Partida rápida" que coloque os jogadores diretamente em uma partida competitiva.

Ofereça aos jogadores uma maneira fácil de começar a jogar contra oponentes selecionados aleatoriamente por meio da partida automática. Para ver um exemplo prático, acesse o jogo Clumsy Bird.

4.4 Prática recomendada Notifique os jogadores de que eles receberam um convite no jogo.

Os desenvolvedores devem implementar os callbacks de convite para que possam notificar os jogadores de que um convite foi recebido no jogo.

4.5 Prática recomendada Forneça aos usuários acesso direto à ação no jogo.

Quando um jogador clica para aceitar um convite de partida multijogador, ele deve ser levado diretamente para a partida correspondente. Para implementar esse comportamento, você pode usar as informações da partida incluídas no parâmetro connectionHint que os serviços relacionados a jogos do Google Play transmitem ao seu cliente do jogo.

4.6 Prática recomendada Gerencie corretamente os convites quando seu jogo Android estiver em segundo plano.

Quando seu jogo estiver em segundo plano, os callbacks de convite multijogador continuarão a consumir todos os convites recebidos. Isso impede que os convites apareçam na aba de notificações e evita que os jogadores os aceitem.

É recomendável cancelar o registro dos seus callbacks no parâmetro onPause() da sua atividade. Se você não fizer isso, o sistema liberará os callbacks automaticamente e emitirá um aviso. Depois que todos os callbacks forem liberados, as notificações aparecerão perifericamente da maneira correta.

4.7 Prática recomendada Evite sobreparticionar seu pool de jogadores ao usar bitmasks ou variantes.

Quanto menor for seu pool de jogadores, mais tempo levará para que eles encontrem oponentes automaticamente e entrem em um jogo.

4.8 Prática recomendada Use variantes ou bitmasks só se não houver outras alternativas.

Avalie se haveria desistências caso os jogadores não conseguissem ter o tipo de experiência de jogo que gostariam. Nesse caso, forneça esse tipo de jogo como uma variante que os usuários podem selecionar ao iniciar uma partida multijogador. Caso contrário, permita que os jogadores selecionem o tipo de jogo somente depois que um oponente for encontrado.

4.9 Sugestão Torne mais fácil acessar o jogo novamente após o término de uma partida multijogador.

No final de uma partida multijogador, permita que os jogadores retornem imediatamente, iniciando uma nova partida com os mesmos adversários ou iniciando uma nova com usuários diferentes.

5. Multijogador em tempo real

As tarefas da lista de verificação a seguir se aplicam à implementação do recurso multijogador em tempo real no seu jogo.

Código Importância Descrição
5.1 Prática recomendada Limpe as salas multijogador em tempo real.

Se você não sair da sala adequadamente, os serviços relacionados a jogos do Google Play continuarão enviando notificações de eventos e convites para o cliente. Você deve sair da sala ativa sempre que ocorrer uma dessas situações:

  • A jogabilidade chegar ao fim (por exemplo, um jogador venceu a partida).
  • Seu jogo entrar em segundo plano.
  • No Android, saia da sala quando:
    • o jogador cancelar o jogo na IU da sala de espera;
    • o código de resposta retornado no callback onActivityResult() for GamesActivityResultCodes.RESULT_LEFT_ROOM;
    • a Activity onStop() for chamada. Isso pode indicar que sua Activity está sendo destruída. Nesse caso, saia da sala e chame disconnect().

6. Multijogador com base em turnos

As seguintes tarefas da lista de verificação se aplicam à implementação do recurso multijogador com base em turnos no seu jogo.

Código Importância Descrição
6.1 Prática recomendada Alerte os jogadores sobre os jogos com base em turnos que requerem atenção.

Você pode adicionar um pequeno ícone ou um número ao lado da opção Multijogador do seu menu principal para indicar partidas que estão aguardando o usuário jogar na vez dele ou aceitar um convite. Para ver um exemplo prático, acesse o jogo 1941 Frozen Front.

6.2 Sugestão Crie partidas de mais de 15 segundos.

Evite uma jogabilidade com transições rápidas entre as partidas. Isso evita o comportamento de spam que poderia resultar em um limite de cota da API do seu jogo ou impedir que os jogadores recebam notificações de partidas corretamente.

7. Presentes e solicitações

As tarefas da lista de verificação a seguir se aplicam à implementação do recurso Presentes do Play Games no seu jogo.

Código Importância Descrição
7.1 Obrigatório Não envie, solicite nem aceite presentes no jogo sem a aprovação explícita de jogadores.

Certifique-se de que você entende e cumpre integralmente os Termos de Serviço do Google Play Games relacionados ao uso do recurso de presentes do Play Games.

7.2 Obrigatório Implemente a aceitação de solicitações de presentes do Play Games.

Caso seu jogo permita que os jogadores enviem solicitações de presentes, mas não que as aceitem, isso pode ser considerado um abuso do serviço. Além disso, isso pode causar o bloqueio do acesso ao jogo nos serviços relacionados a jogos do Google Play.

7.3 Prática recomendada Implemente o listener para aceitar uma solicitação de presentes do Play Games.

Você deve implementar listeners de solicitação para que os jogadores sejam notificados quando receberem solicitações de presentes do Play Games durante a conexão no seu jogo.

8. Limitação de taxas e cotas

As tarefas da lista de verificação a seguir se aplicam ao gerenciamento da limitação de taxas e cotas no seu jogo. Para saber como gerenciar a cota do seu jogo e detectar quando o limite de taxa é excedido, consulte Como gerenciar a limitação de taxas e cotas.

Código Importância Descrição
8.1 Prática recomendada Use as bibliotecas de cliente.

As bibliotecas de cliente para dispositivos móveis utilizam várias estratégias para reduzir as chamadas feitas ao serviço. Por exemplo, dados para conquistas e placares são armazenados em cache para que os jogadores possam ver as conquistas quantas vezes quiserem, sem exigir que o serviço faça várias chamadas.

A biblioteca do cliente Android não enviará a pontuação de um jogador para o servidor se sua pontuação não for tão boa quanto a que você enviou recentemente. A biblioteca Android também combina automaticamente as chamadas de conquistas incrementais frequentes quando detecta que você está sendo limitado pela taxa.

8.2 Sugestão Limite suas transmissões de mensagens confiáveis.

Se você estiver fazendo chamadas confiáveis no seu app Android usando RealTimeMultiplayerClient.sendReliableMessage(), mantenha sua frequência de transmissão em 50 mensagens por segundo ou menos.

Dica: se você precisar enviar dados com mais frequência do que isso, considere o uso da transmissão de mensagens não confiáveis. Não há cotas para esse tipo de mensagem.

8.3 Sugestão Combine chamadas frequentes para conquistas incrementais.

Se você estiver criando um jogo de luta com uma conquista de "Dê 5.000 socos", não envie uma chamada de conquista incremental toda vez que alguém der um soco. Aguarde até o final da partida e envie uma chamada increment(xxx) (em que xxx é o número total de socos lançados nessa rodada) ou espere até 50 socos antes de enviar uma única chamada increment(50).

8.4 Sugestão Acompanhe seu uso.

Esteja ciente do número de chamadas que você faz para os serviços relacionados a jogos do Google Play. Mesmo que você evite atingir os limites de taxa, as chamadas frequentes podem levar a um tráfego de rede elevado e fazer com que a bateria do dispositivo descarregue mais rapidamente. Para evitar isso, você pode usar estas técnicas:

  • Ao salvar na nuvem, mantenha a frequência uma vez a cada poucos minutos, e não a cada clique no botão.
  • Espere até o jogo terminar antes de enviar uma pontuação alta.
  • Revise a cota diária do app acessando o painel do seu projeto no Console de APIs do Google.

9. Eventos e missões

As seguintes tarefas da lista de verificação se aplicam ao uso de recursos Eventos e missões no seu jogo.

Código Importância Descrição
9.1 Obrigatório Torne as missões acessíveis.

Certifique-se de que as missões podem ser facilmente descobertas pelos jogadores no menu ou na visualização principal do jogo.

9.2 Obrigatório Permita que os jogadores aceitem missões no app Play Games.

Seu jogo precisa exibir uma visualização para permitir que os jogadores aceitem uma missão ao clicarem em um bloco correspondente no app Play Games.

9.3 Obrigatório Confirme o aceite e a conclusão da missão.

Seu jogo precisa fornecer explicitamente uma confirmação quando os jogadores aceitarem ou concluírem uma missão. Exiba a confirmação usando uma forma de notificação ou equivalente.

9.4 Obrigatório Implemente a reivindicação de prêmio.

Se a descrição de uma missão fizer referência a um prêmio, seu jogo precisa fornecer essa recompensa quando a atividade for concluída.

Use uma dessas abordagens para permitir que os jogadores reivindiquem prêmios na conclusão da missão:

  • Implemente um listener de reivindicação de prêmio que seja acionado quando um usuário clicar no botão Reivindicar prêmio para uma missão concluída na IU "Lista de missões" padrão.
  • Reivindique automaticamente o prêmio na conclusão da missão.
9.5 Obrigatório Siga as diretrizes de marca da missão.

Ao criar um link para missões, seu jogo precisa exibir a iconografia oficial da missão. Variações que não distorcem materialmente a silhueta também são aceitáveis, de acordo com as Diretrizes de marca dos serviços relacionados a jogos do Google Play.

9.6 Prática recomendada Descreva os prêmios de maneira adequada.

O prêmio deve ser identificado nos primeiros 150 caracteres da descrição da missão para que seja visível na visualização resumida da missão no app Play Games.

9.7 Prática recomendada Indique visualmente o progresso da missão.

Certifique-se de que os jogadores podem visualizar facilmente o próprio status de progresso para concluir uma missão. Seu jogo deve mostrar o progresso da missão do jogador (se houver somente uma missão ativa) ou a missão que estiver mais próxima da conclusão (se houver mais de uma missão ativa).

Seu jogo pode exibir essa visualização nestes locais:

  • Em uma caixa de diálogo pop-up na inicialização do jogo
  • No menu principal
  • Na tela principal do jogo
9.8 Prática recomendada Indique o tempo restante para completar uma missão.

Oferecer aos jogadores uma contagem regressiva ou informar os prazos de missão iminentes pode motivá-los ainda mais a jogar intensamente para alcançar os objetivos da missão antes que ela termine.

À medida que o tempo se aproxima do final da missão, use uma mensagem ou outro aviso no jogo para mostrar uma contagem regressiva até o horário de término.

9.9 Prática recomendada Faça com que as missões possam ser usadas novamente e/ou repetidas.

A reutilização de missões dá aos novos jogadores a chance de experimentá-las, sem lançar um novo binário. Muitos dos principais jogos têm missões diárias para cada dia específico da semana que se repetem semanalmente.

Repetir missões semanal ou mensalmente cria um conjunto semelhante de experiências do usuário para todos os jogadores.

10. Jogos salvos

As seguintes tarefas da lista de verificação se aplicam à implementação do recurso Jogos salvos no seu jogo.

Código Importância Descrição
10.1 Obrigatório Adicione metadados para fornecer contexto adicional aos jogos salvos.

Você precisa incluir, pelo menos, os seguintes metadados ao enviar um jogo salvo:

  • Imagem da capa: é uma captura de tela que registra o progresso das partidas e lembra aos jogadores em que etapa eles deixaram o jogo.
  • Descrição: é uma descrição resumida que fornece contexto adicional para a imagem da capa.
  • Carimbo de data/hora: indica por quanto tempo o usuário está jogando o jogo salvo.
10.2 Obrigatório Permita que os jogadores carreguem jogos salvos.

Carregue o jogo salvo correto quando os jogadores fizerem uma seleção no app Play Games ou na IU de seleção padrão de jogos salvos.