Play Feature Delivery

Im App-Bereitstellungsmodell von Google Play werden Android App Bundles verwendet, um optimierte APKs für die Gerätekonfiguration der einzelnen Nutzer zu generieren und bereitzustellen. Nutzer laden dann nur den Code und die Ressourcen herunter, die sie zum Ausführen deiner App benötigen.

Play Feature Delivery nutzt erweiterte Funktionen von App Bundles, sodass bestimmte Funktionen Ihrer App unter bestimmten Bedingungen bereitgestellt oder on demand heruntergeladen werden können. Dazu müssen Sie diese Funktionen zuerst von Ihrer Basis-App in Funktionsmodule unterteilen.

Build-Konfiguration für Funktionsmodul

Wenn Sie mit Android Studio ein neues Funktionsmodul erstellen, wendet die IDE das folgende Gradle-Plug-in auf die Datei build.gradle des Moduls an.

// The following applies the dynamic-feature plugin to your feature module.
// The plugin includes the Gradle tasks and properties required to configure and build
// an app bundle that includes your feature module.

plugins {
  id 'com.android.dynamic-feature'
}

Viele der für das Standard-Anwendungs-Plug-in verfügbaren Attribute sind auch für Ihr Featuremodul verfügbar. In den folgenden Abschnitten werden die Attribute beschrieben, die Sie in die Build-Konfiguration Ihres Featuremoduls aufnehmen sollten und welche nicht.

Was nicht in der Build-Konfiguration des Feature-Moduls enthalten ist

Da jedes Featuremodul vom Basismodul abhängt, übernimmt es auch bestimmte Konfigurationen. Daher sollten Sie in der Datei build.gradle des Feature-Moduls Folgendes weglassen:

  • Signierkonfigurationen:App Bundles werden mit Signaturkonfigurationen signiert, die Sie im Basismodul angeben.
  • Attribut minifyEnabled:Sie können das Codekomprimieren für das gesamte Anwendungsprojekt nur über die Build-Konfiguration des Basismoduls aktivieren. Daher sollten Sie diese Eigenschaft bei den Funktionsmodulen weglassen. Sie können jedoch für jedes Featuremodul zusätzliche ProGuard-Regeln festlegen.
  • versionCode und versionName: Beim Erstellen des App-Bundles verwendet Gradle die Informationen zur App-Version, die vom Basismodul bereitgestellt werden. Sie sollten diese Attribute in der Datei build.gradle Ihres Featuremoduls weglassen.

Beziehung zum Basismodul herstellen

Wenn Android Studio Ihr Feature-Modul erstellt, wird es für das Basismodul sichtbar, indem es der Datei build.gradle des Basismoduls das Attribut android.dynamicFeatures hinzufügt:

// In the base module’s build.gradle file.
android {
    ...
    // Specifies feature modules that have a dependency on
    // this base module.
    dynamicFeatures = [":dynamic_feature", ":dynamic_feature2"]
}

Darüber hinaus enthält Android Studio das Basismodul als Abhängigkeit des Funktionsmoduls, wie unten dargestellt:

// In the feature module’s build.gradle file:
...
dependencies {
    ...
    // Declares a dependency on the base module, ':app'.
    implementation project(':app')
}

Zusätzliche ProGuard-Regeln angeben

Obwohl nur die Build-Konfiguration des Basismoduls die Codeverkleinerung für Ihr App-Projekt ermöglicht, können Sie mit jedem Featuremodul über das Attribut proguardFiles benutzerdefinierte ProGuard-Regeln angeben, wie unten gezeigt.

android.buildTypes {
     release {
         // You must use the following property to specify additional ProGuard
         // rules for feature modules.
         proguardFiles 'proguard-rules-dynamic-features.pro'
     }
}

Beachten Sie, dass diese ProGuard-Regeln bei der Build-Erstellung mit denen aus anderen Modulen (einschließlich des Basismoduls) zusammengeführt werden. Obwohl für jedes Funktionsmodul ein neuer Satz von Regeln angegeben werden kann, gelten diese Regeln für alle Module im App-Projekt.

