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 e tem 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 abaixo se aplicam à implementação do recurso de login do jogador no seu jogo. Saiba mais sobre o funcionamento do login e o processo de implementação em Conceitos de login. Para exemplos de código da implementação do login em jogos para dispositivos móveis, consulte Como implementar o recurso de login no Android.

ID Importância Descrição
1.1 Obrigatório Faça o login dos jogadores com os serviços relacionados a jogos do Google Play.
1.1.1. Conecte jogadores automaticamente quando o jogo for iniciado e use o login manual como backup

Os jogos precisam implementar login silencioso para ajudar os jogadores são rapidamente autenticados e autorizados a usar o conjunto completo de recursos oferecidos pelos serviços relacionados a jogos do Google Play. Se o login silencioso falhar, o app vai seguir incentivar os jogadores a fazer login interativamente. Com o login interativo, os jogadores podem fazer login do jogo, e o Play Games garante que o perfil dele seja configuradas corretamente para uso no jogo. Combinação do modo silencioso e o login interativo resulta nas taxas de login mais altas. com o mínimo de atrito para o usuário.

Se o jogador optar por não fazer login, lembre-se disso e não solicite o player novamente. Em vez disso, forneça um botão de login. O botão de login precisa ser fácil de encontrar. por exemplo, ele deve estar acessível na tela principal ou localizado Configurações. Esse botão não deve ficar escondido em vários níveis no menu do jogo. Continue tentando fazer o login dos jogadores automaticamente sempre que eles a iniciar seu jogo - eles podem mudar suas preferências e automaticamente fazer login.

1.2 Obrigatório Não solicite escopos que não sejam do Play Games ao criar o login com o cliente. Isso permite que os jogadores façam login automaticamente no seu porque a solicitação de escopos que não são do Play Games forçará os usuários a usar login interativo.

Se você já está solicitando escopos que não são do Play Games, remova todos os desnecessários escopos de seus GoogleSignInOptions e as APIs que você não usa mais. Se você precisar solicitar outros escopos (por exemplo, se você quer ver o e-mail de um usuário para marketing ), façam isso em um momento relevante e não como parte do processo de login.

// This is the proper way to do it
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 jogo, conecte-o. automaticamente sempre que o jogo começar, até que o jogador assine explicitamente para fora.

1.4 Obrigatório Exiba a mensagem "Conectando" aparecer corretamente durante o login.

Em dispositivos Android, a página "Conectando" do Google Play Games o pop-up deve ser exibido sempre que o fluxo de login for invocado. Para isso, é necessário chamar o método Método setViewForPopups() da classe GamesClient. Verifique se esta janela pop-up é mostrada ao fazer o login do jogador automaticamente no início do seu jogo. Isso permite que os jogadores saibam que estão fazendo login no jogo corretamente.

O exemplo a seguir mostra como o link "Conectando" pode aparecer um jogo do Android durante o login, seguido por uma breve animação da Logotipo dos serviços relacionados a jogos do Google Play.

A captura de tela mostra "Conectando a" pop-up.
1.5 Obrigatório Dê aos jogadores uma opção para sair.

Depois de fazer login, é necessário que o jogador tenha sempre a opção de sair.

Forneça um botão para sair em um tela do jogo no seu app (por exemplo, na tela de configurações do jogador).

1.6 Prática recomendada Lembre-se dos jogadores que recusaram o login.

Se o jogador se recusar a fazer login no início do jogo, fluxo de login (por exemplo, se ele clicou em Cancelar no IU), você ainda deve permitir que o jogador continue o jogo.

Quando o jogador iniciar o jogo novamente, não invoque o fluxo de login interativo. automaticamente. Esses jogadores podem fazer login mais tarde usando o Botão de login que deveria estar no sistema de Configurações. Isso economiza os jogadores de ter que recusar repetidamente o login ao iniciar o jogo.

Uma exceção é se os jogadores tentarem acessar um recurso de jogabilidade que depende do login (por exemplo, enviar uma pontuação a um cabeçalho). Nesse caso, solicite que ele faça login antes de prosseguir com durante as partidas.

