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 na stronie kontaktowej pomocy.

Ta strona może być aktualizowana o często zadawane pytania.

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 narzędziu Mediation Test Suite. Co mam zrobić?

Gdy gry nie są renderowane wyłącznie na Androidzie lub w zestawie testowym pakietu SDK, często jest to spowodowane sposobem wczytywania gier w elemencie WebView. Ze względu na wydajność gra jest początkowo ładowana w widoku WebView, który nie jest wyświetlany użytkownikowi, co powoduje, że rozmiar widocznego obszaru WebView wynosi zero. 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 obszaru wyświetlania i czy nie czeka ani nie kończy się niepowodzeniem, gdy rozmiar obszaru wyświetlania wynosi zero.

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

Wymagania techniczne

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

Czy mogę uzyskać zwolnienie z limitu rozmiaru poszczególnych plików?

Nie. Rozmiar poszczególnych plików jest sztywnym ograniczeniem.

Jak mierzy się początkowy rozmiar pakietu?

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

Gry możliwe do wypróbowania w wersji demonstracyjnej korzystają w miarę możliwości z kompresji HTTP, co oznacza, że początkowy rozmiar pakietu może być mniejszy niż łączny rozmiar surowy zasobów. Jeśli podczas testowania początkowego rozmiaru pakietu w zestawie testowym SDK lokalny host nie kompresuje zasobów, może to spowodować większy rozmiar niż po opublikowaniu gry. Aby sprawdzić rzeczywisty rozmiar początkowego pakietu wyświetlanego w przypadku wersji demonstracyjnej, użyj pakietu testowego SDK, który wskazuje 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 całego pakietu. Co mam zrobić?

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

Co zrobić, jeśli nie mieszczę się w limicie rozmiaru pakietu?

Użytkownicy mogą być zmuszeni do pobierania zasobów z Twojej gry za każdym razem, gdy w nią grają. Aby zapobiec długiemu wczytywaniu i dużemu zużyciu danych, zalecamy, aby łączny rozmiar pakietu gry był jak najmniejszy.

Zachęcamy do korzystania z leniwego ładowania lub innych typów przyrostowego wczytywania zasobów podczas każdej sesji gry w miarę postępów użytkowników lub do dzielenia zasobów na poziomy, aby można było pobierać je w małych ilościach rozłożonych w czasie długiej sesji. W takich sytuacjach większy rozmiar pakietu nie musi pogarszać wygody użytkowników, a wręcz może ją zwiększać, ponieważ umożliwia wyświetlanie większej ilości treści w grze przy mniejszym śladzie cyfrowym na użytkownika. Jeśli uważasz, że Twoja gra działa w ten sposób i uzasadnia większy rozmiar pakietu, skontaktuj się z nami, korzystając z naszej strony kontaktowej pomocy, aby omówić swój przypadek.

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

Nie. W tym momencie grywalne reklamy nie mogą wykonywać połączeń zewnętrznych. Poinformuj menedżera ds. partnera, jakie rodzaje statystyk Cię interesują, aby można było nadać priorytet przyszłym funkcjom w tym obszarze.

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

Obecnie nie, ale prowadzimy program pilotażowy zdalnego dostępu do danych w przypadku wybranych tytułów. Obecnie wszystkie dane z gry muszą być uwzględnione w pakiecie gry. Jeśli chcesz zaktualizować lub odświeżyć zasoby lub treści gry, skontaktuj się z nami, korzystając z informacji na stronie kontaktowej pomocy, aby przesłać odświeżony pakiet gry. Możesz też skontaktować się z nami, aby dowiedzieć się więcej o naszym programie pilotażowym i zgłosić chęć udziału w nim.

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

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

Gdy generujesz tagi skryptu programowo za pomocą JavaScriptu, musisz znaleźć na stronie wartość nonce 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 testować, korzystając z wytycznych podanych w instrukcjach zestawu testów.

Integracja pakietu SDK

Ta sekcja zawiera pytania dotyczące dowolnych interfejsów API pakietu SDK do gier interaktywnych.

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

Najczęstszy problem z dźwiękiem dotyczy gier, które przed rozpoczęciem odtwarzania wymagają interakcji użytkownika. 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ładach.

Unity

Ta sekcja zawiera pytania dotyczące integracji istniejących gier na platformę Unity z pakietem SDK Pokoju gier na YouTube. Przykłady użycia pakietu SDK i otoki Unity znajdziesz w dokumentacji Pokój gier na YouTube Unity otoka.

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

Nie zalecamy wstępnego kompresowania 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 naszej stronie kontaktowej, aby omówić najlepszą opcję dla Twojej gry.

W przypadku niektórych gier konieczne będzie użycie wstępnej kompresji plików .wasm lub .data Unity. Prekompresji używaj tylko w tych przypadkach, ponieważ może ona znacznie spowolnić wczytywanie:

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 jest uruchomiona w tle?

Gdy gra jest w tle, możesz zarządzać aktualizacjami klatek za pomocą setTimeout. Pomaga to kontrolować takie działania jak wstrzymywanie dźwięku. Zarządzanie ramkami w tle możesz sprawdzić, włączając opcję „Uruchom w tle” w ustawieniach odtwarzacza.

Ograniczenia pamięci w przypadku gier na platformie Unity

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