Requisitos para la integración

Esta sección trata sobre la integración entre la Sala de juegos y la plataforma de YouTube SDK de la Sala de juegos.

1 Cargar SDK de la Sala de juegos

2 Notificación para el juego listo

  • El juego DEBE llamar a firstFrameReady cuando esté renderizando una una pantalla de carga o de presentación que se comunique explícitamente con el usuario de que el proceso de carga está en marcha.
  • El juego DEBE llamar a gameReady y DEBE solo llamar a gameReady cuando El juego está listo para que el usuario interactúe (por ejemplo, el menú principal o el juego está listo) para jugar).
  • El juego NO DEBE llamar a gameReady mientras todavía no se pueda interactuar. elementos que se muestran al usuario (por ejemplo: pantallas de presentación o pantallas).

YouTube no quita el ícono giratorio de carga. hasta que se llame a esta API.

3 puntuaciones de usuarios

  • El juego PUEDEN usar sendScore para enviar la puntuación del usuario.
  • Si el juego usa sendScore para enviar las puntuaciones, DEBE cumplir con la especificación sendScore y DEBE garantizar que se envíe la mejor puntuación coincide con el mejor resultado en la partida.

4 almacenamiento en la nube

  • El juego DEBE llamar a saveData para guardar el progreso cuando los usuarios lo hayan hecho. progreso significativo del juego (por ejemplo, un cambio de nivel) mecánica básica hacen creer al usuario que su progreso se ha guardado.
  • El juego NO DEBE usar ningún otro mecanismo para guardar el progreso del usuario. Esta les permite a los jugadores reanudar el juego más adelante.
  • El juego DEBE esperar loadData antes de llamar a saveData. Si Se llama a saveData antes de que loadData se complete correctamente, el se rechazará la solicitud. Esto evita que el juego reemplace datos guardados anteriormente.
  • El juego DEBE usar los datos guardados en la nube de versiones anteriores el juego sin errores ni fallas.
  • El juego DEBE usar los datos de almacenamiento en la nube para mantener el progreso del usuario en todos versiones del juego en las que el usuario esperaría que se usaran sus datos.
  • Los juegos DEBEN guardar automáticamente el progreso del usuario en un juego importante hitos para evitar la pérdida de datos. Se realiza un guardado de limpieza final cuando un usuario Cierra el juego, pero es el mejor esfuerzo y solo puede ahorrar hasta 64 KiB en contenido duración.

5 Botón de activación para silenciar

  • El juego DEBE respetar la configuración de audio del sistema y el botón para silenciar.
  • El juego DEBE respetar la configuración de audio de YouTube y el botón para silenciar mediante isAudioEnabled y onAudioEnabledChange.
  • El juego DEBE respetar el control de volumen del dispositivo.
  • El sonido del juego NO DEBE reproducirse de forma inesperada.
  • Cuando se configura el sonido de YouTube, NO DEBE emitir el audio, sino también el audio del juego. controles NO DEBEN afectar la salida de audio.
  • Cuando no se configura YouTube para silenciar, los controles de audio del juego PUEDEN afectar el audio salida.
  • El juego NO DEBE mostrar un botón de silencio general dentro del juego en sí. permitir que los usuarios confíen en las funciones de YouTube para esto.
  • El juego PUEDE tener controles de audio detallados separados, por ejemplo, para música y efectos de sonido, pero DEBEN seguir todos los demás controles de audio y los requisitos de cumplimiento.

Diferentes parámetros de configuración de audio para el fondo, sfx,
diálogos

6 Pausar y reanudar

El SDK de la Sala de juegos proporciona devoluciones de llamada que proporcionan pausas multiplataforma y y currículum vitae.

  • El juego DEBE pausar toda la ejecución después de que se llame a onPause y DEBE reanudar la ejecución solo cuando se llame a onResume La ejecución incluye todas Funciones reproducibles, como bucle de juego, música, interacciones y redes las llamadas y la renderización.
  • El juego NO DEBE usar la API de Page Visibility o APIs web similares. DEBE usar solo el SDK de la Sala de juegos onPause y onResume.
  • El juego DEBE guardar el progreso del usuario cuando se activa onPause.