Najczęstsze pytania o certyfikaty

Jeśli masz pytanie, na które nie ma odpowiedzi na tej stronie, skontaktuj się z nami, korzystając z informacji podanych na stronie kontaktu z zespołem pomocy.

Ta strona może być aktualizowana o często zadawane pytania, gdy tylko je otrzymamy.

Ogólne

Ta sekcja zawiera pytania, które nie należą do żadnej konkretnej kategorii.

Czy mogę przetestować grę w środowisku YouTube?

Tak – użyj portalu dla programistów i postępuj zgodnie z instrukcjami testowania.

Moja gra nie renderuje się na Androidzie ani w pakiecie SDK Test Suite. Co mam zrobić?

Jeśli gry nie renderują się wyłącznie na Androidzie lub w pakiecie SDK Test Suite, często jest to spowodowane sposobem ich wczytywania w komponencie WebView. Ze względu na wydajność gra jest początkowo ładowana w komponencie WebView, który nie jest wyświetlany użytkownikowi, co powoduje, że rozmiar widocznego obszaru WebView wynosi 0. Aby rozwiązać ten problem, zalecamy wykonanie tych czynności:

(1) Sprawdź, czy kod gry jest wykonywany niezależnie od rozmiaru widocznego obszaru.

(2) Sprawdź, czy kod gry obsługuje zmianę rozmiaru widocznego obszaru i czy nie czeka ani nie kończy się niepowodzeniem, gdy rozmiar widocznego obszaru wynosi 0.

Zalecamy nasłuchiwanie zdarzenia okna resize i ustawianie wysokości gry tylko wtedy, gdy wartość window.innerHeight jest różna od zera.

Wymagania techniczne

Ta sekcja zawiera pytania dotyczące wymagań technicznych Pokoju gier na YouTube.

Czy mogę uzyskać zwolnienie z limitu rozmiaru pojedynczego pliku?

Nie. Rozmiar pojedynczego pliku jest limitem bezwzględnym.

Jak mierzony jest początkowy rozmiar pakietu?

Początkowy rozmiar pakietu jest mierzony jako łączna liczba bajtów pobranych przez grywalną reklamę do momentu wywołania zdarzenia gameReady.

Gry Playables używają kompresji HTTP, gdy jest to możliwe, co oznacza, że początkowy rozmiar pakietu może być mniejszy niż łączny rozmiar nieprzetworzonych zasobów. Jeśli podczas testowania początkowego rozmiaru pakietu w SDK Test Suite Twój host lokalny nie kompresuje zasobów, może to spowodować, że rozmiar będzie większy niż po opublikowaniu reklamy demonstracyjnej. Aby sprawdzić rzeczywisty rozmiar początkowego pakietu dostarczanego w przypadku reklamy grywalnej, użyj pakietu SDK Test Suite wskazującego plik index.html z przesłanej kompilacji lub zmień ustawienia serwera lokalnego, aby włączyć kompresję gzip.

Osiągnięto lub przekroczono limit rozmiaru pojedynczego pliku lub łącznego rozmiaru pakietu. Co mam zrobić?

Aby zoptymalizować grę i zwiększyć jej wydajność, zapoznaj się z tymi artykułami:

Co zrobić, jeśli nie mogę zmieścić się w limicie łącznego rozmiaru pakietu?

Użytkownicy mogą być zmuszeni do pobierania zasobów z gry za każdym razem, gdy w nią grają. Aby uniknąć długiego czasu wczytywania i dużego zużycia danych, zalecamy, aby łączny rozmiar pakietu gry był jak najmniejszy.

Zachęcamy do korzystania z leniwego ładowania lub innych rodzajów przyrostowego ładowania zasobów podczas każdej sesji gry w miarę postępów użytkowników lub do dzielenia zasobów na poziomy, aby umożliwić pobieranie zasobów w małych ilościach rozłożonych w czasie podczas długiej sesji. W takich sytuacjach większy łączny rozmiar pakietu może nie pogarszać wrażeń użytkownika, a nawet może je poprawić, ponieważ umożliwia udostępnienie większej ilości treści w grze przy mniejszym wykorzystaniu zasobów na użytkownika. Jeśli uważasz, że Twoja gra działa w ten sposób i uzasadnia to większy rozmiar pakietu, skontaktuj się z nami na stronie pomocy, aby omówić swój przypadek użycia.

Czy moje wewnętrzne narzędzia analityczne mogą być wyłączone z wymagań dotyczących połączeń zewnętrznych?

