Referencia del SDK de la Sala de juegos de YouTube


ytgame

Es el espacio de nombres de nivel superior para el SDK de YouTube Playables.

Esta es una variable con alcance global en la ventana actual. NO DEBES anular esta variable.
Espacios de nombres
ads
🧪 API EN VISTA PREVIA PÚBLICA: SUJETA A CAMBIOS SIN PREVIO AVISO.
engagement
Son las funciones y propiedades relacionadas con la participación de los jugadores.
game
Son las funciones y propiedades relacionadas con los comportamientos genéricos del juego.
health
Son las funciones y propiedades relacionadas con el estado del juego.
system
Son las funciones y propiedades relacionadas con el sistema de YouTube.
Enumeraciones
SdkErrorType
Son los tipos de errores que arroja el SDK de Sala de juegos de YouTube.
Clases
SdkError
Es el objeto de error que arroja el SDK de YouTube Playables.
Variables
IN_PLAYABLES_ENV
Indica si el juego se ejecuta o no en el entorno de la Sala de juegos.
SDK_VERSION
Es la versión del SDK de la Sala de juegos de YouTube.
Consulta también

Enumeraciones


Const SdkErrorType

SdkErrorType
Son los tipos de errores que arroja el SDK de Sala de juegos de YouTube.
Miembros de la enumeración
API_UNAVAILABLE
La API no estuvo disponible temporalmente.

Pídeles a los jugadores que vuelvan a intentarlo más tarde si están en un flujo crítico.
INVALID_PARAMS
Se llamó a la API con parámetros no válidos.
SIZE_LIMIT_EXCEEDED
Se llamó a la API con parámetros que superan el límite de tamaño.
UNKNOWN
Se desconoce el tipo de error.

Variables


Const IN_PLAYABLES_ENV

IN_PLAYABLES_ENV: boolean
Indica si el juego se ejecuta o no en el entorno de la Sala de juegos. Puedes usar este valor para determinar si habilitar o inhabilitar funciones que solo están disponibles en la Sala de juegos. Combina esta verificación con la de ytgame para asegurarte de que el SDK se cargue correctamente.
Ejemplo
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
Es la versión del SDK de la Sala de juegos de YouTube.
Ejemplo
// Prints the SDK version to console. Do not do this in production.
console.log(ytgame.SDK_VERSION);

ytgame.SdkError

Extiende Error
Es el objeto de error que arroja el SDK de YouTube Playables.

El objeto SdkError es secundario de Error y contiene un campo adicional.
Constructores
constructor
Propiedades
errorType
Es el tipo de error.
message
name
stack?

Propiedades


errorType

errorType: SdkErrorType
Es el tipo de error.

ytgame.ads

🧪 API DE VERSIÓN PRELIMINAR PÚBLICA: SUJETA A CAMBIOS SIN PREVIO AVISO.

Las funciones y las propiedades relacionadas con los anuncios.
Funciones
requestInterstitialAd
Solicita que se muestre un anuncio intersticial.
requestRewardedAd
Solicita que se muestre un anuncio recompensado para un tipo de recompensa en particular.

Funciones


requestInterstitialAd

requestInterstitialAd(): Promise<void>
Experimental Solicita que se muestre un anuncio intersticial.

🧪 API DE VERSIÓN PRELIMINAR PÚBLICA: SUJETA A CAMBIOS SIN PREVIO AVISO.

No garantiza si se mostró el anuncio. No uses esta API para recompensar a los jugadores por mirar un anuncio.
Ejemplo
try {
  await ytgame.ads.requestInterstitialAd();
  // Ad request successful, do something else.
} catch (error) {
  // Handle errors, retry logic, etc.
  // Note that error may be undefined.
}
Muestra
Promise<void> Una promesa que se resuelve en una solicitud exitosa o se rechaza/arroja en una solicitud no exitosa.

requestRewardedAd

requestRewardedAd(rewardId: string): Promise<boolean>
Experimental Solicita que se muestre un anuncio recompensado para un tipo de recompensa en particular.

🧪 API DE VERSIÓN PRELIMINAR PÚBLICA: SUJETA A CAMBIOS SIN PREVIO AVISO.

