Esta seção aborda a integração entre o Playable e o YouTube Playables SDK.
1 Carregar o SDK do Playables
- O jogo PRECISA carregar o SDK da Sala de jogos do YouTube antes de qualquer código do jogo.
2 Notificação de jogo pronto
- O jogo PRECISA chamar
firstFrameReadyquando estiver renderizando uma tela de carregamento ou de apresentação que comunique explicitamente ao usuário que o processo de carregamento está em andamento. - O jogo PRECISA chamar
gameReadye SÓ chamargameReadyquando estiver pronto para a interação do usuário (exemplo: o menu principal ou o jogo está pronto para jogar). - O jogo NÃO PODE chamar
gameReadyenquanto ainda houver elementos não interativos sendo exibidos ao usuário (exemplo: telas de apresentação ou de carregamento de telas).
O YouTube não remove o "indicador de carregamento" até que essa API seja chamada.
3 Pontuações do usuário
- O jogo PODE usar
sendScorepara enviar a pontuação do usuário. - Se o jogo usar
sendScorepara enviar pontuações, ele PRECISA obedecer a especificaçãosendScoree PRECISA garantir que a melhor pontuação enviada corresponda à melhor pontuação no jogo salvo.
4 Salvamentos na nuvem
- O jogo PRECISA chamar
saveDatapara salvar o progresso quando os usuários tiverem feito um progresso material no jogo (por exemplo, uma mudança de nível) em que a mecânica do jogo leva o usuário a acreditar que o progresso foi salvo. - O jogo NÃO PODE usar nenhum outro mecanismo para salvar o progresso do usuário. Esse recurso permite que os jogadores retomem o jogo mais tarde.
- O jogo PRECISA aguardar
loadDataantes de chamarsaveData. SesaveDatafor chamado antes queloadDataseja concluído, a solicitação será rejeitada. Isso impede que o jogo substitua dados salvos anteriormente. - O jogo PRECISA ser capaz de usar dados salvos na nuvem de versões anteriores do jogo sem erros ou falhas.
- O jogo DEVE usar os dados salvos na nuvem para manter o progresso do usuário em todas as versões do jogo em que o usuário espera que os dados sejam usados.
- Os jogos DEVEM salvar automaticamente o progresso do usuário em marcos importantes do jogo para evitar a perda de dados. Um salvamento final de transferência é realizado quando um usuário sai do jogo, mas é o melhor esforço e só pode salvar até 64 KiB de conteúdo de comprimento.
5 Ativar/desativar som
- O jogo PRECISA respeitar a configuração de áudio do sistema e o botão de desativar microfone.
- O jogo PRECISA respeitar a configuração de áudio do YouTube e o botão de desativar som usando
isAudioEnabledeonAudioEnabledChange. - O jogo PRECISA respeitar o controle de volume no dispositivo.
- O som do jogo NÃO PODE ser reproduzido inesperadamente.
- Quando o som do YouTube estiver desativado, o áudio NÃO PODE ser reproduzido e os controles de áudio do jogo NÃO PODEM afetar a saída de áudio.
- Quando o som do YouTube não estiver desativado, os controles de áudio do jogo PODEM afetar a saída de áudio.
- O jogo NÃO PODE mostrar um botão de desativar som geral no jogo. Permita que os usuários dependam dos recursos do YouTube para isso.
- O jogo PODE ter controles de áudio granulares separados no jogo, como para música e efeitos sonoros, mas eles PRECISAM seguir todos os outros requisitos de controle de áudio.
6 Pausar e retomar
O SDK do Playables oferece callbacks para recursos de pausa e retomada multiplataforma.
- O jogo PRECISA pausar toda a execução depois que
onPausefor chamado e PRECISA retomar a execução somente quandoonResumefor chamado. A execução inclui todos os recursos do Playable, como loop de jogo, música, interações, chamadas de rede e renderização. - O jogo NÃO PODE usar a API Page Visibility da Web ou APIs da Web semelhantes e
PRECISA usar apenas
onPauseeonResumedo SDK do Playables. - O jogo DEVE salvar o progresso do usuário quando
onPauseocorrer.