Requisiti di integrazione

Questa sezione descrive l'integrazione tra la Sala giochi e l'SDK YouTube Playables.

1 Carica l'SDK Playables

2 Notifica Gioco pronto

  • Il gioco DEVE chiamare firstFrameReady quando esegue il rendering di una schermata di caricamento o iniziale che comunica esplicitamente all'utente che il processo di caricamento è in corso.
  • Il gioco DEVE chiamare gameReady e DEVE chiamare gameReady solo quando è pronto per l'interazione utente (ad esempio, il menu principale o il gioco è pronto per essere giocato).
  • Il gioco NON DEVE chiamare gameReady mentre all'utente vengono ancora visualizzati elementi non interattivi (ad esempio schermate iniziali o di caricamento).

YouTube non rimuove l'"indicatore di caricamento" finché non viene chiamata questa API.

3 Punteggi utente

  • Il gioco POTREBBE utilizzare sendScore per inviare il punteggio dell'utente.
  • Se il gioco utilizza sendScore per inviare i punteggi, DEVE rispettare la specifica sendScore e DEVE garantire che il miglior punteggio inviato corrisponda al miglior punteggio nel salvataggio del gioco.

4 Salvataggi sul cloud

  • Il gioco DEVE chiamare saveData per salvare l'avanzamento quando gli utenti hanno compiuto un avanzamento significativo (ad esempio, un cambio di livello) in cui le meccaniche del gioco portano l'utente a credere che il suo avanzamento sia stato salvato.
  • Il gioco NON DEVE utilizzare altri meccanismi per salvare i progressi dell'utente. Questa funzionalità consente ai giocatori di riprendere il gioco in un secondo momento.
  • Il gioco DEVE attendere loadData prima di chiamare saveData. Se saveData viene chiamato prima del completamento di loadData, la richiesta verrà rifiutata. In questo modo, il gioco non sovrascriverà i dati salvati in precedenza.
  • Il gioco DEVE essere in grado di utilizzare i dati di salvataggio sul cloud delle versioni precedenti del gioco senza errori o arresti anomali.
  • Il gioco DEVE utilizzare i dati di salvataggio nel cloud per mantenere i progressi dell'utente in tutte le versioni del gioco in cui l'utente si aspetta che i suoi dati vengano utilizzati.
  • I giochi DEVONO salvare automaticamente i progressi dell'utente in corrispondenza di importanti traguardi del gioco per evitare la perdita di dati. Un salvataggio finale viene eseguito quando un utente esce dal gioco, ma è il migliore sforzo e può salvare solo fino a 64 KiB di lunghezza dei contenuti.

5 Pulsante di attivazione/disattivazione audio

  • Il gioco DEVE rispettare l'impostazione audio del sistema e il tasto di disattivazione audio.
  • Il gioco DEVE rispettare l'impostazione audio e il tasto di disattivazione audio di YouTube utilizzando isAudioEnabled e onAudioEnabledChange.
  • Il gioco DEVE rispettare il controllo del volume sul dispositivo.
  • L'audio del gioco NON DEVE essere riprodotto in modo imprevisto.
  • Quando è impostata la disattivazione dell'audio di YouTube, l'audio NON DEVE essere riprodotto e i controlli audio di gioco NON DEVONO influire sull'uscita audio.
  • Quando la disattivazione dell'audio di YouTube non è impostata, i controlli audio del gioco POSSONO influire sull'output audio.
  • Il gioco NON DEVE mostrare un pulsante di disattivazione dell'audio generale all'interno del gioco stesso; consenti agli utenti di fare affidamento sulle funzionalità a livello di YouTube per questo scopo.
  • Il gioco POTREBBE avere controlli audio granulari separati, ad esempio per musica ed effetti sonori, ma DEVE rispettare tutti gli altri requisiti di controllo audio.

Impostazioni audio diverse per sfondo, effetti sonori,
dialoghi

6 Mettere in pausa e riprendere

L'SDK Playables fornisce callback per le funzionalità di pausa e ripresa multipiattaforma.

  • Il gioco DEVE mettere in pausa tutta l'esecuzione dopo la chiamata di onPause e DEVE riprendere l'esecuzione solo quando viene chiamato onResume. L'esecuzione include tutte le funzionalità riproducibili, come ciclo di gioco, musica, interazioni, chiamate di rete e rendering.
  • Il gioco NON DEVE utilizzare l'API Page Visibility o API web simili e DEVE utilizzare solo l'SDK Playables onPause e onResume.
  • Il gioco DEVE salvare i progressi dell'utente quando si verifica onPause.