Referência do SDK da Sala de jogos do YouTube


ytgame

O namespace de nível superior do SDK Playables do YouTube.

Esta é uma variável de escopo global na janela atual. NÃO É PERMITIDO substituir essa variável.
Namespaces
ads
🧪 API DE PRÉ-LANÇAMENTO PÚBLICA: SUJEITA A MUDANÇAS SEM AVISO PRÉVIO.
engagement
As funções e propriedades relacionadas ao engajamento do jogador.
game
As funções e propriedades relacionadas a comportamentos genéricos do jogo.
health
As funções e propriedades relacionadas à integridade do jogo.
system
As funções e propriedades relacionadas ao sistema do YouTube.
Enumerações
SdkErrorType
Os tipos de erros que o SDK do YouTube Playables gera.
Classes
SdkError
O objeto de erro que o SDK Playables do YouTube gera.
Variáveis
IN_PLAYABLES_ENV
Indica se o jogo está sendo executado no ambiente Playables.
SDK_VERSION
A versão do SDK da Sala de jogos do YouTube.
Consulte também

Enumerações


Const SdkErrorType

SdkErrorType
Os tipos de erros que o SDK do YouTube Playables gera.
Membros da enumeração
API_UNAVAILABLE
A API estava temporariamente indisponível.

Peça aos jogadores para tentar novamente mais tarde se eles estiverem em um fluxo crítico.
INVALID_PARAMS
A API foi chamada com parâmetros inválidos.
SIZE_LIMIT_EXCEEDED
A API foi chamada com parâmetros que excedem o limite de tamanho.
UNKNOWN
O tipo de erro é desconhecido.

Variáveis


Const IN_PLAYABLES_ENV

IN_PLAYABLES_ENV: boolean
Indica se o jogo está sendo executado no ambiente Playables. Você pode usar isso para determinar se vai ativar ou desativar recursos que estão disponíveis apenas na Sala de jogos. Combine essa verificação com a verificação de ytgame para garantir que o SDK seja realmente carregado.
Exemplo
const inPlayablesEnv = typeof ytgame !== "undefined" && ytgame.IN_PLAYABLES_ENV;
// An example of where you may want to fork behavior for saving data.
if (ytgame?.IN_PLAYABLES_ENV) {
  ytgame.game.saveData(dataStr);
} else {
  window.localStorage.setItem("SAVE_DATA", dataStr);
}

Const SDK_VERSION

SDK_VERSION: string
A versão do SDK da Sala de jogos do YouTube.
Exemplo
// Prints the SDK version to console. Do not do this in production.
console.log(ytgame.SDK_VERSION);

ytgame.SdkError

Estendido Error
O objeto de erro gerado pelo SDK Playables do YouTube.

O objeto SdkError é filho de Error e contém um campo adicional.
Construtores
constructor
Propriedades
errorType
O tipo de erro.
message
name
stack?

Propriedades


errorType

errorType: SdkErrorType
O tipo de erro.

ytgame.ads

🧪 API DE ACESSO ANTECIPADO PÚBLICA: SUJEITA A MUDANÇAS SEM AVISO PRÉVIO.

As funções e propriedades relacionadas aos anúncios.
Funções
requestInterstitialAd
Solicita que um anúncio intersticial seja mostrado.

Funções


requestInterstitialAd

requestInterstitialAd(): Promise<void>
Experimental Solicita a exibição de um anúncio intersticial.

🧪 API PUBLIC PREVIEW: SUJEITA A MUDANÇAS SEM AVISO PRÉVIO.

Não garante que o anúncio foi exibido.
Exemplo
try {
  await ytgame.ads.requestInterstitialAd();
  // Ad request successful, do something else.
} catch (error) {
  // Handle errors, retry logic, etc.
  // Note that error may be undefined.
}
Retorna
Promise<void> uma promessa que é resolvida em uma solicitação bem-sucedida ou rejeita/dispara em uma solicitação sem êxito.

ytgame.engagement

As funções e propriedades relacionadas ao engajamento do jogador.
Interfaces
Content
O objeto de conteúdo que o jogo envia para o YouTube.
Score
O objeto de pontuação que o jogo envia para o YouTube.
Funções
openYTContent
Solicita ao YouTube que abra o conteúdo correspondente ao ID do vídeo fornecido.
sendScore
Envia uma pontuação para o YouTube.

Funções


openYTContent

openYTContent(content: Content): Promise<void>
Solicita ao YouTube que abra o conteúdo correspondente ao ID do vídeo fornecido.