Anwendung bereitstellen

Während Sie Ihre Anwendung mit Unterstützung für Funktionsmodule entwickeln, können Sie sie wie gewohnt auf einem verbundenen Gerät bereitstellen. Wählen Sie dazu in der Menüleiste Ausführen > Ausführen aus oder klicken Sie in der Symbolleiste auf Ausführen .

Wenn Ihr App-Projekt ein oder mehrere Funktionsmodule enthält, können Sie auswählen, welche Features bei der Bereitstellung der App berücksichtigt werden sollen. Dazu ändern Sie die vorhandene Ausführungs-/Fehlerbehebungskonfiguration so:

  1. Wählen Sie in der Menüleiste Run > Edit Configurations aus.
  2. Wählen Sie im linken Bereich des Dialogfelds Run/Debug Configurations (Ausführungs-/Fehlerbehebungskonfigurationen) die gewünschte Konfiguration für die Android-App aus.
  3. Klicken Sie unter Dynamische Features für die Bereitstellung auf dem Tab Allgemein das Kästchen neben jedem Featuremodul an, das Sie bei der Bereitstellung Ihrer Anwendung einbinden möchten.
  4. Klicke auf OK.

Standardmäßig wird deine App von Android Studio nicht mit App Bundles bereitgestellt, um sie bereitzustellen. Stattdessen erstellt und installiert die IDE APKs auf deinem Gerät, die für die Bereitstellungsgeschwindigkeit und nicht für die APK-Größe optimiert sind. Wenn Sie Android Studio so konfigurieren möchten, dass APKs und Instant-Versionen stattdessen aus einem App Bundle erstellt und bereitgestellt werden, ändern Sie Ihre Ausführungs-/Fehlerbehebungskonfiguration.

Funktionsmodule für benutzerdefinierte Zustellung verwenden

Ein besonderer Vorteil von Funktionsmodulen besteht darin, dass du anpassen kannst, wie und wann verschiedene Funktionen deiner App auf Geräte mit Android 5.0 (API-Level 21) oder höher heruntergeladen werden. Wenn du beispielsweise die anfängliche Downloadgröße deiner App reduzieren möchtest, kannst du bestimmte Funktionen so konfigurieren, dass sie entweder bei Bedarf oder nur von Geräten heruntergeladen werden, die bestimmte Funktionen unterstützen, z. B. die Möglichkeit, Bilder aufzunehmen oder Augmented Reality-Funktionen zu unterstützen.

Auch wenn Sie Ihre App standardmäßig als App Bundle hochladen, sind die Downloads optimiert. Die erweiterten und anpassbaren Optionen für die Featurebereitstellung erfordern eine zusätzliche Konfiguration und Modularisierung der Funktionen Ihrer App mithilfe von Funktionsmodulen. Funktionsmodule stellen also die Bausteine zum Erstellen modularer Funktionen bereit, die Sie jeweils konfigurieren und nach Bedarf herunterladen können.

Stellen Sie sich eine App vor, mit der Nutzer Waren auf einem Onlinemarktplatz kaufen und verkaufen können. Du kannst jede der folgenden Funktionen der App in separate Funktionsmodule modularisieren:

  • Kontoanmeldung und Kontoerstellung
  • Marketplace durchsuchen
  • Einen Artikel zum Verkauf anbieten
  • Zahlungen werden verarbeitet

In der folgenden Tabelle werden die verschiedenen Auslieferungsoptionen beschrieben, die von Featuremodulen unterstützt werden, und wie sie verwendet werden können, um die anfängliche Downloadgröße der Beispiel-Marketplace-App zu optimieren.

