Wymagania dotyczące integracji

Ta sekcja opisuje integrację między Playable a pakietem SDK Playables w YouTube.

1 Wczytywanie pakietu SDK Playables

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ę gameReady i MUSI wywoływać ją tylko gameReady wtedy, 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 sendScore do wysyłania wyniku użytkownika.
  • Jeśli gra używa sendScore do wysyłania wyników, gra MUSI przestrzegać specyfikacji sendScore i 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śli saveData zostanie wywołana przed loadData pomyś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 isAudioEnabled i onAudioEnabledChange.
  • 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.

Różne ustawienia dźwięku dla tła, efektów i dialogów

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 onPause i MUSI wznowić działania tylko wtedy, gdy zostanie wywołana funkcja onResume. 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 onPause i onResume z pakietu SDK Playables.
  • Gra POWINNA zapisywać postępy użytkownika, gdy wystąpi funkcja onPause.