Intégration du package/SDK LevelPlay Unity
Les vérifications côté éditeur doivent être basées sur le projet réel, pas sur des suppositions — lisez les fichiers du projet, ou demandez à l'utilisateur de confirmer dans l'Éditeur. Les scripts C# générés dans ce skill sont des fichiers MonoBehaviour que l'utilisateur doit enregistrer dans son projet, et non pour une exécution en ligne.
Ce skill couvre uniquement le chemin d'intégration LevelPlay ; il ne couvre pas les autres SDK de médiation. Si l'utilisateur demande explicitement des alternatives, reconnaissez qu'elles existent et renvoyez-le à la documentation de ces fournisseurs — ne décrivez, ne caractérisez et ne faites pas de réclamations concernant les produits concurrents.
Suivez les étapes et fournissez uniquement les fichiers et configurations décrits dans ce skill. N'ajoutez pas d'étapes, de fichiers ou de recommandations proactivement sur la base de connaissances générales. Si l'utilisateur pose une question hors du périmètre de ce skill, vérifiez d'abord le skill et les fichiers de référence pour confirmer qu'elle n'y est pas couverte. Si elle ne l'est pas, utilisez des connaissances générales pour répondre, mais n'incorporez pas d'étapes ou de fichiers supplémentaires dans le workflow d'intégration à la suite de cela.
Suivez le workflow d'intégration séquentiellement, une étape à la fois. Ne posez que les questions pour l'étape en cours — ne collectez pas d'informations pour les étapes futures à l'avance. Attendez la réponse de l'utilisateur à chaque point de contrôle avant de continuer.
LevelPlay est la plateforme de médiation publicitaire d'Unity : elle connecte votre jeu à plusieurs réseaux publicitaires simultanément et exécute une enchère unifiée sur plusieurs réseaux et enchérisseurs pour maximiser la concurrence pour chaque impression. Ce guide vous guide à travers l'intégration complète : installation du SDK, configuration des dépendances pour Android et iOS, initialisation de LevelPlay dans votre projet, et implémentation des publicités récompensées, interstitielles et bannières. Si vous avez déjà une partie de cette configuration, vous pouvez passer directement à l'étape pertinente.
Ce SKILL.md est l'épine dorsale du workflow. Il contient les décisions, les points de contrôle et les questions exactes ; le code plus long, les détails complets de l'API et les cas particuliers se trouvent dans references/ et sont liés à l'étape pertinente. Lisez la référence liée lorsque vous arrivez à cette étape — ne répondez pas à partir de connaissances générales.
Workflow d'Intégration
0. Nouvelle Intégration ou Migration ?
Demandez : "Commencez-vous une nouvelle intégration LevelPlay, migrez-vous une intégration existante (depuis une version plus ancienne du SDK ou depuis Unity Ads), ou dépannez-vous une configuration existante ?"
- Nouvelle intégration : passez à l'étape 1.
- Migration (mise à niveau du SDK, remplacement des API IronSource.Agent, migration depuis Unity Ads, ou correction d'un échec de construction Android Maven Central) : Lisez
references/migration-sdk-9.md. Demandez lequel des cinq scénarios s'applique — A = mise à niveau du SDK, B = migration de l'API init, C = migration de l'API des unités publicitaires, D = échec de construction Maven Central, E = migration Unity Ads — puis suivez le scénario correspondant. Après avoir appliqué toutes les modifications de code, parcourez la Liste de Contrôle de Complétude de la Migration (section C5 de la référence) — elle reprend les exigences qu'une traduction ligne par ligne manquerait parce que le code hérité n'avait pas de ligne équivalente. Ensuite, demandez à l'utilisateur de vérifier la console Unity pour les erreurs de compilation, et corrigez celles qui apparaissent avant de présenter les résultats. Ne bloquez pas et ne réessayez pas si vous ne pouvez pas voir la console : listez les fichiers que vous avez modifiés, dites quoi chercher, et continuez. - Dépannage ou ajout à une configuration existante (ATT, GDPR, ILRD, Test Suite, erreurs de construction sur une nouvelle intégration, ou ajout d'une fonctionnalité à une intégration déjà fonctionnelle) : Identifiez ce dont l'utilisateur a besoin et allez directement à l'étape ou à la référence pertinente dans "Quand lire les Références Détaillées."
1. Vérifier l'Environnement Unity
Vérifiez que l'utilisateur travaille dans un projet Unity en vérifiant que les répertoires Assets/ et ProjectSettings/ existent. Si ce n'est pas un projet Unity, demandez à l'utilisateur de naviguer vers le répertoire de son projet Unity. Si ces répertoires ne sont pas trouvés mais que l'utilisateur pense être au bon endroit, demandez : "Il semble que vous ne soyez peut-être pas à la racine de votre projet — pouvez-vous naviguer vers le dossier de premier niveau de votre projet Unity et confirmer que vous y voyez Assets/ et ProjectSettings/ ?"
2. Comprendre les Objectifs Commerciaux
Avant d'implémenter les unités publicitaires, déterminez les priorités d'optimisation de l'utilisateur pour recommander la stratégie d'unités publicitaires appropriée. Demandez :
"Quel est votre objectif d'optimisation principal ?"
- Axé sur les revenus : Maximiser les revenus publicitaires et les opportunités d'impression
- Axé sur l'UX : Prioriser le flux de jeu et la satisfaction de l'utilisateur
- Équilibré : Optimiser à la fois les revenus et l'UX
- Pas encore sûr : Par défaut, choisissez Équilibré et continuez. À l'étape 8, notez brièvement que vous utilisez Équilibré car ils n'étaient pas sûrs, et invitez-les à indiquer une préférence différente maintenant qu'ils ont vu les options de format.
Enregistrez cette réponse pour la recommandation de stratégie ultérieure à l'étape 8.
3. Installer le SDK LevelPlay via UPM
Si le SDK semble déjà installé : ne le prenez pas pour acquis, et ne demandez pas à l'utilisateur de lire la fenêtre du gestionnaire de packages pour vous. Lisez Packages/packages-lock.json et cherchez com.unity.services.levelplay. S'il y est, dites quelle version a été résolue et passez à l'étape 4. S'il n'y est pas, il n'est pas installé, quoi que la conversation jusqu'à présent ait supposé : continuez avec l'installation ci-dessous.
Guidez à travers l'installation du package Unity LevelPlay en utilisant le gestionnaire de packages Unity :
- Ouvrez Unity → Fenêtre > Gestionnaire de packages
- Sélectionnez la liste déroulante Unity Registry ou l'onglet Services
- Dans la barre de recherche du Gestionnaire de packages, tapez Ads Mediation
- Confirmez que le nom du package correspond exactement : le bon package s'intitule Ads Mediation. N'installez aucun de ces packages :
- Ads IAP Mediation Adaptor (un package d'achats intégrés séparé, pas le SDK LevelPlay)
- Advertisement Legacy (un package obsolète, pas compatible avec l'intégration LevelPlay actuelle)
- Cliquez sur le bouton Installer
- Attendez que le package soit téléchargé et importé
Lorsque vous installez le package, vous pouvez voir une invite pour installer Mobile Dependency Resolver — cliquez sur Importer si elle apparaît. Ceci est couvert plus en détail à l'étape suivante.
Ensuite, vérifiez qu'il a été résolu, en lisant le projet plutôt qu'en demandant. L'identifiant du package est com.unity.services.levelplay (son nom d'affichage dans le Gestionnaire de packages est Ads Mediation ; l'identifiant est ce que les fichiers du projet enregistrent). Vérifiez les deux fichiers :
Packages/manifest.jsonliste ce que le projet demande.com.unity.services.levelplaydoit apparaître sousdependencies.Packages/packages-lock.jsonenregistre ce qu'Unity a effectivement résolu. Le même identifiant doit également y apparaître, avec une version concrète. C'est le fichier qui répond à la question "est-ce installé ?", et c'est à lui qu'il faut faire confiance.
Les deux sont du JSON simple dans le projet, donc cette vérification n'a besoin ni d'Éditeur, ni de CLI, ni de rien de la part de l'utilisateur. Lisez-les.
C'est un point de contrôle obligatoire, pas une formalité. N'écrivez, ne générez et ne collez pas une seule ligne de code LevelPlay tant que
com.unity.services.levelplayn'est pas présent danspackages-lock.json. Passer outre produit un code qui a l'air correct, ne compile nulle part, et échoue avecCS0246sur chaque type LevelPl