Lieferoption Verhalten Beispielanwendungsfall Erste Schritte
Installationszeitpunkt Funktionsmodule, für die keine der oben beschriebenen Auslieferungsoptionen konfiguriert ist, werden standardmäßig bei der App-Installation heruntergeladen. Dies ist ein wichtiges Verhalten, da Sie so erweiterte Bereitstellungsoptionen schrittweise einführen können. Du kannst beispielsweise von der Modularisierung deiner App-Funktionen profitieren und die On-Demand-Bereitstellung erst aktivieren, nachdem du On-Demand-Downloads über die Play Feature Delivery Library vollständig implementiert hast.

Außerdem kann die Deinstallation von Funktionen durch Ihre App zu einem späteren Zeitpunkt angefordert werden. Wenn Sie bestimmte Funktionen also bei der App-Installation benötigen, aber danach nicht mehr erforderlich sind, können Sie die Installationsgröße reduzieren, indem Sie beantragen, das Feature vom Gerät zu entfernen.

Wenn die App über bestimmte Trainingsaktivitäten verfügt, z. B. eine interaktive Anleitung zum Kaufen und Verkaufen von Artikeln auf dem Marktplatz, können Sie dieses Feature standardmäßig bei der App-Installation einbinden.

Um die installierte Größe der Anwendung zu reduzieren, kann die Anwendung jedoch das Löschen des Features anfordern, nachdem der Nutzer das Training abgeschlossen hat.

Modularisieren Sie Ihre App mithilfe von Funktionsmodulen, die keine erweiterten Übermittlungsoptionen konfigurieren.

Informationen zum Reduzieren der installierten Größe deiner App durch das Entfernen bestimmter Funktionsmodule, die der Nutzer möglicherweise nicht mehr benötigt, findest du unter Installierte Module verwalten.

On-Demand-Auslieferung Ermöglicht deiner App, Funktionsmodule bei Bedarf anzufordern und herunterzuladen. Wenn nur 20% der Nutzer der Marketplace-App Artikel zum Verkauf anbieten, empfiehlt es sich, die anfängliche Downloadgröße für die Mehrheit der Nutzer zu reduzieren, indem sie die Funktion zum Aufnehmen von Bildern, einschließlich einer Artikelbeschreibung, und den Verkauf eines Artikels als On-Demand-Download zur Verfügung stellt. Das heißt, du kannst das Funktionsmodul für die Verkaufsfunktion der App so konfigurieren, dass es nur heruntergeladen wird, wenn ein Nutzer Interesse daran zeigt, Artikel auf dem Marktplatz anzubieten.

Wenn der Nutzer nach einem bestimmten Zeitraum keine Artikel mehr verkauft, kann die Installation der App reduziert werden, indem die Deinstallation der Funktion angefragt wird.

Erstellen Sie ein Featuremodul und konfigurieren Sie die Bereitstellung nach Bedarf. Deine App kann dann über die Play Feature Delivery Library den Download des Moduls bei Bedarf anfordern.
Bedingte Auslieferung Hiermit kannst du bestimmte Anforderungen an Nutzergeräte angeben, z. B. Hardwarefunktionen, Sprache und API-Mindestebene, um festzulegen, ob eine modularisierte Funktion bei der App-Installation heruntergeladen wird. Wenn die Marketplace-Anwendung eine globale Reichweite hat, müssen Sie möglicherweise Zahlungsmethoden unterstützen, die nur in bestimmten Regionen oder vor Ort beliebt sind. Um die anfängliche Downloadgröße der App zu reduzieren, kannst du separate Funktionsmodule für die Verarbeitung bestimmter Arten von Zahlungsmethoden erstellen und diese je nach registrierter Sprache unter bestimmten Bedingungen auf dem Gerät eines Nutzers installieren. Erstellen Sie ein Featuremodul und konfigurieren Sie die bedingte Bereitstellung.
Sofortige Lieferung Mit Google Play Instant können Nutzer mit deiner App interagieren, ohne sie auf ihrem Gerät installieren zu müssen. Stattdessen können sie deine App über die Schaltfläche „Jetzt testen“ im Google Play Store oder über eine von dir erstellte URL aufrufen. Diese Form der Bereitstellung von Inhalten erleichtert es dir, die Interaktion mit deiner App zu steigern.

