Referência do SDK da Sala de jogos do YouTube


ytgame

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

Essa é uma variável de escopo global na janela atual. Você NÃO PODE substituir essa variável.
Namespaces
ads
As funções e propriedades relacionadas a anúncios.
engagement
As funções e propriedades relacionadas ao engajamento do jogador.
game
As funções e propriedades relacionadas a comportamentos genéricos de jogos.
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 da Sala de jogos do YouTube gera.
Classes
SdkError
O objeto de erro gerado pelo SDK da Sala de jogos do YouTube.
Variáveis
IN_PLAYABLES_ENV
Indica se o jogo está sendo executado no ambiente do 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 da Sala de jogos do YouTube gera.
Membros da enumeração
API_UNAVAILABLE
A API ficou temporariamente indisponível.

Peça aos jogadores para tentar de novo mais tarde se 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 da Sala de Jogos. Você pode usar isso para determinar se deve ativar ou desativar recursos que estão disponíveis apenas na Sala de jogos. Combine essa verificação com a de ytgame para garantir que o SDK seja 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 do YouTube Playables.
Exemplo
// Prints the SDK version to console. Do not do this in production.
console.log(ytgame.SDK_VERSION);

ytgame.SdkError

Extends Error
O objeto de erro gerado pelo SDK da Sala de jogos do YouTube.

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

Propriedades


errorType

errorType: SdkErrorType
O tipo do erro.

ytgame.ads

As funções e propriedades relacionadas a anúncios.
Funções
requestInterstitialAd
Solicita a exibição de um anúncio intersticial.
requestRewardedAd
Solicita que um anúncio premiado seja mostrado para um tipo específico de recompensa.

Funções


requestInterstitialAd

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

Não garante que o anúncio foi mostrado. Não use essa API para recompensar jogadores por assistir um anúncio.
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/gera uma exceção em uma solicitação sem êxito.

requestRewardedAd

requestRewardedAd(rewardId: string): Promise<boolean>
Solicita que um anúncio premiado seja mostrado para um tipo de recompensa específico.

Não faz garantias sobre se o anúncio foi mostrado.
Exemplo
try {
  const isRewardEarned = await ytgame.ads.requestRewardedAd("reward-123");
  // Handle reward being earned or not.
} catch (error) {
  // Handle errors, retry logic, etc.
  // Note that error may be undefined.
}
Parâmetros
rewardId: string Obrigatório. Um identificador que identifica exclusivamente o tipo de recompensa resgatável. Use um ID exclusivo para cada tipo de recompensa e reutilize o mesmo ID sempre que esse tipo específico for oferecido. Por exemplo, você pode tornar o ID legível ou um UUID. Você pode incluir isso como um ID codificado no código do jogo para a recompensa específica. Nossos únicos requisitos são que você forneça um ID e que ele não contenha dados do usuário. Exemplo:
  • 100-coins-reward-12: "100 moedas"
  • 7defcfa2-4312-4893-a13a-a84e0c47a4df - "3 vidas"
  • 121b001a-0c25-4289-88f6-58e3620d938f - "Pular nível"
Retorna
Promise<boolean> Uma promessa que é resolvida em uma solicitação bem-sucedida com o valor "true" se o usuário atender às condições para receber uma recompensa ou "false" se não atender. A promessa rejeita/gera uma exceção em uma solicitação sem êxito.

ytgame.engagement

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

Enumerações


Const ContentType

ContentType
Os possíveis tipos de conteúdo.
Membros da enumeração
PLAYABLE
Um jogo da Sala de jogos do YouTube.
VIDEO
É um vídeo do YouTube.

Funções


openYTContent

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

Geralmente, isso abre o conteúdo em uma nova guia na Web. Em dispositivos móveis, um vídeo será aberto no miniplayer e um conteúdo jogável vai substituir o que está aberto no momento.
Exemplo
// Open a video.
async function showVideo(videoID: string) {
  try {
    await ytgame.engagement.openYTContent({
      id: videoID,
      contentType: ytgame.engagement.ContentType.VIDEO,
    });
    // Request successful, content may have opened.
  } catch (error) {
    // Handle errors, retry logic, etc.
    // Note that error may be undefined.
  }
}

// Open a Playable.
async function openDifferentPlayable(playableID: string) {
  try {
    await ytgame.engagement.openYTContent({
      id: playableID,
      contentType: ytgame.engagement.ContentType.PLAYABLE,
    });
    // Request successful, content may have opened.
    // On mobile, the new Playable will replace the current one.
  } catch (error) {
    // Handle errors, retry logic, etc.
    // Note that error may be undefined.
  }
}
Parâmetros
content: Content para abrir o conteúdo no YouTube.
Retorna
Promise<void> Uma promessa que é resolvida quando a operação é bem-sucedida e rejeita/gera 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 ordenadas, e a maior pontuação será exibida na interface do YouTube. Portanto, qualquer interface de maior pontuação no jogo precisa estar alinhada com o que está sendo enviado pela 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 a operação é bem-sucedida e rejeita/gera um ytgame.SdkError quando falha.

ytgame.engagement.Content

O objeto de conteúdo que o jogo envia ao YouTube.
Propriedades
contentType?
O tipo de conteúdo a ser aberto.
id
O ID do conteúdo que queremos abrir.

Propriedades


Optional contentType

contentType?: ContentType
O tipo de conteúdo a ser aberto. Precisa ser fornecido, mas, se não for, VIDEO será presumido.

id

id: string
O ID do conteúdo que queremos abrir.

ytgame.engagement.Score

O objeto de pontuação que o jogo envia ao 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 de jogos.
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 PRECISA chamar essa API. Caso contrário, o jogo não será mostrado aos usuários. firstFrameReady() PRECISA 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 dos jogadores.

O jogo PRECISA chamar essa API quando estiver interativo. O jogo NÃO PODE chamar essa API quando uma tela de carregamento ainda estiver sendo mostrada. 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 é bem-sucedido e é rejeitada 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á bem formada.
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 o salvamento é bem-sucedido e rejeitada 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 em perda de dados.
Exemplo
function onError() {
  ytgame.health.logError();
}

logWarning

logWarning(): void
Registra um aviso no YouTube.

Observação:essa API é de melhor esforço e tem limitação de taxa, o que pode resultar em 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 nas configurações de áudio for disparado pelo YouTube.
onPause
Define um callback que será acionado quando um evento de pausa do jogo for disparado no YouTube.
onResume
Define um callback para ser acionado quando um evento de retomada de jogo é disparado no 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 nem armazene a preferência de idioma dele no salvamento na nuvem. Em vez disso, use esta função para garantir que a experiência do usuário seja consistente em todo o 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 recuperação do idioma é bem-sucedida e é rejeitada com um ytgame.SdkError quando falha.

isAudioEnabled

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

O jogo DEVE 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 nas configurações de áudio for disparado pelo YouTube.

O jogo PRECISA usar essa API para atualizar o estado de áudio do jogo.
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 cancelar a definição do callback, que geralmente não é usada.

onPause

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

onPause é chamado para todos os tipos de pausas, inclusive 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 cancelar a definição do callback, que geralmente não é usada.

onResume

onResume(callback: (() => void)): (() => void)
Define um callback para ser acionado quando um evento de retomada de jogo é disparado do 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 cancelar a definição do callback, que geralmente não é usada.