Schema für App-Metadaten-Bundles

Ab Android 14 kann das Android-Paketinstallationsprogramm Metadaten zu Apps, z. B. Praktiken zur Datensicherheit, zur Verwendung in Funktionen der Android-Plattform wie als aktualisierte Eingabeaufforderung für die Berechtigung zur Standortermittlung.

Es gibt zwei Möglichkeiten, diese Metadaten bereitzustellen:

  • Für eine App, die im Systemimage vorinstalliert ist, können Gerätehersteller Metadaten zur App durch Hinzufügen einer XML-Datei zum Systemimage angeben mit dem unten beschriebenen persistenten Bundle.

  • Wenn Sie Apps installieren oder aktualisieren, können Sie diese Metadaten angeben: app Installationen sollten ein PersistableBundle-Objekt an das setAppMetadata()-Methode.

Das persistente Top-Level-Bundle besteht aus den folgenden Schlüssel/Wert-Paaren. Sofern nicht anders angegeben, ist jeder Schlüssel optional.

version (erforderlich)
Die Versionsnummer des App-Metadatenformats. Verwenden Sie 2 als Wert für diese aktuelle Version und long als Typ. Wenn Schlüssel oder Inhaltstypen AppMetadata ändern, ändert Android die Versionsnummer.
safety_labels
Ein PersistableBundle-Objekt, das die Sicherheitslabels der App angibt.
system_app_safety_label
Ein PersistableBundle-Objekt, das das system-app-safety-label der App angibt. Für Apps, die als Systemdienst fungieren, gilt: system_app_safety_label-Bundle wird anstelle von safety_labels verwendet.
transparency_info
Ein PersistableBundle-Objekt, das die Transparenz der App angibt Informationen.

Format der Sicherheitslabels

Das safety_labels-Bundle enthält die folgenden Schlüssel/Wert-Paare:

version (erforderlich)
Die Versionsnummer des Formats für Sicherheitslabels. 1 als Wert verwenden aktuelle Version und long als Typ.
data_labels
Ein PersistableBundle-Objekt, das die Daten angibt, die von der App erhoben werden und geteilte Inhalte.
security_labels
Ein PersistableBundle-Objekt, das die Praktiken zum Löschen und Verschlüsseln von Daten der App angibt.
third_party_verification
Ein PersistableBundle-Objekt, das angibt, wie die Datensicherheit der App Die Praktiken werden durch einen Drittanbieter überprüft.

Erhobene und weitergegebene Daten

Das data_labels-Bundle enthält die folgenden Schlüssel/Wert-Paare:

data_collected
Ein PersistableBundle-Objekt, das die Datentypen angibt, die von der App Daten erhoben werden.
data_shared
Ein PersistableBundle-Objekt, das die Datentypen angibt, die von der App geteilte Inhalte.

Datenkategorien

Sowohl der Schlüssel data_collected als auch der Schlüssel data_shared verwenden das Bundle data_category , das die in der folgenden Liste aufgeführten Schlüssel/Wert-Paare enthält. Jeder Schlüssel ist einem PersistableBundle-Objekt zugeordnet, das die Datentypen für ein bestimmten Kategorie an.

  • personal
  • financial
  • location
  • email_text_message
  • photo_video
  • audio
  • storage
  • health_fitness
  • contacts
  • calendar
  • identifiers
  • app_performance
  • actions_in_app
  • search_and_browsing

Datentypen

Jeder Schlüssel im data_category-Bundle ist einem anderen Bundle zugeordnet, das den data_type-Format. Welche Schlüssel Sie im data_type-Format angeben, hängt davon ab, was Sie für eine data_category auswählen.

Die möglichen data_type-Schlüssel/Wert-Paare sind in der folgenden Liste aufgeführt. Der Wert für jeden dieser Schlüssel ist ein PersistableBundle-Objekt, das die Datennutzungspraktiken der App für diesen Datentyp beschreibt. Einige Datentypen verwenden Sie nur einen Schlüssel.

Privat

  • name
  • email_address
  • physical_address
  • phone_number
  • race_ethnicity
  • political_or_religious_beliefs
  • sexual_orientation_or_gender_identity
  • personal_identifiers
  • other

Finanzen

  • card_bank_account
  • purchase_history
  • credit_score
  • other

deinen Standort zugegriffen haben

  • approx_location
  • precise_location

E-Mails und SMS

  • emails
  • text_messages
  • other

Fotos und Videos

  • photos
  • videos

