Bagian ini membahas integrasi antara Ruang Game dan YouTube SDK Ruang Game.
1 Muat SDK Ruang Game
- Game HARUS memuat SDK Ruang Game YouTube sebelum kode game apa pun.
2 Notifikasi siap game
- Game HARUS memanggil
firstFrameReady
saat game sedang merender layar pemuatan atau layar pembuka yang secara eksplisit berkomunikasi dengan pengguna bahwa proses pemuatan sedang berlangsung. - Game HARUS memanggil
gameReady
dan HARUS hanya memanggilgameReady
saat game siap untuk interaksi pengguna (contoh: menu utama atau game sudah siap untuk dimainkan). - Game TIDAK BOLEH memanggil
gameReady
meskipun masih ada yang tidak dapat berinteraksi yang ditampilkan kepada pengguna (contoh: layar pembuka atau pemuatan layar).
YouTube tidak menghapus "pemindai pemuatan" hingga API ini dipanggil.
3 Skor pengguna
- Game DAPAT menggunakan
sendScore
untuk mengirim skor pengguna. - Jika game menggunakan
sendScore
untuk mengirim skor, game HARUS mematuhi spesifikasisendScore
dan HARUS memastikan bahwa skor terbaik yang dikirim cocok dengan skor terbaik dalam penyimpanan game.
4 penyimpanan melalui cloud
- Game HARUS memanggil
saveData
untuk menyimpan progres saat pengguna telah membuat progres game material (misalnya, perubahan level) di mana game membuat pengguna percaya bahwa kemajuan mereka telah disimpan. - Game TIDAK BOLEH menggunakan mekanisme lain untuk menyimpan progres pengguna. Ini memungkinkan pemain melanjutkan game pada lain waktu.
- Game HARUS menunggu
loadData
sebelum memanggilsaveData
. JikasaveData
dipanggil sebelumloadData
berhasil diselesaikan, akan ditolak. Hal ini mencegah game menimpa data yang telah disimpan sebelumnya. - Game HARUS dapat menggunakan data simpan di cloud dari versi sebelumnya game tanpa kesalahan atau mogok.
- Game HARUS menggunakan data simpan di cloud untuk mempertahankan progres pengguna di semua versi {i>game<i} di mana pengguna mengharapkan data mereka digunakan.
- Game HARUS otomatis menyimpan progres pengguna pada game penting {i>milestone<i} untuk mencegah kehilangan data. Penyimpanan {i>flush<i} terakhir dilakukan ketika pengguna keluar dari game, tetapi merupakan upaya terbaik dan hanya dapat menghemat hingga 64 KiB dalam konten panjang.
5 Tombol bisukan
- Game HARUS mematuhi setelan audio sistem dan tombol bisukan.
- Game HARUS mematuhi setelan audio YouTube dan tombol bisukan dengan menggunakan
isAudioEnabled
danonAudioEnabledChange
. - Game HARUS mengikuti kontrol volume di perangkat.
- Suara game TIDAK BOLEH diputar secara tiba-tiba.
- Jika bisukan YouTube disetel, audio TIDAK BOLEH berupa output dan audio game kontrol TIDAK BOLEH memengaruhi output audio.
- Jika fitur bisukan YouTube tidak disetel, kontrol audio game DAPAT memengaruhi audio {i>output<i} tersebut.
- Game TIDAK BOLEH menampilkan tombol bisukan secara keseluruhan di dalam game; memungkinkan pengguna untuk mengandalkan fitur tingkat YouTube untuk hal ini.
- Game DAPAT memiliki kontrol audio terperinci terpisah dalam game, seperti untuk musik dan efek suara, tetapi HARUS mengikuti semua kontrol audio lainnya lainnya.
6 Jeda dan lanjutkan
SDK Ruang Game menyediakan callback yang menyediakan jeda lintas platform dan kemampuan melanjutkan pekerjaan.
- Game HARUS menjeda semua eksekusi setelah
onPause
dipanggil dan HARUS lanjutkan eksekusi hanya saatonResume
dipanggil. Eksekusi mencakup semua Kemampuan yang dapat dimainkan, seperti game loop, musik, interaksi, jaringan panggilan, dan rendering. - Game TIDAK BOLEH menggunakan Page Visibility API web atau API web serupa dan
HARUS hanya menggunakan SDK Ruang Game
onPause
danonResume
. - Game HARUS menyimpan progres pengguna jika
onPause
terjadi.