Wenn Sie eine Frage haben, die auf dieser Seite nicht beantwortet wird, können Sie sich über die Kontaktdaten auf der Support-Kontaktseite an uns wenden.
Diese Seite wird möglicherweise mit häufig gestellten Fragen aktualisiert, sobald sie eingehen.
Allgemein
Dieser Abschnitt enthält alle Fragen, die keiner bestimmten Kategorie zugeordnet werden können.
Kann ich das Spiel in der YouTube-Umgebung testen?
Ja, verwende das Entwicklerportal und folge der Testanleitung.
Mein Spiel wird auf Android oder in der SDK-Test-Suite nicht gerendert. Was soll ich tun?
Wenn Spiele nicht ausschließlich auf Android oder in der SDK-Test-Suite gerendert werden, liegt das oft daran, wie Spiele in der WebView geladen werden. Aus Leistungsgründen wird das Spiel zuerst in einer WebView geladen, die dem Nutzer nicht angezeigt wird. Daher ist die Größe des WebView-Darstellungsbereichs null. Zur Behebung dieses Problems wird die folgende Lösung empfohlen:
(1) Prüfen Sie, ob Ihr Spielcode unabhängig von der Größe des Darstellungsbereichs ausgeführt wird.
(2) Prüfen Sie, ob Ihr Spielcode die Größenänderung des Darstellungsbereichs verarbeitet und ob der Spielcode nicht wartet oder fehlschlägt, wenn die Größe des Darstellungsbereichs null ist.
Wir empfehlen, auf das Fensterereignis resize zu warten und die Höhe des Spiels nur dann festzulegen, wenn window.innerHeight nicht null ist.
Technische Anforderungen
In diesem Abschnitt finden Sie Fragen zu den technischen Anforderungen für YouTube Playables.
Kann ich eine Ausnahme für die Größenbeschränkung einzelner Dateien erhalten?
Nein. Die maximale Größe einzelner Dateien ist eine feste Grenze.
Wie wird die anfängliche Bundle-Größe gemessen?
Die anfängliche Bundle-Größe wird als die Gesamtzahl der Byte gemessen, die von der spielbaren Anzeige heruntergeladen werden, bis das gameReady-Ereignis aufgerufen wird.
Playables verwenden nach Möglichkeit die HTTP-Komprimierung. Das bedeutet, dass die anfängliche Bundle-Größe kleiner sein kann als die Gesamtgröße der Assets. Wenn Sie die ursprüngliche Bundle-Größe in der SDK Test Suite testen und Ihr lokaler Host keine Assets komprimiert, kann die Größe größer sein als nach der Veröffentlichung Ihrer spielbaren Anzeige. Wenn Sie die tatsächliche anfängliche Bundle-Größe für eine spielbare Anzeige sehen möchten, verwenden Sie die SDK Test Suite, die auf die Datei „index.html“ aus einem hochgeladenen Build verweist, oder ändern Sie die Einstellungen Ihres lokalen Servers, um die gzip-Komprimierung zu aktivieren.
Ich habe die Größenbeschränkung für einzelne Dateien oder das gesamte Set erreicht oder überschritten. Was soll ich tun?
In den folgenden Artikeln finden Sie Informationen dazu, wie Sie Ihr Spiel optimieren und die Leistung verbessern können:
Was kann ich tun, wenn ich die maximale Bundle-Größe nicht einhalten kann?
Nutzer müssen möglicherweise jedes Mal, wenn sie Ihr Spiel spielen, Assets aus Ihrem Spiel herunterladen. Um lange Ladezeiten und eine hohe Datennutzung zu vermeiden, sollte die Gesamtgröße des Spiel-Bundles so gering wie möglich sein.
Wir empfehlen, in Spielen Lazy Loading oder andere Arten des inkrementellen Asset-Ladens während jeder Spielsitzung zu verwenden, wenn Nutzer Fortschritte machen, oder Assets pro Level aufzuteilen, damit Assets in kleinen Mengen über den Verlauf einer langen Sitzung heruntergeladen werden können. In solchen Situationen kann es sein, dass eine größere Gesamtgröße des Bundles die Nutzerfreundlichkeit nicht beeinträchtigt, sondern sogar verbessert, da mehr Inhalte in Ihrem Spiel mit einem geringeren Speicherbedarf pro Nutzer ermöglicht werden. Wenn du der Meinung bist, dass dein Spiel so funktioniert und eine größere Gesamtgröße des Bundles rechtfertigt, kannst du dich über unsere Support-Kontaktseite an uns wenden, um deinen Anwendungsfall zu besprechen.
Können meine internen Analysen von den Anforderungen für externe Aufrufe ausgenommen werden?
Nein. Playables dürfen derzeit keine externen Aufrufe ausführen. Teilen Sie Ihrem Partnermanager mit, an welchen Analysen Sie interessiert sind, damit zukünftige Funktionen in diesem Bereich priorisiert werden können.
Das Spiel ruft Daten und Level aus einer Remote-Datenbank ab. Ist das zulässig?
Derzeit nicht, aber wir testen den Remote-Datenzugriff mit ausgewählten Titeln. Derzeit müssen alle Spieldaten im Spiel-Bundle enthalten sein. Wenn du deine Spiel-Assets oder -Inhalte aktualisieren möchtest, kannst du über die Kontaktdaten auf der Support-Kontaktseite ein aktualisiertes Spiele-Bundle einreichen oder dich an uns wenden, wenn du am Pilotprogramm teilnehmen möchtest.
Ich erhalte eine Fehlermeldung, dass die „Content Security Policy“ für die Ausführung von Inline-Scripts verletzt wurde.
Das passiert, wenn du JavaScript verwendest, um ein <script>-Tag zu erstellen und deiner Seite hinzuzufügen. Aus Sicherheitsgründen verwendet YouTube eine Content Security Policy (CSP), die erfordert, dass Scripts einen speziellen Sicherheitscode namens „Nonce“ haben. YouTube fügt diesen Code automatisch den Scripts in Ihrer HTML-Datei hinzu. Sie müssen ihn jedoch manuell allen Scripts hinzufügen, die Sie mit Code erstellen.
Wenn Sie Script-Tags programmatisch mit JavaScript generieren, müssen Sie die Nonce von Ihrer Seite abrufen und auf das neue Script-Element anwenden.
Beispiel:
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);
Sie können Offlinekonfigurationen anhand der Richtlinien in der Anleitung für die Test-Suite testen.
SDK-Integration
Dieser Abschnitt enthält Fragen zu den Playables SDK APIs.
Die Zertifizierung ist aufgrund von Problemen mit der Audiointegration fehlgeschlagen. Was muss ich beheben?
Das häufigste Audioproblem tritt bei Spielen auf, die eine Nutzerinteraktion erwarten, bevor die Wiedergabe gestartet wird. YouTube Playables können jedoch automatisch fokussiert werden. Das Spiel muss diesen Fall also verarbeiten.
Ein Beispiel für die Audioeinrichtung finden Sie in den Beispielen.
Unity
Dieser Abschnitt enthält Fragen zur Integration vorhandener Unity-Spiele in das YouTube Playables SDK. Beispiele für die Verwendung des SDK und des Unity-Wrappers finden Sie in der Dokumentation zum YouTube Playables Unity-Wrapper.
Kann ich die Unity-Vorkomprimierung verwenden?
Wir empfehlen nicht, Ihre Assets vorzukomprimieren. Für die Anforderung an die anfängliche Bundle-Größe wird die Größe nach der Komprimierung verwendet. Hochgeladene Dateien werden nach der Aufnahme komprimiert. Wenn Sie Dateien dennoch vorkomprimieren müssen, lesen Sie den Rest dieses Abschnitts oder wenden Sie sich über unsere Support-Kontaktseite an das Supportteam, um die beste Option für Ihr Spiel zu besprechen.
Bei einigen Spielen müssen die .wasm- oder .data-Dateien von Unity vorkomprimiert werden.
Verwenden Sie die Vorkomprimierung nur unter den folgenden Bedingungen, da dies zu viel langsameren Ladezeiten führen kann:
- Wenn Sie die Unity-Vorkomprimierung verwenden müssen, um die Anforderungen an die Dateigröße oder die Gesamtgröße des Bundles zu erfüllen, lesen Sie den Abschnitt „Ich habe die Größenbeschränkung für einzelne Dateien oder das gesamte Bundle erreicht oder überschritten. Was soll ich tun?“.
- Wenn Sie die Unity-Vorkomprimierung verwenden müssen, damit Ihr Spiel die Zertifizierung besteht, müssen die folgenden Anforderungen erfüllt sein:
- Sie MÜSSEN die ZIP-Vorkomprimierung verwenden.
- Sie MÜSSEN die Dateien manuell in Ihrem Ladeskript dekomprimieren. Wir empfehlen die Verwendung der Compression Streams API.
Diese zusätzlichen Anforderungen ergeben sich aus Einschränkungen der Bereitstellungsarchitektur. Derzeit werden keine zusätzlichen HTTP-Header oder die Brotli-Komprimierung unterstützt.
Wie kann ich Frame-Updates verwalten, wenn das Spiel im Hintergrund ausgeführt wird?
Mit setTimeout kannst du Frame-Updates verwalten, wenn das Spiel im Hintergrund ausgeführt wird.
So lassen sich Verhaltensweisen wie das Pausieren der Audiowiedergabe steuern. Sie können die Verwaltung von Hintergrundframes prüfen, indem Sie in den Player-Einstellungen die Option „Im Hintergrund ausführen“ aktivieren.
Arbeitsspeicherbeschränkungen für Unity-Spiele
Einige Spiele in Unity verbrauchen sehr viel Arbeitsspeicher, was dazu führen kann, dass die Einschränkungen für die Arbeitsspeichernutzung für Playables überschritten werden. Es wird empfohlen, die Entwicklerdokumentation zu Arbeitsspeicher in Unity WebGL zu lesen.