Bei der sofortigen Übermittlung kannst du Google Play Instant verwenden, um deinen Nutzern die sofortige Nutzung bestimmter Funktionen deiner App ohne Installation zu ermöglichen.

Nehmen wir ein Spiel, bei dem die ersten Level des Spiels in einem einfachen Funktionsmodul enthalten sind. Sie können das Modul sofort aktivieren, sodass Nutzer das Spiel sofort über einen URL-Link oder eine Schaltfläche „Jetzt testen“ ohne App-Installation erleben können. Erstellen Sie ein Featuremodul und konfigurieren Sie die sofortige Zustellung. Deine App kann dann über die Play Feature Delivery Library den Download des Moduls bei Bedarf anfordern.

Beachte, dass die Modularisierung deiner App-Funktionen mithilfe von Funktionsmodulen nur der erste Schritt ist. Zur Unterstützung von Google Play Instant müssen die Downloadgröße des Basismoduls deiner App und einer bestimmten Instant-fähigen Funktion strenge Größenbeschränkungen erfüllen. Weitere Informationen findest du unter Instant-Erfahrung durch Reduzieren der App- oder Spielgröße ermöglichen.

URI für eine Ressource erstellen

Wenn Sie über einen URI auf eine Ressource zugreifen möchten, die in einem Featuremodul gespeichert ist, generieren Sie mit Uri.Builder() einen Ressourcen-URI für Featuremodule:

Kotlin

val uri = Uri.Builder()
                .scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
                .authority(context.getPackageName()) // Look up the resources in the application with its splits loaded
                .appendPath(resources.getResourceTypeName(resId))
                .appendPath(String.format("%s:%s",
                  resources.getResourcePackageName(resId), // Look up the dynamic resource in the split namespace.
                  resources.getResourceEntryName(resId)
                  ))
                .build()

Java

String uri = Uri.Builder()
                .scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
                .authority(context.getPackageName()) // Look up the resources in the application with its splits loaded
                .appendPath(resources.getResourceTypeName(resId))
                .appendPath(String.format("%s:%s",
                  resources.getResourcePackageName(resId), // Look up the dynamic resource in the split namespace.
                  resources.getResourceEntryName(resId)
                  ))
                .build().toString();

Jeder Teil des Pfads zur Ressource wird während der Laufzeit erstellt, damit nach dem Laden der unterteilten APKs der richtige Namespace generiert wird.

Ein Beispiel für die Generierung des URI wird angenommen, wenn Sie eine App und Funktionsmodule mit den folgenden Namen haben:

  • App-Paketname: com.example.my_app_package
  • Paketname der Featureressourcen: com.example.my_app_package.my_dynamic_feature

Wenn sich resId im obigen Code-Snippet auf eine Rohdateiressource mit dem Namen „my_video“ in Ihrem Funktionsmodul bezieht, würde der obige Uri.Builder()-Code Folgendes ausgeben:

android.resource://com.example.my_app_package/raw/com.example.my_app_package.my_dynamic_feature:my_video

Mit diesem URI kann deine App dann auf die Ressource des Funktionsmoduls zugreifen.

Wenn Sie die Pfade in Ihrem URI prüfen möchten, können Sie mit dem APK Analyzer das APK Ihres Featuremoduls prüfen und den Paketnamen ermitteln:

Screenshot des APK Analyzers, in dem der Inhalt einer kompilierten Ressourcendatei untersucht wird

Abbildung 2: Verwende das APK Analyzer, um den Paketnamen in einer kompilierten Ressourcendatei zu überprüfen.

Überlegungen zu Funktionsmodulen

