Si vous avez une question qui ne figure pas sur cette page, contactez-nous à l'aide des coordonnées indiquées sur la page de contact de l'assistance.
Cette page peut être mise à jour avec des questions fréquentes à mesure qu'elles sont reçues.
Général
Cette section inclut toutes les questions qui n'entrent pas dans une catégorie spécifique.
Puis-je tester le jeu dans l'environnement YouTube ?
Oui. Utilisez le portail des développeurs et suivez les instructions de test.
Mon jeu ne s'affiche pas sur Android ni dans la suite de tests du SDK. Que dois-je faire ?
Lorsque les jeux ne s'affichent pas exclusivement sur Android ni dans la suite de tests du SDK, cela est souvent dû à la façon dont ils sont chargés dans la WebView. Pour des raisons de performances, le jeu est initialement chargé dans une WebView qui n'est pas affichée à l'utilisateur, ce qui entraîne une taille de fenêtre d'affichage WebView nulle. Pour résoudre ce problème, la solution suivante est recommandée :
(1) Vérifiez que le code de votre jeu s'exécute quelle que soit la taille de la fenêtre d'affichage.
(2) Vérifiez que le code de votre jeu gère le redimensionnement de la fenêtre d'affichage et qu'il n'attend pas ou n'échoue pas lorsque la taille de la fenêtre d'affichage est nulle.
Nous vous recommandons d'écouter l'événement resize de la fenêtre et de ne définir la hauteur de votre jeu que lorsque window.innerHeight est différent de zéro.
Exigences techniques
Cette section inclut les questions liées aux exigences techniques des Jeux intégrés YouTube.
Puis-je bénéficier d'une exemption pour la limite de taille de fichier individuelle ?
Non. La taille de fichier individuelle est une limite stricte.
Comment la taille du bundle initial est-elle mesurée ?
La taille du bundle initial correspond à la quantité totale d'octets téléchargés par le Playable jusqu'à ce que l'événement gameReady soit appelé.
Les Playables utilisent la compression HTTP lorsque cela est possible, ce qui signifie que la taille du bundle initial peut être inférieure à la taille brute totale des assets. Lorsque vous testez la taille du bundle initial dans la suite de tests du SDK, si votre hôte local ne compresse pas les assets, la taille peut être supérieure à celle qui se produira une fois votre Playable publié. Pour afficher la taille réelle du bundle initial diffusé pour un Playable, utilisez la suite de tests du SDK pointant vers le fichier index.html à partir d'une compilation importée ou modifiez les paramètres de votre serveur local pour activer la compression gzip.
J'ai atteint ou dépassé la limite de taille de fichier individuelle ou de bundle total. Que dois-je faire ?
Pour optimiser votre jeu et améliorer ses performances, consultez les articles suivants :
- Compression d'image
- Audits de performances
- Temps de chargement rapides
Activer la compression de texte *
Optimiser l'encodage et la taille de transfert des assets basés sur du texte
Que faire si je ne peux pas respecter la limite de taille totale du bundle ?
Les utilisateurs devront peut-être télécharger des assets de votre jeu chaque fois qu'ils y jouent. Pour éviter les longs temps de chargement et la consommation de grandes quantités de données, il est recommandé que la taille totale du bundle du jeu soit aussi petite que possible.
Nous encourageons les jeux à utiliser le chargement différé ou d'autres types de chargement incrémental d'assets pendant chaque session de jeu à mesure que les utilisateurs progressent, ou à diviser les assets par niveau pour permettre leur téléchargement en petites quantités réparties sur une longue session. Dans de telles situations, une taille totale de bundle plus importante peut ne pas dégrader l'expérience utilisateur, et peut même l'améliorer en permettant d'inclure plus de contenu dans votre jeu avec une empreinte par utilisateur plus faible. Si vous pensez que votre jeu fonctionne de cette manière et justifie une taille totale de bundle plus importante, contactez-nous à l'aide de notre page de contact de l'assistance pour discuter de votre cas d'utilisation.
Mes analyses internes peuvent-elles être exclues des exigences d'appel externe ?
Non. Pour le moment, les Playables ne doivent pas effectuer d'appels externes à ce moment. Informez votre responsable partenaire du type d'analyses qui vous intéressent afin que les futures fonctionnalités dans ce domaine puissent être priorisées.
Le jeu récupère des données et des niveaux à partir d'une base de données à distance. Est-ce acceptable ?
Pour le moment, non. Toutefois, nous testons l'accès aux données à distance avec certains titres. Aujourd'hui, toutes les données de jeu doivent être incluses dans le bundle du jeu. Si vous souhaitez mettre à jour ou actualiser les assets ou le contenu de votre jeu, contactez-nous à l'aide des coordonnées indiquées sur la page de contact de l'assistance pour envoyer un bundle de jeu actualisé ou contactez-nous pour en savoir plus si vous souhaitez être pris en compte pour notre programme pilote.
Je vois une erreur indiquant une violation de la "Content Security Policy" pour l'exécution de scripts intégrés
Cela se produit lorsque vous utilisez JavaScript pour créer et ajouter une balise <script> à votre
page. Pour des raisons de sécurité, YouTube utilise une Content Security Policy (CSP) qui exige que les scripts disposent d'un code de sécurité spécial appelé "nonce". YouTube ajoute automatiquement ce code aux scripts de votre fichier HTML, mais vous devez l'ajouter manuellement à tous les scripts que vous créez avec du code.
Lorsque vous générez des balises de script par programmation à l'aide de JavaScript, vous devez trouver le nonce sur votre page et l'appliquer à votre nouvel élément de script.
Exemple :
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);
Vous pouvez tester les configurations hors connexion à l'aide des consignes spécifiées dans les instructions de la suite de tests.
Intégration d'un SDK
Cette section inclut toutes les questions liées à l'une des API du SDK Playables.
J'ai échoué à la certification en raison de problèmes d'intégration audio. Que dois-je corriger ?
Le problème audio le plus courant concerne les jeux qui attendent une interaction de l'utilisateur avant de démarrer la lecture. Toutefois, les Jeux intégrés YouTube peuvent être mis en avant automatiquement. Le jeu doit donc gérer ce cas.
Pour obtenir un exemple de configuration audio, consultez les exemples.
Unity
Cette section inclut toutes les questions concernant l'intégration de jeux Unity existants au SDK Jeux intégrés YouTube. Pour obtenir des exemples d'utilisation du SDK et du wrapper Unity, consultez la documentation des Jeux intégrés YouTube Unity.
Puis-je utiliser la précompression Unity ?
Nous ne vous suggérons pas de précompresser vos assets. L'exigence de taille du bundle initial utilise la taille post-compression, et la compression est appliquée aux fichiers importés après l'ingestion. Si vous devez toujours précompresser des fichiers, consultez le reste de cette section ou contactez l'équipe d'assistance sur notre page de contact de l'assistance pour discuter de la meilleure option pour votre jeu.
Certains jeux devront utiliser la précompression pour les fichiers .wasm ou .data d'Unity.
N'utilisez la précompression que dans les conditions suivantes, car cela peut entraîner des temps de chargement beaucoup plus lents :
- Si vous devez utiliser la précompression Unity pour respecter les exigences de taille de fichier individuelle ou de taille totale du bundle, consultez la section "J'ai atteint ou dépassé la limite de taille de fichier individuelle ou de bundle total. Que dois-je faire ?".
- Si vous devez utiliser la précompression Unity pour que votre jeu réussisse la certification, les exigences suivantes doivent être remplies :
- Vous DEVEZ utiliser la précompression zip.
- Vous DEVEZ décompresser les fichiers manuellement dans votre script de chargement. Nous vous recommandons d'utiliser l'API Compression Streams.
Ces exigences supplémentaires découlent des limites de l'architecture de diffusion. Pour le moment, la prise en charge d'en-têtes HTTP supplémentaires ou de la compression Brotli n'est pas disponible.
Comment gérer les mises à jour de frame lorsque le jeu s'exécute en arrière-plan ?
Vous pouvez utiliser setTimeout pour gérer les mises à jour de frame lorsque le jeu est en arrière-plan.
Cela permet de contrôler des comportements tels que la mise en pause de l'audio. Vous pouvez vérifier la gestion des frames en arrière-plan en activant l'option "Exécuter en arrière-plan" dans les paramètres du lecteur.
Restrictions de mémoire pour les jeux Unity
Certains jeux Unity utilisent une quantité de mémoire importante, ce qui peut entraîner le dépassement des restrictions d'utilisation de la mémoire pour les Playables. Il est recommandé de suivre la documentation de développement pour la mémoire dans Unity WebGL.