Esta seção aborda a integração entre o jogo e o SDK do YouTube Playables.
1. Carregar o SDK do Playable
- 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 tela de apresentação que informe explicitamente ao usuário que o processo de carregamento está em andamento. - O jogo PRECISA chamar
gameReadye PRECISA chamargameReadysomente quando o jogo estiver pronto para a interação do usuário (por exemplo, menu principal ou jogo pronto para jogar). - O jogo NÃO PODE chamar
gameReadyenquanto ainda houver elementos não interativos sendo mostrados ao usuário (por exemplo, telas de apresentação ou de carregamento).
O YouTube não remove o "spinner de carregamento" até que essa API seja chamada.
3 Pontuações do usuário
- O jogo MAY usa
sendScorepara enviar a pontuação do usuário. - Se o jogo usar
sendScorepara enviar pontuações, ele PRECISA obedecer à especificaçãosendScoree PRECISA garantir que a melhor pontuação enviada corresponda à melhor pontuação no salvamento do jogo.
4 Salvar na nuvem
- O jogo PRECISA chamar
saveDatapara salvar o progresso quando os usuários tiverem feito um progresso significativo no jogo (por exemplo, uma mudança de nível) em que a mecânica 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. Com esse recurso, os jogadores podem retomar o jogo mais tarde.
- O jogo PRECISA aguardar
loadDataantes de chamarsaveData. SesaveDatafor chamado antes queloadDataseja concluído, a solicitação será rejeitada. Isso evita que o jogo substitua dados salvos anteriormente. - O jogo PRECISA conseguir usar dados de salvamento na nuvem de versões anteriores do jogo sem erros ou falhas.
- O jogo DEVE usar os dados de salvamento 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. Uma descarga final é realizada quando um usuário sai do jogo, mas é de 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 e o botão de desativar microfone do YouTube usando
isAudioEnabledeonAudioEnabledChange. - O jogo PRECISA respeitar o controle de volume do dispositivo.
- O som do jogo NÃO PODE ser reproduzido inesperadamente.
- Quando o mudo do YouTube está ativado, 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 mudo do YouTube não está definido, os controles de áudio do jogo PODEM afetar a saída de áudio.
- O jogo NÃO PODE mostrar um botão de desativar microfone geral no próprio jogo. Os usuários precisam usar os recursos do YouTube para isso.
- O jogo PODE ter controles de áudio granulares separados, como para música e efeitos sonoros, mas PRECISA seguir todos os outros requisitos de controle de áudio.
6 Pausar e retomar
O SDK Playables oferece callbacks para recursos de pausa e retomada multiplataforma.
- O jogo PRECISA pausar toda a execução depois que
onPauseé chamado e PRECISA retomar a execução somente quandoonResumeé chamado. A execução inclui todos os recursos jogáveis, 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 o SDK Playables
onPauseeonResume. - O jogo DEVE salvar o progresso do usuário quando
onPauseocorrer.