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
firstFrameReadysaat game sedang merender layar pemuatan atau layar pembuka yang secara eksplisit berkomunikasi dengan pengguna bahwa proses pemuatan sedang berlangsung. - Game HARUS memanggil
gameReadydan HARUS hanya memanggilgameReadysaat game siap untuk interaksi pengguna (contoh: menu utama atau game sudah siap untuk dimainkan). - Game TIDAK BOLEH memanggil
gameReadymeskipun 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
sendScoreuntuk mengirim skor pengguna. - Jika game menggunakan
sendScoreuntuk mengirim skor, game HARUS mematuhi spesifikasisendScoredan HARUS memastikan bahwa skor terbaik yang dikirim cocok dengan skor terbaik dalam penyimpanan game.
4 penyimpanan melalui cloud
- Game HARUS memanggil
saveDatauntuk 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
loadDatasebelum memanggilsaveData. JikasaveDatadipanggil sebelumloadDataberhasil 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
isAudioEnableddanonAudioEnabledChange. - 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
onPausedipanggil dan HARUS lanjutkan eksekusi hanya saatonResumedipanggil. 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
onPausedanonResume. - Game HARUS menyimpan progres pengguna jika
onPauseterjadi.