Referencia del SDK de la Sala de juegos de YouTube


ytgame

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

Esta es una variable de alcance global en la ventana actual. NO DEBES anular esta variable.
Espacios de nombres
ads
🧪 API DE VISTA PREVIA PÚBLICA: SUJETA A CAMBIOS SIN AVISO.
engagement
Las funciones y propiedades relacionadas con la participación de los jugadores.
game
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 YouTube Playables.
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 Playables.
SDK_VERSION
La versión del SDK de Sala de juegos de YouTube
Consulta también

Enumeraciones


Const SdkErrorType

SdkErrorType
Son los tipos de errores que arroja el SDK de YouTube Playables.
Miembros de enumeración
API_UNAVAILABLE
La API no estaba disponible temporalmente.

Pídeles a los jugadores que vuelvan a intentarlo más adelante 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 superaban 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 Playables. Puedes usar esto para determinar si habilitar o inhabilitar funciones que solo están disponibles en la Sala de juegos. Combina esta verificación con la búsqueda 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
La versión del SDK de 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 un elemento 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.

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.
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 correcta o rechaza o arroja una solicitud que no se pudo completar.

ytgame.engagement

Las funciones y propiedades relacionadas con la participación de los jugadores.
Interfaces
Content
Es el objeto de contenido que el juego envía a YouTube.
Score
Es el objeto de puntuación que el juego envía a YouTube.
Funciones
openYTContent
Le solicita a YouTube que abra el contenido correspondiente al ID de video proporcionado.
sendScore
Envía una puntuación a YouTube.

Funciones


openYTContent

openYTContent(content: Content): Promise<void>
Le solicita a YouTube que abra el contenido correspondiente al ID de video proporcionado.

Por lo general, el video se abrirá en una pestaña nueva en la Web y en el minireproductor en dispositivos móviles.
Ejemplo
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 el contenido que se abrirá en YouTube.
Muestra
Promise<void> Una promesa que se resuelve cuando se realiza correctamente y se rechaza o arroja con un ytgame.SdkError cuando falla.

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 para que sea coherente. Las puntuaciones se ordenarán y la más alta se mostrará en la IU de YouTube, de modo que cualquier IU de puntuación alta en el 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 realiza correctamente y se rechaza o arroja con un ytgame.SdkError cuando falla.

ytgame.engagement.Content

Es el objeto de contenido que el juego envía a YouTube.
Propiedades
id
El ID del video que queremos abrir

Propiedades


id

id: string
El ID del video que queremos abrir

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

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 de juegos de 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 MUST llamar a esta API. De lo contrario, el juego no se mostrará a los usuarios. MUST 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 MUST llamar a esta API cuando sea interactivo. El juego NO DEBE llamar a esta API cuando todavía se muestra una pantalla de carga. De lo contrario, el juego no aprobará el proceso de certificación de YouTube.
Ejemplo
function onGameInteractable() {
  ytgame.game.gameReady();
}

loadData

loadData(): Promise<string>
Carga datos de juegos de 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 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 tiene el formato correcto.
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 es de mejor esfuerzo 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 es de mejor esfuerzo 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
Muestra el idioma que se estableció en la configuración de YouTube del usuario en forma de una etiqueta de idioma BCP-47.
isAudioEnabled
Muestra si el audio del juego está habilitado en la configuración de YouTube.
onAudioEnabledChange
Establece una devolución de llamada para que se active 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 para que se active cuando se active un evento de reanudación del juego desde YouTube.

Funciones


getLanguage

getLanguage(): Promise<string>
Muestra el idioma que se estableció 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 la copia de seguridad en la nube. En su lugar, usa esta función para garantizar que la experiencia del usuario sea coherente en 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 una ytgame.SdkError cuando falla.

isAudioEnabled

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

El juego DEBE usar esto 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 MUST 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) la función de devolución de llamada que se activará
Muestra
(() => void) una función para restablecer la devolución de llamada que 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 elimine.

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) la función de devolución de llamada que se activará
Muestra
(() => void) una función para restablecer la devolución de llamada que 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 la pausa, no se garantiza que se reanude el juego.
Ejemplo
ytgame.system.onResume(() => {
  resumeGame();
});

function resumeGame() {
  // Logic to resume game state.
}
Parámetros
callback: (() => void) la función de devolución de llamada que se activará
Muestra
(() => void) una función para restablecer la devolución de llamada que no se usa.