Nie. Gry Playables nie mogą obecnie wykonywać żadnych połączeń zewnętrznych. Poinformuj menedżera ds. partnera, jakie statystyki Cię interesują, abyśmy mogli nadać priorytet przyszłym funkcjom w tym obszarze.

Gra pobiera dane i poziomy ze zdalnej bazy danych. Czy jest to dopuszczalne?

Obecnie nie, ale testujemy zdalny dostęp do danych w przypadku wybranych tytułów. Obecnie wszystkie dane gry muszą być zawarte w pakiecie gry. Jeśli chcesz zaktualizować lub odświeżyć komponenty lub treści gry, skorzystaj z informacji kontaktowych na stronie kontaktu z zespołem pomocy, aby przesłać odświeżony pakiet gry, lub skontaktuj się z nami, aby dowiedzieć się więcej o naszym programie pilotażowym.

Widzę błąd dotyczący naruszenia „standardu Content Security Policy” w przypadku wykonywania skryptów wbudowanych

Dzieje się tak, gdy używasz JavaScriptu do utworzenia i dodania tagu <script> do strony. Ze względów bezpieczeństwa YouTube korzysta ze standardu Content Security Policy (CSP), który wymaga, aby skrypty miały specjalny kod zabezpieczający nazywany „liczbą jednorazową”. YouTube automatycznie dodaje ten kod do skryptów w pliku HTML, ale musisz go ręcznie dodać do wszystkich skryptów utworzonych za pomocą kodu.

Jeśli generujesz tagi skryptu automatycznie za pomocą JavaScriptu, musisz znaleźć liczbę jednorazową na stronie i zastosować ją do nowego elementu skryptu.

Przykład:

const script = document.createElement('script');
script.src = '...';
// Find the nonce from the main page and apply it
script.nonce = document.querySelector('script[nonce]')?.nonce;
document.head.appendChild(script);

Konfiguracje offline możesz przetestować, korzystając ze wskazówek podanych w instrukcjach dotyczących zestawu testów.

Integracja pakietu SDK

Ta sekcja zawiera pytania dotyczące interfejsów API pakietu Playables SDK.

Nie udało mi się uzyskać certyfikatu z powodu problemów z integracją dźwięku. Co muszę poprawić?

Najczęstszy problem z dźwiękiem dotyczy gier, które oczekują interakcji użytkownika przed rozpoczęciem odtwarzania. Jednak Pokój gier na YouTube może automatycznie uzyskać fokus, więc gra musi obsługiwać ten przypadek.

Przykładową konfigurację dźwięku znajdziesz w przykładowych zapytaniach.

Unity

Ta sekcja zawiera odpowiedzi na pytania dotyczące integracji istniejących gier Unity z pakietem SDK Pokoju gier na YouTube. Przykłady użycia pakietu SDK i opakowania Unity znajdziesz w dokumentacji opakowania Unity Pokoju gier na YouTube.

Czy mogę używać wstępnej kompresji Unity?

Nie zalecamy wstępnej kompresji zasobów. Wymaganie dotyczące początkowego rozmiaru pakietu dotyczy rozmiaru po kompresji, a przesłane pliki zostaną skompresowane po przetworzeniu. Jeśli nadal musisz wstępnie skompresować pliki, zapoznaj się z pozostałą częścią tej sekcji lub skontaktuj się z zespołem pomocy na stronie kontaktu z zespołem pomocy, aby omówić najlepsze rozwiązanie dla Twojej gry.

Niektóre gry będą wymagały wstępnej kompresji plików .wasm lub .data Unity. Wstępną kompresję stosuj tylko w tych warunkach, ponieważ może ona znacznie wydłużyć czas wczytywania:

Te dodatkowe wymagania wynikają z ograniczeń architektury wyświetlania. Obecnie nie obsługujemy dodatkowych nagłówków HTTP ani kompresji Brotli.

Jak zarządzać aktualizacjami klatek, gdy gra działa w tle?

Możesz użyć setTimeout, aby zarządzać aktualizacjami klatek, gdy gra działa w tle. Pomaga to kontrolować zachowania, takie jak wstrzymywanie dźwięku. Możesz sprawdzić zarządzanie klatkami w tle, włączając opcję „Uruchom w tle” w ustawieniach odtwarzacza.

Ograniczenia pamięci w grach Unity

Niektóre gry w Unity zużywają znaczną ilość pamięci, co może prowadzić do przekroczenia ograniczeń dotyczących wykorzystania pamięci w przypadku reklam grywalnych. Zalecamy zapoznanie się z dokumentacją dla deweloperów dotyczącą pamięci w Unity WebGL.