No garantiza si se mostró el anuncio.
Ejemplo
try {
  const isRewardEarned = await ytgame.ads.requestRewardedAd("21403813-2e22-4316-a8b2-7d4f52a6f6fb");
  // Handle reward being earned or not.
} catch (error) {
  // Handle errors, retry logic, etc.
  // Note that error may be undefined.
}
Parámetros
rewardId: string Obligatorio. Es un identificador que identifica de forma única el tipo de recompensa que se puede reclamar. Debes usar un ID único para cada tipo de recompensa y volver a usar el mismo ID cada vez que se ofrezca ese tipo de recompensa específico. Por ejemplo:
  • 21403813-2e22-4316-a8b2-7d4f52a6f6fb - "100 monedas"
  • 7defcfa2-4312-4893-a13a-a84e0c47a4df: "3 vidas"
  • 121b001a-0c25-4289-88f6-58e3620d938f: "Omitir nivel"
Muestra
Promise<boolean> Es una promesa que se resuelve en una solicitud exitosa con el valor verdadero si el usuario cumplió con las condiciones para recibir una recompensa o falso si no las cumplió. La promesa rechaza o arroja un error en una solicitud fallida.

ytgame.engagement

Son las funciones y propiedades relacionadas con la participación de los jugadores.
Interfaces
Score
Es el objeto de puntuación que el juego envía a YouTube.
Funciones
sendScore
Envía una puntuación a YouTube.

Funciones


sendScore

sendScore(score: Score): Promise<void>
Envía una puntuación a YouTube.

La puntuación debe representar una dimensión del progreso dentro del juego. Si hay varias dimensiones, el desarrollador debe elegir una dimensión para que sea coherente. Las puntuaciones se ordenarán y la más alta se mostrará en la IU de YouTube, por lo que cualquier IU de puntuación alta del juego debe alinearse con lo que se envía a través de esta API.
Ejemplo
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 La puntuación que se enviará a YouTube.
Muestra
Promise<void> Una promesa que se resuelve cuando se completa correctamente y se rechaza o arroja un ytgame.SdkError cuando falla.

ytgame.engagement.Score

Es el objeto de puntuación que el juego envía a YouTube.
Propiedades
value
Es el valor de la puntuación expresado como un número entero.

Propiedades


value

value: number
Es el valor de la puntuación expresado como un número entero. La puntuación debe ser menor o igual que el número entero seguro máximo. De lo contrario, se rechazará la puntuación.

ytgame.game

Son las funciones y propiedades relacionadas con los comportamientos genéricos del juego.
Funciones
firstFrameReady
Notifica a YouTube que el juego comenzó a mostrar fotogramas.
gameReady
Notifica a YouTube que el juego está listo para que los jugadores interactúen con él.
loadData
Carga datos del juego desde YouTube en forma de una cadena serializada.
saveData
Guarda los datos del juego en YouTube en forma de una cadena serializada.

Funciones


firstFrameReady

firstFrameReady(): void
Notifica a YouTube que el juego comenzó a mostrar fotogramas.

El juego DEBE llamar a esta API. De lo contrario, el juego no se mostrará a los usuarios. Se DEBE llamar a firstFrameReady() antes de gameReady().
Ejemplo
function onGameInitialized() {
  ytgame.game.firstFrameReady();
}

gameReady

gameReady(): void
Notifica a YouTube que el juego está listo para que los jugadores interactúen con él.

El juego DEBE llamar a esta API cuando se pueda interactuar con él. El juego NO DEBE llamar a esta API cuando aún se muestre una pantalla de carga. De lo contrario, el juego no superará el proceso de certificación de YouTube.
Ejemplo
function onGameInteractable() {
  ytgame.game.gameReady();
}

loadData

loadData(): Promise<string>
Carga datos del juego desde YouTube en forma de una cadena serializada.

El juego debe controlar cualquier análisis entre la cadena y un formato interno.
Ejemplo
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.
  }
}
Muestra
Promise<string> Una promesa que se completa cuando la carga se realiza correctamente y se rechaza con un ytgame.SdkError cuando falla.

saveData

saveData(data: string): Promise<void>
Guarda los datos del juego en YouTube en forma de una cadena serializada.

La cadena debe ser una cadena UTF-16 válida y bien formada, y tener un tamaño máximo de 3 MiB. El juego debe controlar cualquier análisis entre la cadena y un formato interno. Si es necesario, usa String.isWellFormed() para verificar si la cadena está bien formada.
Ejemplo
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
Muestra
Promise<void> Una promesa que se resuelve cuando se guarda correctamente y se rechaza con un ytgame.SdkError cuando falla.

ytgame.health

Son las funciones y propiedades relacionadas con el estado del juego.
Funciones
logError
Registra un error en YouTube.
logWarning
Registra una advertencia en YouTube.

