Perguntas frequentes sobre a certificação

Se você tiver uma dúvida que não está nesta página, entre em contato usando as informações na página de contato do suporte.

Esta página pode receber atualizações com perguntas frequentes à medida que elas são recebidas.

Geral

Esta seção inclui perguntas que não se enquadram em uma categoria específica.

Posso testar o jogo no ambiente do YouTube?

Sim. Use o Developer Portal e siga as instruções de teste.

Meu jogo não está sendo renderizado no Android ou no pacote de teste do SDK. O que devo fazer?

Quando os jogos não são renderizados exclusivamente no Android ou no conjunto de testes do SDK, isso geralmente é causado pela forma como os jogos são carregados na WebView. Por motivos de desempenho, o jogo é carregado inicialmente em uma WebView que não é mostrada ao usuário, resultando em um tamanho de janela de visualização zero. Para resolver esse problema, recomendamos a seguinte solução:

(1) Verifique se o código do jogo é executado independente do tamanho da janela de visualização.

(2) Verifique se o código do jogo processa o redimensionamento da janela de visualização e se ele não espera nem falha quando o tamanho da janela é zero.

Recomendamos que você fique atento ao evento de janela resize e defina a altura do jogo somente quando window.innerHeight for diferente de zero.

Requisitos técnicos

Esta seção inclui perguntas relacionadas aos requisitos técnicos da Sala de jogos do YouTube.

Posso receber uma isenção do limite de tamanho de arquivo individual?

Não. O tamanho do arquivo individual é um limite rígido.

Como o tamanho inicial do pacote é medido?

O tamanho inicial do pacote é medido como a quantidade total de bytes baixados pelo jogável até que o evento gameReady seja chamado.

Os jogos instantâneos usam compactação HTTP sempre que possível. Isso significa que o tamanho inicial do pacote pode ser menor do que o tamanho bruto total dos recursos. Ao testar o tamanho inicial do pacote no SDK Test Suite, se o host local não estiver comprimindo ativos, o tamanho poderá ser maior do que o que vai acontecer quando o conteúdo jogável for publicado. Para conferir o tamanho real do pacote inicial veiculado para um jogo instantâneo, use o SDK Test Suite apontado para o arquivo index.html de um build enviado ou modifique as configurações do servidor local para ativar a compactação gzip.

Estou no limite de tamanho do arquivo individual ou do pacote total, ou acima dele. O que devo fazer?

Para otimizar seu jogo e melhorar o desempenho, consulte os seguintes artigos:

E se eu não conseguir ficar dentro do limite total de tamanho do pacote?

Os usuários podem precisar baixar recursos do jogo sempre que jogam. Para evitar longos tempos de carregamento e grande uso de dados, recomendamos que o tamanho total do pacote do jogo seja o menor possível.

Incentivamos os jogos a usar o carregamento lento ou outros tipos de carregamento incremental de recursos durante cada sessão de jogo à medida que os usuários avançam, ou a dividir os recursos por nível para permitir que eles sejam baixados em pequenas quantidades ao longo de uma sessão longa. Em situações como essas, ter um tamanho total maior do pacote pode não prejudicar a experiência do usuário e, na verdade, criar uma experiência melhor ao permitir mais conteúdo no jogo com uma pegada menor por usuário. Se você acha que seu jogo funciona dessa forma e justifica um tamanho total de pacote maior, entre em contato usando nossa página de contato do suporte para discutir seu caso de uso.

Minhas análises internas podem ser excluídas dos requisitos de chamadas externas?

Não. No momento, os jogos instantâneos não podem fazer chamadas externas. Informe seu gerente de parcerias sobre o tipo de análise que você quer para que os recursos futuros nesse espaço possam ser priorizados.

O jogo busca dados e níveis de um banco de dados remoto. Isso é aceitável?

No momento, não. No entanto, estamos testando o acesso aos dados remoto com alguns títulos. Hoje, todos os dados do jogo precisam ser incluídos como parte do pacote do jogo. Se quiser atualizar ou renovar os recursos ou o conteúdo do jogo, entre em contato usando as informações na página de contato do suporte para enviar um pacote de jogo atualizado ou entre em contato para saber mais se quiser participar do nosso programa piloto.

Aparece um erro sobre a violação da "Política de Segurança de Conteúdo" ao executar scripts inline

Isso acontece quando você usa JavaScript para criar e adicionar uma tag <script> à sua página. Por motivos de segurança, o YouTube usa uma Política de Segurança de Conteúdo (CSP) que exige que os scripts tenham um código de segurança especial chamado "nonce". O YouTube adiciona automaticamente esse código aos scripts no seu arquivo HTML, mas você precisa adicioná-lo manualmente a qualquer script criado com código.

Ao gerar tags de script de maneira programática usando JavaScript, é necessário encontrar o nonce na sua página e aplicá-lo ao novo elemento de script.

Exemplo:

const script = document.createElement('script');
script.src = '...';
// Find the nonce from the main page and apply it
script.nonce = document.querySelector('script[nonce]')?.nonce;
document.head.appendChild(script);

É possível testar configurações off-line usando as diretrizes especificadas nas instruções do pacote de testes.

Integração do SDK

Esta seção inclui perguntas relacionadas a qualquer uma das APIs do SDK Playables.

Não consegui a certificação devido a problemas de integração de áudio. O que preciso corrigir?

O problema de áudio mais comum envolve jogos que esperam a interação do usuário antes de iniciar a reprodução. No entanto, a Sala de jogos do YouTube pode receber foco automaticamente, então o jogo precisa lidar com esse caso.

Para um exemplo de configuração de áudio, confira as amostras.

Unity

Esta seção inclui perguntas sobre a integração de jogos do Unity com o SDK da Sala de jogos do YouTube. Para exemplos de como usar o SDK e o wrapper do Unity, consulte a documentação do wrapper do Unity para a Sala de jogos do YouTube.

Posso usar a pré-compressão do Unity?

Não sugerimos pré-compactar seus recursos. O requisito de tamanho do pacote inicial usa o tamanho pós-compactação, e os arquivos enviados recebem compactação após a ingestão. Se ainda for necessário pré-compactar arquivos, consulte o restante desta seção ou entre em contato com a equipe de suporte na página de contato do suporte para discutir a melhor opção para seu jogo.

Alguns jogos precisam usar a pré-compactação para arquivos .wasm ou .data do Unity. Use a pré-compactação apenas nas seguintes condições, já que isso pode levar a tempos de carregamento muito mais lentos:

Esses requisitos adicionais decorrem de limitações da arquitetura de veiculação. No momento, não há suporte para outros cabeçalhos HTTP ou compactação Brotli.

Como posso gerenciar atualizações de frames quando o jogo está em segundo plano?

Use setTimeout para gerenciar atualizações de frames quando o jogo estiver em segundo plano. Isso ajuda a controlar comportamentos como pausar o áudio. Para verificar o gerenciamento de frames em segundo plano, ative a opção "Executar em segundo plano" nas configurações do player.

Restrições de memória para jogos do Unity

Alguns jogos no Unity usam uma quantidade considerável de memória, o que pode levar a exceder as restrições de uso da memória para jogos instantâneos. Recomendamos seguir a documentação de desenvolvimento para Memória no Unity WebGL (link em inglês).