Skip to content

Requisitos técnicos

Compatibilidade de dispositivos e navegadores

Desejamos que o jogo seja compatível com o Chrome e o Edge. Jogos que não funcionem bem no Safari serão desativados.

Uma parcela considerável dos usuários do Jogos utiliza Chromebooks. Se o jogo não funcionar de forma fluida em dispositivos com 4GB de RAM, o sistema Chromium OS desativará esses jogos.

Se o jogo for compatível com dispositivos móveis, também deve suportar mouse, teclado e toque.

O jogo deve ser capaz de ser executado em modo paisagem em dispositivos desktop. Permitimos o lançamento de jogos em modo retrato, especialmente adequados para dispositivos móveis, por exemplo, exibindo barras pretas nas bordas da tela ou imagens de fundo.

  • Para garantir a compatibilidade dos jogos HTML5 em diferentes países ou regiões, temos os seguintes requisitos para o pacote do jogo:

    CategoriaPCDispositivo móvel
    Tamanho do pacote de download inicial≤50MB≤25MB
    Tamanho total dos arquivos≤ 500MB≤ 250MB
    Número de arquivos≤5000≤3000

Requisitos para jogos móveis

Para ser elegível para a página inicial móvel, o tamanho do download inicial não pode exceder 25MB.

Você pode configurar as orientações suportadas no conteúdo submetido. O site solicitará ao usuário que gire o dispositivo para garantir que o seu jogo só seja executado nessas orientações. Portanto, você não precisa implementar nenhuma lógica de bloqueio de orientação.

Por exemplo, ao jogar em alguns dispositivos (por exemplo, tablets), clicar duas vezes ou pressionar e segurar pode exibir a ferramenta de zoom ou selecionar todo o jogo e exibir o menu de contexto. Para evitar operações pouco fluidas, adicione o seguinte CSS no corpo do jogo:

java
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;

Devido a frequentes travamentos (causados por falta de memória), os jogos Unity estão desativados por padrão na plataforma iOS. Quando o seu jogo atingir um certo volume de jogadas, nossa equipe avaliará o seu desempenho na plataforma iOS e considerará se habilitar esse recurso.

Gerenciamos a qualidade gráfica do Unity (razão de pixels do dispositivo) para garantir um bom desempenho do jogo para o usuário: Para dispositivos iOS e dispositivos Android com baixo desempenho, escolhemos um valor de DPR igual a 1, pois esses dispositivos travam quando o DPR nativo suportado é mais alto. Para outros dispositivos, usamos o DPR nativo suportado pelo dispositivo (window.devicePixelRatio). Se acharmos necessário fazer uma exceção, podemos substituir manualmente essa configuração.

Explicação do controlador de QA

A ferramenta de detecção de qualidade QA do desenvolvedor Jogos oferece dois conjuntos completos de soluções de adaptação. Você não precisa fazer trabalhos de adaptação adicionais para o seu jogo:

  • Se o seu jogo for originalmente adaptado apenas para dispositivos móveis e usar botões virtuais e joysticks virtuais, você pode usar a configuração "Controles do jogo móvel adaptados para PC" para configurar botões do teclado ou do mouse, a fim de atender aos jogadores no PC. alt text

  • Se o seu jogo for originalmente adaptado apenas para PC e usar controle de teclado e mouse, você pode usar a configuração "Controles do jogo PC adaptados para dispositivos móveis" para arrastar e soltar botões virtuais e joysticks virtuais no local que você achar adequado e mapear as teclas do PC, para permitir que os jogadores realizem operações no dispositivo móvel.
    alt text

Tratamento de problemas comuns

O trecho de código a seguir resolve muitos problemas de experiência do usuário causados pelo comportamento padrão do navegador (esses problemas já foram resolvidos pelo nosso SDK do Unity, outros plataformas podem usá - lo conforme necessário):

  • Rolagem da página indesejada
  • Eventos de teclado indesejados
  • Mudanças de visibilidade no aplicativo Samsung
  • Aparição do menu de contexto fora do canvas do Unity
javascript
// Desativa a rolagem da página indesejada.
window.addEventListener('wheel', (event) => event.preventDefault(), {
  passive: false,
});

// Desativa eventos de teclado indesejados e a rolagem com a barra de espaço.
window.addEventListener('keydown', (event) => {
  if (['ArrowUp', 'ArrowDown', ''].includes(event.key)) {
    event.preventDefault();
  }
});

// Este é o reparo para lidar com mudanças de visibilidade
// Em webviews, este é um problema relatado para o aplicativo Samsung.
document.addEventListener('visibilitychange', () => {
  if (document.visibilityState) {
    if (document.visibilityState === 'hidden') {
      application.publishEvent('OnWebDocumentPause', 'True');
    } else if (document.visibilityState === 'visible') {
      application.publishEvent('OnWebDocumentPause', 'False');
    }
  }
});

// Desativa o menu de contexto que aparece após clicar com o botão direito fora do canvas.
document.addEventListener('contextmenu', (event) => event.preventDefault());