Geralmente, isso abre o vídeo em uma nova guia na Web e no miniplayer no dispositivo móvel.
Exemplo
async function showVideo(videoID: string) {
  try {
    await ytgame.engagement.openYTContent({ id: videoID });
    // Request successful, do something else.
  } catch (error) {
    // Handle errors, retry logic, etc.
    // Note that error may be undefined.
  }
}
Parâmetros
content: Content o conteúdo para abrir no YouTube.
Retorna
Promise<void> Uma promessa que é resolvida quando bem-sucedida e rejeita/lança com um ytgame.SdkError quando falha.

sendScore

sendScore(score: Score): Promise<void>
Envia uma pontuação para o YouTube.

A pontuação precisa representar uma dimensão do progresso no jogo. Se houver várias dimensões, o desenvolvedor precisará escolher uma para manter a consistência. As pontuações serão classificadas, e a maior delas será exibida na interface do YouTube. Assim, qualquer interface de pontuação alta no jogo precisa estar alinhada ao que está sendo enviado por essa API.
Exemplo
async function onScoreAwarded(score: number) {
  try {
    await ytgame.engagement.sendScore({ value: score });
    // Score sent successfully, do something else.
  } catch (error) {
    // Handle errors, retry logic, etc.
    // Note that error may be undefined.
  }
}
Parâmetros
score: Score a pontuação a ser enviada ao YouTube.
Retorna
Promise<void> Uma promessa que é resolvida quando bem-sucedida e rejeita/lança com um ytgame.SdkError quando falha.

ytgame.engagement.Content

O objeto de conteúdo que o jogo envia para o YouTube.
Propriedades
id
O ID do vídeo que queremos abrir.

Propriedades


id

id: string
O ID do vídeo que queremos abrir.

ytgame.engagement.Score

O objeto de pontuação que o jogo envia para o YouTube.
Propriedades
value
O valor da pontuação expresso como um número inteiro.

Propriedades


value

value: number
O valor da pontuação expresso como um número inteiro. A pontuação precisa ser menor ou igual ao número inteiro seguro máximo. Caso contrário, a pontuação será rejeitada.

ytgame.game

As funções e propriedades relacionadas a comportamentos genéricos do jogo.
Funções
firstFrameReady
Notifica o YouTube de que o jogo começou a mostrar frames.
gameReady
Notifica o YouTube de que o jogo está pronto para interação dos jogadores.
loadData
Carrega dados do jogo do YouTube na forma de uma string serializada.
saveData
Salva dados do jogo no YouTube na forma de uma string serializada.

Funções


firstFrameReady

firstFrameReady(): void
Notifica o YouTube de que o jogo começou a mostrar frames.

O jogo MUST chamar essa API. Caso contrário, o jogo não será mostrado aos usuários. firstFrameReady() MUST ser chamado antes de gameReady().
Exemplo
function onGameInitialized() {
  ytgame.game.firstFrameReady();
}

gameReady

gameReady(): void
Notifica o YouTube de que o jogo está pronto para interação com os jogadores.

O jogo MUST chamar essa API quando ele estiver pronto para interação. O jogo NÃO PODE chamar essa API quando uma tela de carregamento ainda estiver sendo exibida. Caso contrário, o jogo não vai passar no processo de certificação do YouTube.
Exemplo
function onGameInteractable() {
  ytgame.game.gameReady();
}

loadData

loadData(): Promise<string>
Carrega dados do jogo do YouTube na forma de uma string serializada.

O jogo precisa processar qualquer análise entre a string e um formato interno.
Exemplo
async function gameSetup() {
  try {
    const data = await ytgame.game.loadData();
    // Load succeeded, do something with data.
  } catch (error) {
    // Handle errors, retry logic, etc.
    // Note that error may be undefined.
  }
}
Retorna
Promise<string> Uma promessa que é concluída quando o carregamento é concluído e é recusada com um ytgame.SdkError quando falha.

saveData

saveData(data: string): Promise<void>
Salva dados do jogo no YouTube na forma de uma string serializada.

A string precisa ser uma string UTF-16 válida e bem formada, com um máximo de 3 MiB. O jogo precisa processar qualquer análise entre a string e um formato interno. Se necessário, use String.isWellFormed() para verificar se a string está formatada corretamente.
Exemplo
async function saveGame() {
  try {
    ytgame.game.saveData(JSON.stringify(gameSave));
    // Save succeeded.
  } catch (error) {
    // Handle errors, retry logic, etc.
    // Note that error may be undefined.
  }
}
Parâmetros
data: string
Retorna
Promise<void> Uma promessa que é resolvida quando a gravação é bem-sucedida e é recusada com um ytgame.SdkError quando falha.

