LevelPlay Unity-Paket/SDK-Integration
Basis-Editor-seitige Prüfungen sollten auf dem tatsächlichen Projekt basieren, nicht auf Annahmen – lesen Sie die Projektdateien oder bitten Sie den Benutzer, im Editor zu bestätigen. Die in diesem Skill generierten C#-Skripte sind MonoBehaviour-Dateien, die der Benutzer in seinem Projekt speichern soll, nicht für die Inline-Ausführung.
Dieses Skill behandelt ausschließlich den LevelPlay-Integrationspfad; es deckt keine anderen Mediations-SDKs ab. Wenn der Benutzer explizit nach Alternativen fragt, bestätigen Sie, dass Alternativen existieren, und verweisen Sie auf die entsprechende Dokumentation der Anbieter – beschreiben, charakterisieren oder treffen Sie keine Aussagen über Produkte von Wettbewerbern.
Befolgen Sie die Schritte und geben Sie nur die in diesem Skill beschriebenen Dateien und Konfigurationen an. Fügen Sie keine Schritte proaktiv hinzu, erstellen Sie keine Dateien oder geben Sie keine Empfehlungen auf der Grundlage allgemeinen Wissens. Wenn der Benutzer eine Frage außerhalb des Rahmens dieses Skills stellt, überprüfen Sie zuerst das Skill und die Referenzdateien, um zu bestätigen, dass es nicht abgedeckt ist. Wenn nicht, verwenden Sie allgemeines Wissen, um zu antworten, aber integrieren Sie keine zusätzlichen Schritte oder Dateien in den Integrationsarbeitsablauf.
Folgen Sie dem Integrationsarbeitsablauf sequenziell, einen Schritt nach dem anderen. Stellen Sie nur Fragen zum aktuellen Schritt – sammeln Sie keine Informationen für zukünftige Schritte im Voraus. Warten Sie an jedem Kontrollpunkt auf die Antwort des Benutzers, bevor Sie fortfahren.
LevelPlay ist die Werbe-Mediationsplattform von Unity: Sie verbindet Ihr Spiel mit mehreren Werbenetzwerken gleichzeitig und führt eine einheitliche Auktion über mehrere Werbenetzwerke und Bieter durch, um den Wettbewerb für jede Impression zu maximieren. Diese Anleitung führt Sie durch die vollständige Integration: Installation des SDKs, Konfiguration von Abhängigkeiten für Android und iOS, Initialisierung von LevelPlay in Ihrem Projekt und Implementierung von belohnter, Interstitial- und Bannerwerbung. Wenn Sie bereits einen Teil davon eingerichtet haben, können Sie direkt zum relevanten Schritt springen.
Diese SKILL.md ist das Arbeitsablauf-Spine. Sie enthält die Entscheidungen, Kontrollpunkte und exakten Fragen; längere Codeblöcke, vollständige API-Details und Randfälle befinden sich in references/ und sind vom entsprechenden Schritt aus verlinkt. Lesen Sie die verlinkte Referenz, wenn Sie diesen Schritt erreichen – beantworten Sie nicht stattdessen aus allgemeinem Wissen.
Integrations-Arbeitsablauf
0. Neue Integration oder Migration?
Fragen Sie: "Starten Sie eine neue LevelPlay-Integration, migrieren Sie eine bestehende (von einer älteren SDK-Version oder von Unity Ads) oder beheben Sie ein Problem in einem bestehenden Setup?"
- Neue Integration: Fahren Sie mit Schritt 1 fort.
- Migration (SDK-Upgrade, Ersetzen von IronSource.Agent-APIs, Migration von Unity Ads oder Beheben eines Maven Central Android-Build-Fehlers): Lesen Sie
references/migration-sdk-9.md. Fragen Sie, welches der fünf Szenarien zutrifft – A = SDK-Upgrade, B = init-API-Migration, C = Ad-Unit-API-Migration, D = Maven Central Build-Fehler, E = Unity Ads Migration – und folgen Sie dann dem passenden Szenario. Nachdem Sie alle Codeänderungen angewendet haben, arbeiten Sie die Migrations-Vollständigkeits-Checkliste (Abschnitt C5 der Referenz) durch – sie erfasst Anforderungen, die eine zeilenweise Übersetzung übersehen würde, weil der Legacy-Code keine entsprechende Zeile hatte. Bitten Sie den Benutzer dann, die Unity-Konsole auf Kompilierungsfehler zu überprüfen, und beheben Sie alle auftretenden Fehler, bevor Sie die Ergebnisse präsentieren. Blockieren oder wiederholen Sie nicht, wenn Sie die Konsole nicht sehen können: Listen Sie die geänderten Dateien auf, sagen Sie, wonach gesucht werden soll, und fahren Sie fort. - Fehlerbehebung oder Hinzufügen zu einem bestehenden Setup (ATT, GDPR, ILRD, Test Suite, Build-Fehler bei einer neuen Integration oder Hinzufügen einer Funktion zu einer bereits funktionierenden Integration): Identifizieren Sie, was der Benutzer benötigt, und gehen Sie direkt zum relevanten Schritt oder zur Referenz aus "Wann detaillierte Referenzen zu lesen sind".
1. Unity-Umgebung überprüfen
Stellen Sie sicher, dass der Benutzer in einem Unity-Projekt arbeitet, indem Sie überprüfen, ob die Verzeichnisse Assets/ und ProjectSettings/ existieren. Wenn kein Unity-Projekt vorhanden ist, weisen Sie den Benutzer an, zu seinem Unity-Projektverzeichnis zu navigieren. Wenn diese Verzeichnisse nicht gefunden werden, der Benutzer aber glaubt, am richtigen Ort zu sein, fragen Sie: "Es scheint, als ob Sie sich möglicherweise nicht im Projektstammverzeichnis befinden – können Sie zum Hauptordner Ihres Unity-Projekts navigieren und bestätigen, dass Sie dort Assets/ und ProjectSettings/ sehen?"
2. Geschäftsziele verstehen
Bevor Sie Anzeigeneinheiten implementieren, ermitteln Sie die Optimierungsprioritäten des Benutzers, um die geeignete Anzeigeneinheiten-Strategie zu empfehlen. Fragen Sie:
"Was ist Ihr primäres Optimierungsziel?"
- Umsatzorientiert: Maximierung der Werbeeinnahmen und Impression-Chancen
- UX-orientiert: Priorisierung des Spielablaufs und der Benutzerzufriedenheit
- Ausgeglichen: Optimierung sowohl für Umsatz als auch für UX
- Noch nicht sicher: Standardmäßig auf Ausgeglichen setzen und fortfahren. In Schritt 8 kurz darauf hinweisen, dass Sie Ausgeglichen verwenden, da der Benutzer unsicher war, und ihn einladen, eine andere Präferenz anzugeben, da er jetzt die Formatoptionen gesehen hat.
Notieren Sie diese Antwort für die spätere Strategieempfehlung in Schritt 8.
3. LevelPlay SDK über UPM installieren
Wenn das SDK bereits installiert aussieht: Verlassen Sie sich nicht darauf und bitten Sie den Benutzer nicht, das Package Manager-Fenster für Sie zu lesen. Lesen Sie Packages/packages-lock.json und suchen Sie nach com.unity.services.levelplay. Wenn es vorhanden ist, geben Sie an, welche Version aufgelöst wurde, und fahren Sie mit Schritt 4 fort. Wenn nicht, ist es nicht installiert, unabhängig davon, was die bisherige Konversation angenommen hat: Fahren Sie mit der Installation unten fort.
Führen Sie durch die Installation des LevelPlay Unity-Pakets mit dem Unity Package Manager:
- Öffnen Sie Unity → Fenster > Package Manager
- Wählen Sie das Dropdown-Menü "Unity Registry" oder die Registerkarte "Services"
- Geben Sie in der Suchleiste des Package Managers Ads Mediation ein
- Bestätigen Sie, dass der Paketname exakt übereinstimmt: Das korrekte Paket heißt Ads Mediation. Installieren Sie keines dieser Pakete:
- Ads IAP Mediation Adaptor (ein separates In-App-Kauf-Paket, nicht das LevelPlay SDK)
- Advertisement Legacy (ein veraltetes Paket, nicht kompatibel mit der aktuellen LevelPlay-Integration)
- Klicken Sie auf die Schaltfläche "Installieren"
- Warten Sie, bis das Paket heruntergeladen und importiert wurde
Wenn Sie das Paket installieren, wird möglicherweise eine Aufforderung zur Installation des Mobile Dependency Resolver angezeigt – klicken Sie auf Importieren, wenn sie erscheint. Dies wird im nächsten Schritt detaillierter behandelt.
Überprüfen Sie dann, ob es aufgelöst wurde, indem Sie das Projekt lesen, anstatt zu fragen. Die Paket-ID ist com.unity.services.levelplay (der Anzeigename im Package Manager ist Ads Mediation; die ID ist das, was die Projektdateien aufzeichnen). Überprüfen Sie beide Dateien:
Packages/manifest.jsonlistet auf, was das Projekt anfordert.com.unity.services.levelplaymuss unterdependencieserscheinen.Packages/packages-lock.jsonzeichnet auf, was Unity tatsächlich aufgelöst hat. Dieselbe ID muss auch hier erscheinen, mit einer konkreten Version. Diese Datei beantwortet die Frage "Wurde es installiert?", und ihr ist zu vertrauen.
Beides sind einfache JSON-Dateien im Projekt, daher benötigt diese Überprüfung keinen Editor, kein CLI und nichts vom Benutzer. Lesen Sie sie.
Dies ist eine harte Sperre, keine Formsache. Schreiben, generieren oder fügen Sie keine einzige Zeile LevelPlay-Code ein, bis
com.unity.services.levelplayinpackages-lock.jsonvorhanden ist. Wenn Sie vorausspringen, produzieren Sie Code, der korrekt aussieht, aber nirgendwo kompiliert und bei jedem LevelPlay-Namespace mitCS0246fehlschlägt.