Wenn Sie Ihre App auf die Größenanforderungen verkleinern, probieren Sie zuerst die Standardtechniken zur Optimierung der APK-Größe aus. Wenn Sie die Größe weiter reduzieren müssen, müssen Sie sich möglicherweise auf die Bereitstellung von Assets in der Cloud verlassen. In diesem Dokument wird beschrieben, wie Assets für die Cloud-Bereitstellung vorbereitet werden, sowie die Supportoptionen verschiedener Spiel-Engines. Die Anleitungen auf dieser Seite konzentrieren sich zwar auf Spiele, die Grundsätze gelten jedoch für alle Apps, die große Assets enthalten.
Vorbereitung
Wenn Sie Ihre Anwendung für die Bereitstellung von Assets in der Cloud aufteilen möchten, sollten Sie überlegen, wie Sie die Anwendungsdateien in Abschnitte aufteilen können, je nachdem, wann sie für den Nutzer verfügbar sein müssen. Dieser Zeitpunkt lässt sich tendenziell in die folgenden drei Kategorien einordnen: „Immer erforderlich“, „Bei der Einführung erforderlich“ und „Später erforderlich“.
Immer erforderlich
Einige Assets sind schwer in kleinere Blöcke zu unterteilen oder müssen im Basis-APK gebündelt werden. Beispiele hierfür sind Ihr Spielcode und die zugehörige Bibliothek oder Engine-Abhängigkeiten. Google Play Core unterstützt zwar App Bundles für Code, viele Engines jedoch nicht.
Bei Einführung erforderlich
Nach dem Start des Spiels sollte der Nutzer sofort spielen können. Für Google Play Instant müssen Nutzer Ihr Spiel in weniger als 15 Sekunden über eine LTE- oder 4G-Verbindung starten können. Weitere Informationen finden Sie in der Google Play Instant-Checkliste. Daher sollte jeder sekundäre Download nach dem Start nur so groß sein, wie es für den anfänglichen Vorgang erforderlich ist. Beispielsweise kann ein direkter Download direkt nach dem Start die ersten Spiel-Level- und Standort-Assets oder jeglichen Code enthalten, der für die ersten Spielminuten erforderlich ist.
Wird später benötigt
Alle Inhalte, die Sie sich leisten können, um sie später bei Bedarf im Hintergrund herunterzuladen, fallen in diese Kategorie. Diese Kategorie enthält die meisten Assets für Spiele mit langer Spielzeit. Wenn Sie diese Assets später herunterladen, wird die Größe Ihrer App auf so klein wie möglich reduziert.
Motorunterstützung
Die Cloud Asset Delivery ist die primäre Methode, um das Limit von 15 MB für Instant Play-Spiele für Ihr Spiel zu überschreiten. Die Unterstützung für das Herunterladen von Assets hängt von der Spiel-Engine ab. Unten findest du die häufigsten Fälle sowie Optionen zum Hosten von Assets.
Weniger Assets, die zu Beginn benötigt werden, ermöglichen es dem Nutzer, schneller ins Spiel einzusteigen. Dies führt zu einer geringeren Abbruchrate und einer besseren Spielerbindung bei diesem ersten Start.
Play Feature Delivery (über App Bundles)
Wenn Sie Ihre App als App-Bundle veröffentlichen (die bevorzugte Methode), können Sie Funktionsmodule verwenden, um zusätzliche Ressourcen über das Basis-APK hinaus abzurufen. Für deine Instant-App muss in jedem Funktionsmodul dist:instant="true"
im Manifest festgelegt werden. Das Attribut dist:on-demand
sollte nicht verwendet werden; es wird hauptsächlich für On-Demand-Module in installierten APKs verwendet. Außerdem muss jedes Feature-Modul unter dem Instant-APK-Limit von 15 MB liegen, unabhängig davon, ob das Modul Code enthält oder nicht. Andernfalls wird die Veröffentlichung in Alpha- oder Release-Tracks verhindert. Nach der ordnungsgemäßen Konfiguration können Sie mit der PlayCore-Bibliothek Funktionsmodule zur Laufzeit abrufen.
Cocos-Creator
Cocos unterstützt seit Version 2.0.4 die Bereitstellung von Assets in der Cloud. Cocos lädt Assets on demand herunter und rendert Platzhalter, wenn die Assets nicht rechtzeitig heruntergeladen wurden. Cocos generiert Asset-Dateien, die mit einigen Online-Diensten gehostet werden müssen, da Cocos keine eigene Lösung zur Verfügung stellt.
Unity
Die Cloud-Bereitstellung wird im Unity Google Play Instant-Plug-in für die Unity-Versionen 5.6, 2017.4 und 2018.2 unterstützt. Spätere Versionen von Unity bieten weitere Vorteile für das Entfernen von Engines. Daher kann es von Vorteil sein, zu ihnen zu migrieren, um mehr Speicherplatz freizugeben. Unity-Cloud-Assets werden in AssetBundle
-Dateien gehostet, die Unity für Sie erstellt. Das Hochladen von Assets auf einen Cloud-Server ermöglicht die Cloud-Bereitstellung von Assets, da Unity das Herunterladen von Asset-Bundles unterstützt.
Andere Suchmaschinen
Unabhängig davon, ob Sie eine benutzerdefinierte Engine oder eine Sammlung nativer Bibliotheken verwenden, kann Ihre Wahl standardmäßig das Herunterladen von Assets in der Cloud unterstützen. Wenn Sie genügend Assets haben, um sie aus der Cloud herunterzuladen, müssen Sie eine Methode zum Herunterladen von Assets bei Bedarf für Ihr Spiel programmieren oder integrieren. Die Firebase Hosting API oder die Firebase Cloud Storage API sind hierfür gut geeignet. Einige Suchmaschinen bieten einen einfachen HTTPS-Dateiabruf, der Ihren Anforderungen möglicherweise ebenfalls genügt.
Hosting-Assets
Wenn Sie Ihre Assets nicht mit Google Play App Bundles bei Google Play herunterladen, müssen Sie sie anderswo hosten. Sie können sie mit jedem gewünschten Dienst hosten, solange diese weltweit verbreitet und verfügbar sind. Nutzer der Google Play Spiele App spielen auf der ganzen Welt. Daher müssen in der Cloud gehostete Assets schnell und an jedem Ort bereitgestellt werden.