Funciones


logError

logError(): void
Registra un error en YouTube.

Nota: Esta API se esfuerza por brindar el mejor servicio posible y tiene un límite de frecuencia, lo que puede provocar la pérdida de datos.
Ejemplo
function onError() {
  ytgame.health.logError();
}

logWarning

logWarning(): void
Registra una advertencia en YouTube.

Nota: Esta API se esfuerza por brindar el mejor servicio posible y tiene un límite de frecuencia, lo que puede provocar la pérdida de datos.
Ejemplo
function onWarning() {
  ytgame.health.logWarning();
}

ytgame.system

Son las funciones y propiedades relacionadas con el sistema de YouTube.
Funciones
getLanguage
Devuelve el idioma que se configuró en la configuración de YouTube del usuario en forma de una etiqueta de idioma BCP-47.
isAudioEnabled
Devuelve un valor que indica si el audio del juego está habilitado en la configuración de YouTube.
onAudioEnabledChange
Establece una devolución de llamada que se activará cuando se active el evento de cambio de configuración de audio desde YouTube.
onPause
Establece una devolución de llamada que se activará cuando se active un evento de pausa del juego desde YouTube.
onResume
Establece una devolución de llamada que se activará cuando se active un evento de reanudación del juego desde YouTube.

Funciones


getLanguage

getLanguage(): Promise<string>
Devuelve el idioma que se configuró en la configuración de YouTube del usuario en forma de una etiqueta de idioma BCP-47.

No uses otras funciones para determinar el idioma o la configuración regional del usuario, ni almacenes su preferencia de idioma en el almacenamiento en la nube. En su lugar, usa esta función para garantizar que la experiencia del usuario sea coherente en todo YouTube.
Ejemplo
const localeTag = await ytgame.system.getLanguage();
// `localeTag` is now set to something like "en-US" or "es-419".
Muestra
Promise<string> Una promesa que se completa cuando se obtiene el idioma correctamente y se rechaza con un ytgame.SdkError cuando falla.

isAudioEnabled

isAudioEnabled(): boolean
Devuelve si el audio del juego está habilitado en la configuración de YouTube.

El juego DEBE usar este valor para inicializar el estado del audio del juego.
Ejemplo
function initGameSound() {
  if (ytgame.system.isAudioEnabled()) {
    // Enable game audio.
  } else {
    // Disable game audio.
  }
}
Muestra
boolean Un valor booleano que indica si el audio está habilitado.

onAudioEnabledChange

onAudioEnabledChange(callback: ((isAudioEnabled: boolean) => void)): (() => void)
Establece una devolución de llamada que se activará cuando se active el evento de cambio de configuración de audio desde YouTube.

El juego DEBE usar esta API para actualizar el estado de audio del juego.
Ejemplo
ytgame.system.onAudioEnabledChange((isAudioEnabled) => {
  if (isAudioEnabled) {
    // Enable game audio.
  } else {
    // Disable game audio.
  }
});
Parámetros
callback: ((isAudioEnabled: boolean) => void) Es la función de devolución de llamada que se activará.
Muestra
(() => void) Una función para anular el establecimiento de la devolución de llamada que, por lo general, no se usa.

onPause

onPause(callback: (() => void)): (() => void)
Establece una devolución de llamada que se activará cuando se active un evento de pausa del juego desde YouTube. El juego tiene un período breve para guardar cualquier estado antes de que se expulse.

Se llama a onPause para todos los tipos de pausas, incluso cuando el usuario sale del juego. No hay garantía de que el juego se reanudará.
Ejemplo
ytgame.system.onPause(() => {
  pauseGame();
});

function pauseGame() {
  // Logic to pause game state.
}
Parámetros
callback: (() => void) Es la función de devolución de llamada que se activará.
Muestra
(() => void) Una función para anular el establecimiento de la devolución de llamada que, por lo general, no se usa.

onResume

onResume(callback: (() => void)): (() => void)
Establece una devolución de llamada que se activará cuando se active un evento de reanudación del juego desde YouTube.

Después de pausarse, no se garantiza que se reanude el juego.
Ejemplo
ytgame.system.onResume(() => {
  resumeGame();
});

function resumeGame() {
  // Logic to resume game state.
}
Parámetros
callback: (() => void) Es la función de devolución de llamada que se activará.
Muestra
(() => void) Una función para anular el establecimiento de la devolución de llamada que, por lo general, no se usa.