Ta sekcja opisuje integrację między Playable a pakietem SDK Playables w YouTube.
1 Wczytywanie pakietu SDK Playables
- Gra MUSI wczytać pakiet SDK Pokoju gier na YouTube przed jakimkolwiek kodem gry.
2 Powiadomienie o gotowości gry
- Gra MUSI wywołać funkcję
firstFrameReady, gdy renderuje ekran wczytywania lub ekran powitalny, który wyraźnie informuje użytkownika że proces wczytywania jest w toku. - Gra MUSI wywołać funkcję
gameReadyi MUSI wywoływać ją tylkogameReadywtedy, gdy jest gotowa na interakcję z użytkownikiem (np. gdy wyświetla menu główne lub jest gotowa do gry). - Gra NIE MOŻE wywoływać funkcji
gameReady, gdy użytkownikowi są wyświetlane elementy, z którymi nie można wejść w interakcję (np. ekrany powitalne lub ekrany wczytywania ).
YouTube nie usuwa „spinnera wczytywania”, dopóki nie zostanie wywołany ten interfejs API.
3 Wyniki użytkowników
- Gra MOŻE używać funkcji
sendScoredo wysyłania wyniku użytkownika. - Jeśli gra używa
sendScoredo wysyłania wyników, gra MUSI przestrzegać specyfikacjisendScorei MUSI upewnić się, że najlepszy wysłany wynik jest zgodny z najlepszym wynikiem w zapisie gry.
4 Zapisywanie w chmurze
- Gra MUSI wywoływać funkcję
saveData, aby zapisywać postępy, gdy użytkownicy poczynili znaczące postępy w grze (np. zmienili poziom), a mechanika gry sugeruje, że ich postępy zostały zapisane. - Gra NIE MOŻE używać żadnego innego mechanizmu do zapisywania postępów użytkownika. Ta funkcja umożliwia graczom wznowienie gry w późniejszym czasie.
- Gra MUSI poczekać na zakończenie działania funkcji
loadData, zanim wywoła funkcjęsaveData. JeślisaveDatazostanie wywołana przedloadDatapomyślnie zakończy działanie, żądanie zostanie odrzucone. Zapobiega to nadpisaniu przez grę wcześniej zapisanych danych. - Gra MUSI być w stanie używać danych zapisanych w chmurze z poprzednich wersji gry bez błędów i awarii.
- Gra POWINNA używać danych zapisanych w chmurze, aby zachować postępy użytkownika we wszystkich wersjach gry, w których użytkownik oczekuje, że jego dane będą używane.
- Gry POWINNY automatycznie zapisywać postępy użytkownika w ważnych momentach gry, aby zapobiec utracie danych. Gdy użytkownik opuszcza grę, wykonywane jest ostateczne zapisanie, ale jest to najlepsza próba i można zapisać tylko do 64 KiB treści długości.
5 Przełącznik wyciszenia
- Gra MUSI uwzględniać ustawienia dźwięku w systemie i przycisk wyciszenia.
- Gra MUSI uwzględniać ustawienia dźwięku i przycisk wyciszenia w YouTube, używając funkcji
isAudioEnabledionAudioEnabledChange. - Gra MUSI uwzględniać sterowanie głośnością na urządzeniu.
- Dźwięk w grze NIE MOŻE być odtwarzany nieoczekiwanie.
- Gdy w YouTube jest włączone wyciszenie, dźwięk NIE MOŻE być odtwarzany, a elementy sterujące dźwiękiem w grze NIE MOGĄ wpływać na odtwarzanie dźwięku.
- Gdy w YouTube nie jest włączone wyciszenie, elementy sterujące dźwiękiem w grze MOGĄ wpływać na odtwarzanie dźwięku.
- Gra NIE POWINNA wyświetlać ogólnego przycisku wyciszenia w samej grze. Użytkownicy powinni korzystać z funkcji na poziomie YouTube.
- Gra MOŻE mieć osobne, szczegółowe elementy sterujące dźwiękiem, np. muzyką i efektami dźwiękowymi, ale MUSZĄ one spełniać wszystkie inne wymagania dotyczące sterowania dźwiękiem.
6 Wstrzymywanie i wznawianie
Pakiet SDK Playables udostępnia wywołania zwrotne umożliwiające wstrzymywanie i wznawianie na wielu platformach.
- Gra MUSI wstrzymać wszystkie działania po wywołaniu funkcji
onPausei MUSI wznowić działania tylko wtedy, gdy zostanie wywołana funkcjaonResume. Działania obejmują wszystkie funkcje Playable, takie jak pętla gry, muzyka, interakcje, wywołania sieciowe i renderowanie. - Gra NIE MOŻE używać interfejsu Page Visibility API ani podobnych interfejsów API sieci.
MUSI używać tylko funkcji
onPauseionResumez pakietu SDK Playables. - Gra POWINNA zapisywać postępy użytkownika, gdy wystąpi funkcja
onPause.