Audio

  • sound_recordings
  • music_files
  • other

Speicher

files_docs

Gesundheit

  • health
  • fitness

Kontakte

contacts

Kalender

calendar

Kennzeichnungen

other

App-Leistung

  • crash_logs
  • performance_diagnostics
  • other

Aktionen in der App

  • user_interaction
  • in_app_search_history
  • installed_apps
  • user_generated_content
  • other

Suchen und Surfen

web_browsing_history

Datennutzung

Das data_usage-Bundle enthält die folgenden Schlüssel/Wert-Paare:

purposes(erforderlich)

Array von Ganzzahlen, die bestimmte Gründe für die Erfassung oder Daten werden geteilt und PersistableBundle wird verwendet putIntArray . Für jeden der oben genannten Zwecke ist jeweils mindestens einer der unten definierten Zwecke erforderlich. Set.

  • 1: PURPOSE_APP_FUNCTIONALITY
  • 2: PURPOSE_ANALYTICS
  • 3: PURPOSE_DEVELOPER_COMMUNICATIONS
  • 4: PURPOSE_FRAUD_PREVENTION_SECURITY
  • 5: PURPOSE_ADVERTISING
  • 6: PURPOSE_PERSONALIZATION
  • 7: PURPOSE_ACCOUNT_MANAGEMENT
is_collection_optional

Boolescher Wert. Gibt an, ob Nutzer die Verwendung von Datenerhebung.

Hinweis : Legen Sie diesen Wert nur für data_category Bundles, die die Datenerhebung darstellen; nicht festlegen für die Datenfreigabe.

ephemeral

Boolescher Wert. Gibt an, ob die App die Daten verarbeitet serverseitig nur im Arbeitsspeicher und nicht auf der Festplatte, und dass die App die Daten beibehält nicht länger als erforderlich ist, um die spezifische Datenverarbeitung

Hinweis : Legen Sie diesen Wert nur für data_category Bundles, die die Datenerhebung darstellen; nicht festlegen für die Datenfreigabe.

Vorgehensweisen beim Löschen und Verschlüsseln von Daten

Das Paket security_labels enthält Schlüssel/Wert-Paare, die die Werte der App Verfahren zum Löschen und Verschlüsseln von Daten:

is_data_deletable
Boolescher Wert. Gibt an, ob die App dem Nutzer erlaubt, Anfragen zu stellen Nutzerdaten löschen zu lassen.
is_data_encrypted
Boolescher Wert. Gibt an, ob alle von der App erhobenen Nutzerdaten bei der Übertragung verschlüsselt werden.

Drittanbieterüberprüfung

Das third_party_verification-Bundle besteht aus dem einzigen Schlüssel url. Diese URL, wird als Stringwert dargestellt und gibt die Drittanbieter-Website an, die für die Informationen zur Datensicherheit der App prüfen.

Format der Sicherheitslabels für Systemdienste

Bei Apps, die als Systemdienst fungieren, wird das system_app_safety_label-Bundle anstelle des safety_labels-Bundles verwendet. Es enthält die folgenden Schlüssel/Wert-Paare:

url (erforderlich)

  • URL, die auf eine Seite mit Sicherheitsinformationen für die App verweist, die und agiert als Systemdienst.
  • Verwenden Sie string als Typ.
  • Wenn keine Angaben gemacht wurden, sollte die URL der Datenschutzerklärung als ein .
  • Hinweis: Der Google Play Store verwendet privacy_policy als Fallback.

Format der Transparenzinformationen

Das transparency_info-Bundle enthält die folgenden Schlüssel/Wert-Paare:

developer_info
Ein PersistableBundle-Objekt, das Informationen zur App angibt Entwickler.
app_info
Ein PersistableBundle-Objekt, das Informationen zur App angibt.

Entwicklerinformationen

Das developer_info-Bundle enthält die folgenden Schlüssel/Wert-Paare:

developer_#
Ein PersistableBundle-Objekt, das den Entwickler identifiziert. Die developer_info enthält mindestens ein developer_#, Dabei ist # eine Ganzzahl. Beispiel: developer_0, developer_1, developer_2 usw.

Entwickler

Das Bundle developer_# enthält das folgende Schlüssel/Wert-Paar Paare:

name (erforderlich)
Ein String, der den Namen des Entwicklers angibt.
email (erforderlich)
Ein String, der die E-Mail-Adresse des Entwicklers angibt.
address (erforderlich)
Ein String, der die Postanschrift des Entwicklers enthält.
country_region (erforderlich)
Ein String, der das Land oder die Region des Entwicklers angibt.
website
Ein String, der die Website des Entwicklers angibt.

app_registry

  • Ein String, der den Store oder das Verzeichnis des Entwicklers angibt.
  • Wenn der Entwickler auch in einem Store oder einer anderen Registry registriert ist, wird der Wert sollte der Android-Paketname des Stores oder die URL der Registry sein.
  • Mehrere Einträge für mehrere Geschäfte sind zulässig.
  • Verwenden Sie für Google Play com.android.vending.
  • Wenn der Entwickler ein SDK ist, das im Google Play SDK Index aufgeführt ist, lassen Sie es weg. .
  • Wenn ein Entwickler in keinem App-Shop oder keiner Registry registriert ist, lassen Sie dieses Attribut aus.

app_registry_id

  • Ein String, der die ID des Entwicklers für die angegebene app_registry angibt.
  • Wenn der Entwickler auch in einem Store oder einer anderen Registry registriert ist, wird der Wert sollte die Identität des Geschäfts oder der Registry sein.
  • Mehrere Einträge für mehrere Geschäfte sind zulässig.
  • Für Entwickler, die bei Google Play registriert sind, muss es sich bei diesem Wert um die URL handeln. der Entwicklerseite (z. B. https://play.google.com/store/apps/dev?id=5700313618786177705 ist die URL für Entwickler Google LLC).
  • Wenn der Entwickler ein im Google Play SDK Index aufgeführter SDK-Entwickler ist, verwende Die URL des Google Play SDK Index des SDKs, z. B. https://play.google.com/sdks/details/com-google-android-gms-play-services-ads ist die URL des Google Play SDK Index des Google Mobile Ads (GMA) SDK.
  • Wenn der Entwickler in einem anderen Store oder einer anderen Registry registriert ist, Sie können eine URL oder eine andere Kennung angeben.
  • Wenn ein Entwickler in keinem App-Shop registriert ist, kann dieses Attribut weggelassen werden.

App-Info

Das app_info-Bundle enthält die folgenden Schlüssel/Wert-Paare:

title (erforderlich)
Ein String, der den Titel der App angibt.
description (erforderlich)
Ein String, der den Zweck der App in einem für Menschen lesbaren Text-Blob angibt auf Englisch.
contains_ads (erforderlich)
Ein boolescher Wert, der angibt, ob in der App Werbung eingeblendet wird.

privacy_policy (erforderlich)

  • Ein String mit einem URL-Attribut, das auf die Datenschutzerklärung verweist in denen beschrieben wird, wie mit Nutzerdaten umgegangen wird.
  • Erforderlich für Apps, die Nutzerdaten übertragen.
  • Wenn die App diesen Link nicht enthält, wird davon ausgegangen, dass die App keine mit Nutzerdaten umgehen.
category (erforderlich)

Ein String, der eine der folgenden App-Kategorien enthält, die am besten beschreibt den Hauptzweck der App:

  • Android (nur für eine AOSP-Komponente)*
  • Kunst und Design
  • Autos und Fahrzeuge
  • Beauty
  • Bücher und Nachschlagewerke
  • Unternehmen
  • Comics
  • Kommunikation
  • Verabredung
  • Bildung
  • Gute
  • Ereignisse
  • Finanzen
  • Essen und Trinken
  • Spiel
  • Gesundheit und Fitness
  • Haus und Heim
  • Installationsprogramm (nur für einen App-Shop oder ein anderes Installationsprogramm)*
  • Mediatheken und Demos
  • Lifestyle
  • Karten und Navigation
  • Medizin
  • Musik und Audio
  • Nachrichten und Zeitschriften
  • Eltern
  • Personalisierung
  • Fotografie
  • Produktivität
  • Sicherheit*
  • Shopping
  • Soziale Netzwerke
  • Sport
  • Tools
  • Reisen und Lokales
  • Updater (nur für die standardmäßige Over-the-Air-Update-App eines Geräts)*
  • Videoplayer und Editors
  • Wetter
contact_info
Ein PersistableBundle-Objekt, das Kontaktinformationen für das (siehe unten).

Kontaktdaten

Das contact_info-Bundle enthält die folgenden Schlüssel/Wert-Paare:

email (erforderlich)
Ein String, der die E-Mail-Adresse der App angibt.
website
Ein String, der die Website für die App angibt.