Mit Funktionsmodulen können Sie die Build- und Entwicklungsgeschwindigkeit verbessern und die Bereitstellung der Funktionen Ihrer App umfassend anpassen, um die Größe Ihrer App zu reduzieren. Bei der Verwendung von Funktionsmodulen sind jedoch einige Einschränkungen und Grenzfälle zu beachten:

  • Die Installation von 50 oder mehr Funktionsmodulen auf einem einzelnen Gerät über eine bedingte oder On-Demand-Bereitstellung kann zu Leistungsproblemen führen. Module bei der Installation, die nicht als entnehmbar konfiguriert sind, sind automatisch im Basismodul enthalten und zählen nur als ein Funktionsmodul auf jedem Gerät.
  • Begrenzen Sie die Anzahl der Module, die Sie für die Bereitstellung bei der Installation als entfernbar konfigurieren, auf maximal zehn. Andernfalls kann sich die Download- und Installationszeit Ihrer App verlängern.
  • Das Herunterladen und Installieren von Funktionen bei Bedarf wird nur auf Geräten mit Android 5.0 (API-Level 21) und höher unterstützt. Wenn Sie Ihr Feature für frühere Versionen von Android verfügbar machen möchten, aktivieren Sie beim Erstellen eines Funktionsmoduls Fusing.
  • Aktivieren Sie SplitCompat, damit Ihre Anwendung auf heruntergeladene Funktionsmodule zugreifen kann, die bei Bedarf bereitgestellt werden.
  • Featuremodule sollten in ihrem Manifest keine Aktivitäten angeben, wenn android:exported auf true gesetzt ist. Das liegt daran, dass es keine Garantie dafür gibt, dass das Gerät das Funktionsmodul heruntergeladen hat, wenn eine andere App versucht, die Aktivität zu starten. Außerdem sollte Ihre Anwendung prüfen, ob eine Funktion heruntergeladen wurde, bevor versucht wird, auf ihren Code und ihre Ressourcen zuzugreifen. Weitere Informationen finden Sie unter Installierte Module verwalten.
  • Bei Play Feature Delivery musst du deine App mit einem App Bundle veröffentlichen. Achte deshalb darauf, dass du die bekannten Probleme mit App Bundle kennst.

Manifestreferenz für Funktionsmodul

Beim Erstellen eines neuen Funktionsmoduls mit Android Studio enthält die IDE die meisten Manifestattribute, die für das Verhalten des Moduls erforderlich sind. Außerdem werden einige Attribute bei der Kompilierung vom Build-System eingeschleust, sodass Sie sie nicht selbst angeben oder ändern müssen. In der folgenden Tabelle werden die Manifestattribute beschrieben, die für Featuremodule wichtig sind.

Attribut Beschreibung
<manifest
...
Dies ist ein typischer <manifest>-Block.
xmlns:dist="http://schemas.android.com/apk/distribution" Gibt einen neuen dist:-XML-Namespace an, der unten näher beschrieben wird.
split="split_name" Wenn Android Studio dein App Bundle erstellt, wird dieses Attribut für dich enthalten. Daher sollten Sie dieses Attribut nicht selbst hinzufügen oder ändern.

Definiert den Namen des Moduls, den Ihre App angibt, wenn ein On-Demand-Modul mithilfe der Play Feature Delivery Library angefordert wird.

So bestimmt Gradle den Wert für dieses Attribut:

Wenn Sie ein Feature-Modul mit Android Studio erstellen, verwendet die IDE standardmäßig den von Ihnen als Modulnamen angegebenen Modulnamen, um das Modul in der Gradle-Einstellungsdatei als Gradle-Unterprojekt zu identifizieren.

Beim Erstellen des App Bundles verwendet Gradle das letzte Element des Unterprojektpfads, um dieses Manifestattribut in das Manifest des Moduls einzufügen. Wenn Sie beispielsweise ein neues Featuremodul im Verzeichnis MyAppProject/features/ erstellen und „dynamic_feature1“ als Modulname angeben, fügt die IDE ':features:dynamic_feature1' als Unterprojekt in die Datei settings.gradle ein. Beim Erstellen deines App Bundles fügt Gradle dann <manifest split="dynamic_feature1"> in das Manifest des Moduls ein.