1,7 Prática recomendada Maximize o número de jogadores conectados.

Ter mais jogadores fazendo login nos serviços relacionados a jogos do Google Play beneficia seu os jogadores aumentando as oportunidades de colaboração e competitividade durante as partidas. Para maximizar o número de jogadores conectados dos serviços relacionados a jogos do Google Play, recomendamos enviar solicitações automáticas fazer login, conforme descrito acima.

Caso contrário, direcione os jogadores para o fluxo de login o mais cedo possível a partir de um destes pontos (o mais recomendado primeiro):

  • Imediatamente após o início do jogo.
  • Imediatamente após uma experiência introdutória, como uma cena ou .
  • Quando o jogador clica em um botão de login do Google em qualquer lugar do jogo.
1,8 Sugestão Siga as diretrizes da promoção de marca do Google.

Para fornecer aos jogadores uma experiência de ponta a ponta que seja atraente e consistentes, implemente os serviços relacionados a jogos do Google Play diretrizes de branding.

1.9 Sugestão Lembre os jogadores que eles já fizeram login.

Mostre 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, mostre uma mensagem como esta para indicar que a pontuação e as conquistas dele estão sendo salvas automaticamente: "Você fez login no Google. Suas conquistas e pontuações vão ser salvas automaticamente".

1.10 Obrigatório Faça backup do progresso dos jogadores usando o ID dos serviços relacionados a jogos do Google Play.

Para garantir que os jogadores não percam o progresso ao trocar ou redefinir dispositivos, ou ao jogar em vários aparelhos, faça o backup do progresso em uma solução de salvamento na nuvem. Use também o ID dos serviços relacionados a jogos do Google Play como uma chave segura caso você esteja usando seu próprio servidor de jogos de back-end. Quando os jogadores fazem login com os próprios ID dos serviços relacionados a jogos do Google Play, confira se existe progresso e, em caso afirmativo, permita que o jogador continue de onde parou. Você pode usar sua própria solução de salvamento na nuvem ou os Jogos salvos dos serviços relacionados a jogos do Google Play.

Caso o usuário não esteja conectado, tente manter o progresso do jogador salvo localmente e sincronize esse progresso quando ele fizer login. Isso ajuda a evitar a perda do progresso do jogador caso ele demore a fazer login novamente no jogo.

2. Conquistas

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

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

Os jogadores devem conseguir 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 alcançadas jogando casualmente, 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 de ganhar que ajuda a motivar e reter fãs do título.

Conquista difícil de alcançar que exige 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 interessantes no jogo.

Selecione métricas para criar conquistas que deixem o jogo mais divertido e aumentem a possibilidade de ser jogado novamente. Por exemplo, "número de zumbis mortos" é uma métrica mais interessante do que "número de quilômetros percorridos pelo personagem".

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

Os serviços relacionados a jogos do Google Play usam versões em escala de cinza dos ícones de conquistas para para mostrar se eles foram conquistados ou não. Se você não puder usar ícones de conquistas pretos (ou totalmente brancos), exiba-os em um 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 é mostrado 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.

ID Importância Descrição
3.1 Prática recomendada Mostre os placares 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 A pontuação deve ser enviada em uma frequência apropriada.

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 dados adicionais 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 ID de um vídeo do YouTube que mostra o que aquela pessoa jogou, 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 oferece suporte à 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 mostrada 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 os jogadores e as informações de classificação.

4. Amigos

As tarefas da lista de verificação a seguir se aplicam à implementação APIs Friends (link em inglês) no jogo.

ID Importância Descrição
4.1 Obrigatório Quando os jogadores aparecerem em uma lista, mostre o ícone do Play Games ao lado dos usuários que têm um perfil do Play Games.

Pode ser uma lista de todos os amigos, uma lista de amigos que jogaram recentemente ou outras opções.

