Questa sezione illustra l'integrazione tra la Sala giochi e la YouTube SDK Sala giochi.
1 SDK Carica Sala giochi
- Il gioco DEVE caricare l'SDK di Sala giochi di YouTube prima del codice del gioco.
2 Notifica di gioco pronto
- Il gioco DEVE chiamare
firstFrameReady
durante il rendering di un schermata di caricamento o schermata iniziale che comunica esplicitamente all'utente che è in corso il processo di caricamento. - Il gioco DEVE chiamare
gameReady
e DEVE chiamare sologameReady
quando Il gioco sia pronto per l'interazione dell'utente (esempio: menu principale o gioco pronto per giocare). - Il gioco NON DEVE chiamare
gameReady
se esistono ancora contenuti non interattivi. gli elementi mostrati all'utente (ad esempio, schermate iniziali o caricamento schermate).
YouTube non rimuove la "rotellina di caricamento" fino alla chiamata di questa API.
3 Punteggi utente
- Il gioco POTREBBE usare
sendScore
per inviare il punteggio dell'utente. - Se il gioco utilizza
sendScore
per inviare i punteggi, DEVE rispettare la specificasendScore
e DEVE garantire che il punteggio migliore inviato con il miglior punteggio del salvataggio.
4 salvataggi sul cloud
- Il gioco DEVE chiamare
saveData
per salvare i progressi dopo che gli utenti hanno effettuato i progressi materiali del gioco (ad esempio, un cambio di livello) in cui il gioco i meccanismi inducono l'utente a credere che i suoi progressi vengano salvati. - Il gioco NON DEVE utilizzare altri meccanismi per salvare i progressi degli utenti. Questo consente ai giocatori di riprendere il gioco in un secondo momento.
- Il gioco DEVE attendere
loadData
prima di chiamaresaveData
. SesaveData
viene chiamato prima cheloadData
venga completato correttamente, la verrà rifiutata. In questo modo, il gioco non sovrascriverà dati salvati in precedenza. - Il gioco DEVE poter utilizzare i dati salvati sul cloud di versioni precedenti del senza errori o arresti anomali.
- Il gioco DOVREBBE utilizzare i dati di salvataggio sul cloud per mantenere i progressi degli utenti su tutti versioni del gioco in cui l'utente si aspetta che vengano utilizzati i suoi dati.
- I giochi DOVREBBERO salvare automaticamente i progressi dell'utente durante una partita importante per evitare perdite di dati. Viene eseguito un salvataggio finale quando un utente esce dal gioco, ma fa il possibile e può salvare solo fino a 64 KiB di contenuti massima.
5 Pulsante di attivazione/disattivazione della disattivazione dell'audio
- Il gioco DEVE rispettare l'impostazione audio di sistema e il tasto di disattivazione audio.
- Il gioco DEVE rispettare l'impostazione audio di YouTube e il tasto di disattivazione audio di YouTube
isAudioEnabled
eonAudioEnabledChange
. - Il gioco DEVE rispettare il controllo del volume sul dispositivo.
- Il suono del gioco NON DEVE riprodurre in modo imprevisto.
- Quando è impostata la disattivazione dell'audio di YouTube, l'audio NON DEVE essere emesso e l'audio del gioco i controlli NON DEVONO influire sull'uscita audio.
- Se la disattivazione dell'audio di YouTube non è impostata, i controlli audio del gioco POTREBBERO influire sull'audio come output.
- Il gioco NON DEVE mostrare un pulsante di disattivazione audio generale all'interno del gioco stesso. consentono agli utenti di fare affidamento sulle funzionalità a livello di YouTube.
- Il gioco POTREBBE avere controlli audio granulari separati, ad esempio musica ed effetti sonori, ma DEVONO seguire tutti gli altri controlli audio i tuoi requisiti.
6 Mettere in pausa e riprendere
L'SDK della Sala giochi fornisce callback che forniscono funzionalità di pausa multipiattaforma e di curriculum vitae.
- Il gioco DEVE mettere in pausa tutta l'esecuzione dopo la chiamata di
onPause
e DEVE riprendi l'esecuzione solo quando viene chiamatoonResume
. L'esecuzione include tutti Funzionalità riproducibili, come ciclo di gioco, musica, interazioni, rete e il rendering. - Il gioco NON DEVE utilizzare l'API Page Visibility web o API web simili e
DEVE utilizzare solo l'SDK di Sala giochi
onPause
eonResume
. - Il gioco DOVREBBE salvare i progressi dell'utente quando appare
onPause
.