android:isFeatureSplit="true | false"> Wenn Android Studio dein App Bundle erstellt, wird dieses Attribut für dich enthalten. Daher sollten Sie dieses Attribut nicht manuell hinzufügen oder ändern.

Gibt an, dass dieses Modul ein Funktionsmodul ist. Manifeste in den Basismodul- und Konfigurations-APKs lassen dieses Attribut entweder weg oder setzen es auf false.

<dist:module Dieses neue XML-Element definiert Attribute, die bestimmen, wie das Modul verpackt und als APKs verteilt wird.
dist:instant="true | false" Gibt an, ob das Modul über Google Play Instant als Instant-Funktion verfügbar sein soll.

Wenn Ihre App ein oder mehrere Funktionsmodule mit Instant-Version enthält, müssen Sie auch das Basismodul sofort aktivieren. Wenn Sie Android Studio 3.5 oder höher verwenden, erledigt die IDE dies für Sie, wenn Sie ein Funktionsmodul mit Instant-Version erstellen.

Sie können dieses XML-Element nicht auf true festlegen, während Sie gleichzeitig <dist:on-demand/> festlegen. Sie können jedoch weiterhin On-Demand-Downloads Ihrer Instant-Funktionsmodule als Instant-Version über die Play Feature Delivery Library anfordern. Wenn ein Nutzer deine App herunterlädt und installiert, lädt das Gerät standardmäßig die Instant-Funktionsmodule deiner App herunter und installiert sie zusammen mit dem Basis-APK.

dist:title="@string/feature_name" Gibt einen für den Nutzer sichtbaren Titel für das Modul an. Dieser Titel kann beispielsweise angezeigt werden, wenn eine Downloadbestätigung angefordert wird.

Sie müssen die Stringressource für diesen Titel in die Datei module_root/src/source_set/res/values/strings.xml des Basismoduls aufnehmen.

<dist:fusing dist:include="true | false" />
</dist:module>
Gibt an, ob das Modul in Multi-APKs enthalten ist, die auf Geräte mit Android 4.4 (API-Level 20) und niedriger ausgerichtet sind.

Wenn du bundletool verwendest, um APKs aus einem App Bundle zu generieren, sind nur Featuremodule, die dieses Attribut auf true setzen, im universellen APK enthalten. Das ist ein monolithisches APK, das Code und Ressourcen für alle Gerätekonfigurationen enthält, die deine App unterstützt.

<dist:delivery> Kapselt Optionen zum Anpassen der Modulübermittlung, wie unten gezeigt. Beachten Sie, dass für jedes Featuremodul nur ein Typ dieser benutzerdefinierten Übermittlungsoptionen konfiguriert werden darf.
<dist:install-time> Gibt an, dass das Modul zum Zeitpunkt der Installation verfügbar sein soll. Dies ist das Standardverhalten für Funktionsmodule, die keine andere Art von benutzerdefinierter Übermittlungsoption angeben.

Weitere Informationen zu Downloads bei der Installation findest du unter Bereitstellung bei Installation konfigurieren.

Dieser Knoten kann auch Bedingungen angeben, die das Modul auf Geräte beschränken, die bestimmte Anforderungen erfüllen, z. B. Gerätefunktionen, das Land des Nutzers oder das minimale API-Level. Weitere Informationen finden Sie unter Bedingte Bereitstellung konfigurieren.

<dist:removable dist:value="true | false" />

Wenn die Richtlinie nicht konfiguriert oder auf false gesetzt ist, führt „bundletool“ beim Generieren unterteilter APKs aus dem Bundle Installationszeitmodule mit dem Basismodul zusammen. Da durch die Zusammenführung weniger unterteilte APKs entstehen, kann diese Einstellung die Leistung Ihrer App verbessern.

Wenn removable auf true gesetzt ist, werden Module bei der Installation nicht mit dem Basismodul zusammengeführt. Legen Sie true fest, wenn Sie Module zukünftig deinstallieren möchten. Wenn Sie jedoch zu viele Module konfigurieren, die nicht entfernt werden können, kann die Installationszeit Ihrer App länger dauern.

