Die Funktionen, die bei der Installation von der Mehrheit Ihrer Nutzer nicht benötigt werden, funktionieren als On-Demand-Modul. Im Folgenden finden Sie einige Beispiele für App-Funktionen, die für On-Demand-Module geeignet sind:
- Das Bearbeiten und Hochladen eines Videos in einer App, in der sich die meisten Nutzer nur Videos ansehen
- Hinzufügen eines Rezepts in eine App, in der die meisten Nutzer nur die Rezepte anderer Nutzer durchstöbern und befolgen
- Hilfe- und Supportfunktionen, wenn die meisten Nutzer keine Hilfe benötigen oder in der App nicht danach suchen
- Große Bibliotheken für weniger genutzte Funktionen wie detaillierte Fehlererfassung und Berichterstellung
- Bestimmte Zahlungs- oder Bezahlfunktionen
- Medienerlebnisse mit sehr hoher Auflösung oder VR-/AR-Funktionen
In dem typischen Fall, in dem diese Module relativ klein sind (kleiner als 10 MB) und keine Netzwerk- oder sonstigen Fehler auftreten, können Nutzer ein On-Demand-Modul sehr schnell herunterladen und verwenden. Normalerweise ist das nicht anders, als wenn das Modul bereits bei der App-Installation vorhanden gewesen wäre.
Auf dieser Seite werden Best Practices beschrieben, die Ihnen dabei helfen:
- Sorgen Sie dafür, dass Ihre Nutzer über relativ große Moduldownloads, die nicht sofort geladen werden, oder Fehler bei der Modulinstallation wissen und das Gefühl haben, die Kontrolle darüber zu haben.
- Optimieren Sie die Modulbereitstellung weiter, insbesondere in Situationen, in denen ein Nutzer davon ausgehen kann, dass er ein bestimmtes Modul benötigt.
Nachdem Sie diesen Leitfaden gelesen haben, können Sie sich diese Best Practices in Aktion ansehen. Probieren Sie dazu die Beispiel-App für die Play Core API aus.
Nutzer auf dem Laufenden halten
Sie sollten den Nutzer informieren, wenn eine Funktion nicht sofort verfügbar ist. Wenn ein Nutzer die Funktion bei Google Play herunterladen möchte, wird der Fortschritt des Downloads angezeigt.
Sie können den Anfragestatus überwachen, um sich den Download- und Installationsstatus anzeigen zu lassen. Welche Art von UI Sie anzeigen lassen möchten, kann jedoch von der Größe des Downloads abhängen:
- Bei kleineren Modulen (maximal 10 MB), die sehr schnell installiert werden können, sollten Sie Indikatoren wie ein rotierendes Ladesymbol oder eine kurze Meldung zum Herunterladen von Inhalten verwenden.
- Bei größeren Modulen, deren Download und Installation einige Sekunden oder länger dauern kann, empfiehlt es sich, eine Download- und Installationsfortschrittsanzeige wie in Abbildung 1 anzuzeigen.
Kommunizieren Sie Verzögerungen und Fehler bei einer Installation ordnungsgemäß.
Wenn ein Download fehlschlägt oder langsamer als erwartet dauert, sollten Sie dem Nutzer klar und transparent mitteilen, was passiert und was er gegebenenfalls tun kann (siehe Abbildung 2 und 3). Wenn Sie beispielsweise den Status der Downloadanfrage überwachen und Ihre Anwendung den Fehler API_NOT_AVAILABLE
erhält, weisen Sie den Nutzer darauf hin, dass sein Gerät keine On-Demand-Downloads unterstützt.
Wert für große Downloads anzeigen, bevor Berechtigung angefordert wird
Wenn ein On-Demand-Modul groß ist (> 150 MB), muss der Nutzer bei Google Play zuerst einwilligen, bevor er das Modul herunterladen kann.
Bevor Sie das Modul anfordern, erklären Sie Ihren Nutzern den Wert des Moduls. Verdeutlichen Sie der Person, warum Sie diese Anfrage stellen, so wie Sie es bei der Anforderung von App-Berechtigungen tun würden. Wenn Sie offen mit den Nutzern kommunizieren, steigt die Wahrscheinlichkeit, dass sie den Download akzeptieren.
Angenommen, Sie entwickeln eine E-Commerce-App und eine der Funktionen ermöglicht es Nutzern, mithilfe von Augmented Reality (AR) Möbel direkt in ihrer Wohnung zu platzieren. Sie könnten z. B. schreiben: „Möchten Sie Ihr neues Sofa im Wohnzimmer sehen? Installiere jetzt den Augmented-Reality-Viewer.“
Download und Installation im Hintergrund ausführen
Der Download und die Installation des Moduls sollten immer im Hintergrund erfolgen. Das heißt, während ein Nutzer darauf wartet, dass eine Funktion verfügbar wird, solltest du ihm die Möglichkeit geben, andere Teile deiner App weiter zu verwenden. Wenn die Funktion verfügbar ist, solltest du eine Benachrichtigung senden, über die der Nutzer nach eigenem Ermessen zu dieser Funktion wechseln kann.
Wie in Abbildung 5 gezeigt, verwendet der Nutzer die App weiterhin und erhält eine Benachrichtigung, wenn die Installation einer On-Demand-Funktion abgeschlossen ist.
Wenn das Modul einsatzbereit ist, benachrichtigen Sie den Nutzer und geben Sie ihm die Wahl, ob die Funktion gestartet werden soll. Dieses Muster gibt dem Nutzer Kontext und Kontrolle über sein Erlebnis.
In einigen Fällen könnten Sie die Funktion einführen, sobald sie fertiggestellt ist. Da dies jedoch den Nutzer stören könnte, sollten Sie sorgfältig überlegen, ob dieses Verhalten erwartet und angemessen ist.
Gerätespeicher freigeben, wenn ein Modul nicht mehr benötigt wird
Eine nützliche Funktion aller Funktionsmodule ist die Möglichkeit, sie einzeln zu deinstallieren. Wenn ein Funktionsmodul nicht mehr verwendet wird, kannst du die Größe deiner App auf dem Gerät eines Nutzers reduzieren. Fordere dazu Google Play an, das Modul zu deinstallieren.
Ihre Anwendung kann beispielsweise einen robusten Onboarding-Ablauf haben, der vielleicht auch Rich Media enthält. Nachdem ein Nutzer das Onboarding abgeschlossen hat oder nachdem er für eine bestimmte Zeit aktiv genutzt wurde, kannst du mit der Play Feature Delivery API beantragen, dass Google Play nur diese Komponente deiner App deinstalliert.
Beachten Sie, dass Sie Module, die Sie bei der ersten App-Installation hinzugefügt haben, auch später deinstallieren können. Beispiel: Ein Modul, in dem neue Nutzer in der Verwendung Ihrer App geschult werden, ist nützlich, wenn sie Ihre App zum ersten Mal verwenden. Um die App-Größe zu reduzieren, können Sie sie jedoch nach Abschluss des Trainings wieder deinstallieren.
Tipps für erfahrene Nutzer
Normalerweise sollten Sie mit Situationen umgehen, in denen der Nutzer explizit signalisiert, dass er die Funktionen Ihrer On-Demand-Funktionsmodule verwenden möchte.
Unter Umständen möchten Sie jedoch vorhersagen, wann ein Nutzer eine Funktion wahrscheinlich verwenden wird, bevor er Ihnen signalisiert, dass er sie verwenden möchte. In den folgenden Richtlinien wird beschrieben, wie Sie die Modulübermittlung anhand einer App, mit der Sie Kochrezepte herunterladen und erstellen können, anhand der Anforderungen der Nutzer optimieren können.
Die Anforderung eines Nutzers an eine Funktion in der aktuellen Sitzung voraussagen Überlegen Sie, ob Nutzer nur dann ein Konto für die Rezept-App erstellen müssen, wenn sie ihre eigenen Rezepte erstellen und mit der Community teilen möchten. Sie können die Kontoerstellung als Signal dafür nutzen, dass der Nutzer wahrscheinlich sein eigenes Rezept hinzufügen möchte und mit dem Herunterladen des Funktionsmoduls beginnt, bevor der Nutzer überhaupt auf „Rezept hinzufügen“ tippt. Sie können diesen Ansatz auf andere User Journeys in der App anwenden, um den Prozess zum Herunterladen von Funktionen nahtloser zu gestalten.
Du kannst die Anforderung eines Nutzers für die Funktion in einer der nächsten Sitzungen vorhersehen. Wenn deine App nicht sofort ein On-Demand-Modul herunterladen und installieren muss, kannst du die Installation auf einen späteren Zeitpunkt verschieben, an dem die App im Hintergrund ausgeführt wird. Google Play übernimmt dann den Download und die Installation für dich. Stellen Sie sich zum Beispiel vor, Sie möchten neue saisonale Rezepte für die Koch-App veröffentlichen, die für die aktuelle Sitzung des Nutzers keine hohe Priorität haben. Du kannst Google Play bitten, diese Rezepte herunterzuladen und zu installieren, wenn die App im Hintergrund ausgeführt wird. Dies ist besonders nützlich für größere Features (>10 MB), die nicht sofort, aber wahrscheinlich in Zukunft benötigt werden.
Vor der App-Installation voraussagen, dass der Nutzer eine bestimmte Funktion benötigt Es kann sinnvoll sein, die bedingte Zustellung zu unterstützen, um das Feature bei der Installation je nach Land des Nutzers, Hardware-Funktion des Geräts und API-Level einzubinden. Sie können beispielsweise Rezepte mit Schweinefleisch in bedingten Modulen aufnehmen und dieses Modul bei der App-Installation in Regionen ausschließen, in denen hauptsächlich Gerichte mit Schweinefleisch vermieden werden.