ytgame.health

As funções e propriedades relacionadas à integridade do jogo.
Funções
logError
Registra um erro no YouTube.
logWarning
Registra um aviso no YouTube.

Funções


logError

logError(): void
Registra um erro no YouTube.

Observação:essa API é de melhor esforço e tem limite de taxa, o que pode resultar na perda de dados.
Exemplo
function onError() {
  ytgame.health.logError();
}

logWarning

logWarning(): void
Registra um aviso no YouTube.

Observação:essa API é de esforço máximo e tem limite de taxa, o que pode resultar na perda de dados.
Exemplo
function onWarning() {
  ytgame.health.logWarning();
}

ytgame.system

As funções e propriedades relacionadas ao sistema do YouTube.
Funções
getLanguage
Retorna o idioma definido nas configurações do YouTube do usuário na forma de uma tag de idioma BCP-47.
isAudioEnabled
Retorna se o áudio do jogo está ativado nas configurações do YouTube.
onAudioEnabledChange
Define um callback para ser acionado quando o evento de mudança de configurações de áudio for disparado pelo YouTube.
onPause
Define um callback para ser acionado quando um evento de pausa do jogo for disparado pelo YouTube.
onResume
Define um callback para ser acionado quando um evento de retomada do jogo for acionado pelo YouTube.

Funções


getLanguage

getLanguage(): Promise<string>
Retorna o idioma definido nas configurações do YouTube do usuário na forma de uma tag de idioma BCP-47.

Não use outras funções para determinar o idioma ou a localidade do usuário ou para armazenar a preferência de idioma na gravação na nuvem. Em vez disso, use essa função para garantir que a experiência do usuário seja consistente no YouTube.
Exemplo
const localeTag = await ytgame.system.getLanguage();
// `localeTag` is now set to something like "en-US" or "es-419".
Retorna
Promise<string> Uma promessa que é concluída quando a linguagem é concluída e recusada com uma ytgame.SdkError quando falha.

isAudioEnabled

isAudioEnabled(): boolean
Retorna se o áudio do jogo está ativado nas configurações do YouTube.

O jogo PRECISA usar isso para inicializar o estado do áudio do jogo.
Exemplo
function initGameSound() {
  if (ytgame.system.isAudioEnabled()) {
    // Enable game audio.
  } else {
    // Disable game audio.
  }
}
Retorna
boolean um booleano que indica se o áudio está ativado.

onAudioEnabledChange

onAudioEnabledChange(callback: ((isAudioEnabled: boolean) => void)): (() => void)
Define um callback para ser acionado quando o evento de mudança de configurações de áudio for acionado pelo YouTube.

O jogo MUST usar essa API para atualizar o estado do áudio.
Exemplo
ytgame.system.onAudioEnabledChange((isAudioEnabled) => {
  if (isAudioEnabled) {
    // Enable game audio.
  } else {
    // Disable game audio.
  }
});
Parâmetros
callback: ((isAudioEnabled: boolean) => void) a função de callback a ser acionada.
Retorna
(() => void) uma função para redefinir o callback que geralmente não é usado.

onPause

onPause(callback: (() => void)): (() => void)
Define um callback para ser acionado quando um evento de pausa do jogo for disparado pelo YouTube. O jogo tem uma janela curta para salvar qualquer estado antes de ser removido.

onPause é chamado para todos os tipos de pausas, incluindo quando o usuário sai do jogo. Não há garantia de que o jogo será retomado.
Exemplo
ytgame.system.onPause(() => {
  pauseGame();
});

function pauseGame() {
  // Logic to pause game state.
}
Parâmetros
callback: (() => void) a função de callback a ser acionada.
Retorna
(() => void) uma função para redefinir o callback que geralmente não é usado.

onResume

onResume(callback: (() => void)): (() => void)
Define um callback para ser acionado quando um evento de retomada do jogo for acionado pelo YouTube.

Depois de ser pausado, não há garantia de que o jogo será retomado.
Exemplo
ytgame.system.onResume(() => {
  resumeGame();
});

function resumeGame() {
  // Logic to resume game state.
}
Parâmetros
callback: (() => void) a função de callback a ser acionada.
Retorna
(() => void) uma função para redefinir o callback que normalmente não é usado.