4.1.1. O ícone do Play Games precisa ser clicável.
Quando o usuário pressiona o ícone, o jogo precisa chamar getCompareProfileIntent() ou getCompareProfileIntentWithAlternativeNameHints(). para mostrar a IU em que ele pode se comparar com o perfil de outro jogador.
4.1.2. Ofereça suporte a perfis de jogadores e convites de amigos para nomes personalizáveis no jogo.
Se um usuário definir um nome diferente no jogo (e não usar o nome do perfil do Play Games), use getCompareProfileIntentWithAlternativeNameHints() para mostrar essa alternativa tanto para o jogador atual quanto para os jogadores que o encontrarem, como contexto para a visualização de perfil e qualquer convite de amizade enviado dessa forma. Transmita apenas nomes de jogadores persistentes e globais para os valores, não conteúdos arbitrários do usuário. Esse requisito significa que os convites de amigos enviados dentro do jogo vão fornecer contexto a ambos os jogadores:
  • Para o destinatário, os nomes alternativo e de jogador do remetente do convite aparecem juntos.
  • Ao visualizar a amizade, o remetente ainda vai encontrar o nome alternativo do destinatário e o jogo de onde o convite foi enviado.
4.2 Prática recomendada Use ícones diferentes para mostrar quais usuários do Play Games já são amigos e quais ainda não são amigos no Play Games, mas fizeram login nele. Use dois ícones para usuários do Play Games, um para "Amigos" e outro para "Não amigos" ou quando o status de amizade for desconhecido.
Ícone de amigos
Ícone de não amigos
4.3 Prática recomendada Chame loadFriends() sempre que fizer login e mostre a lista de amigos para garantir que ela esteja atualizada. Confira se os jogadores podem conferir a lista atualizada.
4.4 Prática recomendada Se o jogo já tiver amigos, use as APIs Friends para aumentar a lista de amigos adicionando os amigos do Play Games. Se um jogador estiver na lista de amigos do jogo e também na do Play Games, mostre o ícone de "Amigos".
4.5 Prática recomendada Se um jogador negar a solicitação de acesso à lista de amigos, não faça mostrar a caixa de diálogo solicitando acesso novamente, a menos que o usuário tenha uma ação para indicar que desejam conceder acesso (por exemplo, pressionando uma "Importar amigos do Play Games" ).
4.6 Prática recomendada Se um jogador tiver negado o acesso à lista de amigos, dê a ele uma maneira de conceder acesso à lista de amigos no futuro (por exemplo, depois de pressionar o botão "Importar amigos do Play Games" ).
4,7 Prática recomendada Se você usar o ID do jogador ou a lista de amigos com um servidor de back-end, faça o acesso com segurança. Além disso, para alguns jogos e jogadores mais antigos, o ID do jogador retornado pelo SDK do Android pode não ser o mesmo que as outras pessoas encontram ao visualizar o jogador no mesmo jogo. Isso é muito relevante ao usar a lista de amigos. No entanto, o player_id retornado na API REST é sempre consistente e é sempre o ID visível para outros jogadores.

5. 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.

ID Importância Descrição
5.1 Prática recomendada Use as bibliotecas de cliente.

As bibliotecas de cliente para dispositivos móveis usam 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 conferir essas informações 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.

5.2 Sugestão Combine chamadas frequentes para conquistas incrementais.

Se você estiver criando um jogo de luta com uma conquista do tipo "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 dados nessa rodada) ou espere até 50 socos antes de enviar uma única chamada increment(50).

5.3 Sugestão Acompanhe o 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:

  • Só salve jogos uma vez a cada poucos minutos, e não a cada clique no botão.
  • Espere até o jogo terminar antes de enviar um valor de maior pontuação aos placares.
  • Revise a cota diária do app acessando o painel do seu projeto no Google Cloud Platform.

6. Jogos salvos

As tarefas da lista de verificação abaixo se aplicam à implementação do recurso de Jogos salvos no app.

ID Importância Descrição
6.1 Obrigatório Adicione metadados para fornecer mais contexto 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.
6.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.