Die Standardeinstellung ist false. Sie müssen diesen Wert nur im Manifest festlegen, wenn Sie die Zusammenführung für ein Feature-Modul deaktivieren möchten.

Hinweis:Diese Funktion ist nur verfügbar, wenn Sie das Android-Gradle-Plug-in 4.2 oder Bundletool v1.0 über die Befehlszeile verwenden.

</dist:install-time>  
<dist:on-demand/> Gibt an, dass das Modul als On-Demand-Download verfügbar sein soll. Das bedeutet, dass das Modul bei der Installation nicht verfügbar ist, aber Ihre App möglicherweise später einen Download anfordert.

Weitere Informationen zu On-Demand-Downloads finden Sie unter On-Demand-Bereitstellung konfigurieren.

</dist:delivery>
<application
android:hasCode="true | false">
...
</application>
Wenn das Featuremodul keine DEX-Dateien generiert, also keinen Code enthält, der später in das DEX-Dateiformat kompiliert wird, müssen Sie Folgendes tun (andernfalls können Laufzeitfehler auftreten):
  1. Setze android:hasCode im Manifest des Funktionsmoduls auf "false".
  2. Fügen Sie dem Manifest Ihres base-Moduls Folgendes hinzu:
    <application
      android:hasCode="true"
      tools:replace="android:hasCode">
      ...
    </application>
    

Zusätzliche Ressourcen

Weitere Informationen zur Verwendung von Funktionsmodulen finden Sie in den folgenden Ressourcen.

Blogposts

Videos

Nutzungsbedingungen und Datensicherheit

Durch den Zugriff auf die Play Feature Delivery Library oder deren Verwendung stimmst du den Nutzungsbedingungen des Play Core Software Development Kit zu. Bitte lesen und verstehen Sie alle geltenden Nutzungsbedingungen und Richtlinien, bevor Sie auf die Bibliothek zugreifen.

Datensicherheit

Die Play Core-Bibliotheken sind die Schnittstelle zwischen Ihrer App und dem Google Play Store. Wenn Sie Play Core in Ihrer App verwenden, führt der Play Store daher eigene Prozesse aus. Dazu zählt die Verarbeitung von Daten gemäß den Google Play-Nutzungsbedingungen. Im Folgenden wird beschrieben, wie die Play Core-Bibliotheken Daten verarbeiten, um bestimmte Anfragen von deiner App zu verarbeiten.

API für zusätzliche Sprachen

Im Rahmen der Nutzung erhobene Daten Liste der installierten Sprachen
Zweck der Datenerhebung Die erhobenen Daten werden verwendet, um verschiedene Sprachversionen der App bereitzustellen und die installierten Sprachen nach einem App-Update beizubehalten.
Datenverschlüsselung Daten sind verschlüsselt.
Teilen von Daten Es werden keine Daten an Dritte weitergegeben.
Datenlöschung Die Daten werden nach einer festen Aufbewahrungsdauer gelöscht.

Play Feature Delivery

Im Rahmen der Nutzung erhobene Daten Gerätemetadaten
Anwendungsversion
Zweck der Datenerhebung Die erfassten Daten werden verwendet, um dem Gerät das richtige Modul bereitzustellen und die installierten Module nach einer Aktualisierung und Sicherung und Wiederherstellung beizubehalten.
Datenverschlüsselung Daten sind verschlüsselt.
Teilen von Daten Es werden keine Daten an Dritte weitergegeben.
Datenlöschung Die Daten werden nach einer festen Aufbewahrungsdauer gelöscht.

Wir möchten so transparent wie möglich sein. Du bist aber allein dafür verantwortlich, das Formular für den Abschnitt zur Datensicherheit von Google Play in Bezug auf die Erhebung, Weitergabe und Sicherheit von Nutzerdaten in deiner App auszufüllen.