Se você tiver uma dúvida que não foi respondida nesta página, use as informações de contato na página de contato do suporte.
Esta página pode ser atualizada com perguntas frequentes à medida que elas forem 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 portal do desenvolvedor e siga as instruções de teste.
Meu jogo não está sendo renderizado no Android ou no pacote de testes do SDK. O que devo fazer?
Quando os jogos não são renderizados exclusivamente no Android ou no pacote de testes do SDK, isso geralmente é causado pela forma como os jogos são carregados no WebView. Por motivos de desempenho, o jogo é carregado inicialmente em um WebView que não é mostrado ao usuário, o que resulta em um tamanho de janela de visualização de zero. Para resolver esse problema, recomendamos a seguinte solução:
(1) Verifique se a execução de código do seu jogo é executada independentemente 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 de visualização é zero.
Recomendamos detectar o evento de janela resize e definir 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 arquivos individuais?
Não. O tamanho do arquivo individual é um limite rígido.
Como o tamanho do pacote inicial é medido?
O tamanho inicial do pacote é medido como a quantidade total de bytes baixados pelo Playable até que o evento gameReady seja chamado.
Os jogos usam a compactação HTTP quando possível, o que significa que o tamanho do pacote inicial pode ser menor que o tamanho bruto total dos recursos. Ao testar o tamanho do pacote inicial no pacote de testes do SDK, se o host local não estiver compactando recursos, o tamanho poderá ser maior do que o que vai acontecer quando o Playable for publicado. Para conferir o tamanho real do pacote inicial disponibilizado para um Sala de jogos, use o pacote de testes do SDK apontado para o arquivo index.html de um build enviado ou modifique as configurações do servidor local para ativar a compactação gzip.
Atingi ou ultrapassei o limite de tamanho do arquivo individual ou do pacote total. O que devo fazer?
Para otimizar seu jogo e melhorar o desempenho, consulte os seguintes artigos:
- Compactação de imagem
- Auditorias de performance
- Tempo de carregamento rápido
Ativar a compactação de texto *
Como otimizar a codificação e o tamanho de transferência de recursos baseados em texto
E se eu não conseguir ficar dentro do limite de tamanho total do pacote?
Os usuários podem ter que baixar recursos do seu jogo sempre que jogarem. Para evitar tempos de carregamento longos e o uso de grandes quantidades de dados, é recomendável que o tamanho total do pacote do jogo seja o menor possível.
Recomendamos que os jogos usem o carregamento lento ou outros tipos de carregamento incremental de recursos durante cada sessão de jogo conforme os usuários avançam, ou que dividam os recursos por nível para que eles sejam baixados em pequenas quantidades ao longo de uma sessão longa. Nessas situações, ter um tamanho total de pacote maior pode não prejudicar a experiência do usuário e, na verdade, pode até melhorá-la, permitindo mais conteúdo no jogo com uma pegada menor por usuário. Se você acha que seu jogo funciona dessa maneira e justifica ter um tamanho total de pacote maior, entre em contato usando nossa página de contato de suporte para discutir seu caso de uso.
Minhas análises internas podem ser excluídas dos requisitos de chamada externa?
Não. No momento, os jogos não podem fazer chamadas externas. Informe ao seu gerente de parcerias 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 em um banco de dados remoto. Isso é aceitável?
No momento, não, mas estamos testando o acesso remoto a dados com alguns títulos. Atualmente, todos os dados do jogo precisam ser incluídos no pacote do jogo. Se você quiser atualizar ou atualizar os recursos ou o conteúdo do jogo, entre em contato usando as informações de contato na página de contato de suporte para enviar um pacote de jogo atualizado ou entre em contato para saber mais se quiser ser considerado para nosso programa piloto.
Recebi 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. Para garantir a segurança, o YouTube usa uma Política de Segurança de Conteúdo (CSP, na sigla em inglês) que exige
que os scripts tenham um código de segurança especial chamado "nonce". O YouTube adiciona
esse código automaticamente aos scripts no seu arquivo HTML, mas você precisa adicioná-lo manualmente a
todos os scripts criados com código.
Ao gerar tags script de forma programática usando JavaScript, você precisa encontrar o valor de uso único da 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 às APIs do SDK de jogos.
Minha certificação falhou 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 ver 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 ver 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é-compactação do Unity?
Não sugerimos a pré-compactação dos recursos. O requisito de tamanho inicial do pacote usa o tamanho pós-compactação, e os arquivos enviados serão compactados após a ingestão. Se ainda houver necessidade de pré-compactar arquivos, consulte o restante desta seção ou entre em contato com a equipe de suporte na nossa página de contato de suporte para discutir a melhor opção para seu jogo.
Alguns jogos precisam usar a pré-compactação para os arquivos .wasm ou .data do Unity.
Use a pré-compactação apenas nas seguintes condições, porque isso pode levar a tempos de carregamento muito mais lentos:
- Se você precisar usar a pré-compactação do Unity para atender aos requisitos de tamanho de arquivo individual ou tamanho total do pacote, consulte "Estou no limite de tamanho de arquivo individual ou total do pacote. O que devo fazer?".
- Se você precisar usar a pré-compactação do Unity para que seu jogo seja aprovado na certificação,
os seguintes requisitos precisam ser atendidos:
- É OBRIGATÓRIO usar a pré-compactação ZIP.
- Você PRECISA descompactar os arquivos manualmente no script do carregador. Recomendamos o uso da API Compression Streams.
Esses requisitos adicionais são decorrentes 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 as atualizações de frames quando o jogo está em segundo plano?
Use setTimeout para gerenciar as 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 significativa de memória, o que pode levar a exceder as restrições de uso da memória para playables. Recomendamos seguir a documentação para desenvolvedores para Memória no Unity WebGL.