Ab Android 14 kann das Installationsprogramm für Android-Pakete Metadaten zu einer App (z. B. Praktiken zur Datensicherheit) zur Verwendung in Funktionen der Android-Plattform wie der aktualisierten Berechtigungsaufforderung für die Standortermittlung aufnehmen.
Es gibt zwei Möglichkeiten, diese Metadaten bereitzustellen:
Für eine auf das System-Image geladene App können Gerätehersteller Metadaten zur App bereitstellen. Dazu fügen sie dem System-Image eine XML-Datei mit dem unten beschriebenen persistenten Bundle hinzu.
Bei Apps, die installiert oder aktualisiert werden, sollten App-Installationsprogramme ein
PersistableBundle
-Objekt an die MethodesetAppMetadata()
übergeben, um diese Metadaten anzugeben.
Das dauerhafte Bundle der obersten Ebene 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 undlong
als Typ. Wenn sich die erwarteten Schlüssel oder Inhaltstypen vonAppMetadata
ä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. Bei Anwendungen, die als Systemdienst fungieren, wird das Bundlesystem_app_safety_label
anstelle dessafety_labels
-Bundles verwendet. transparency_info
- Ein
PersistableBundle
-Objekt, das die Transparenzinformationen der App angibt.
Format der Sicherheitslabels
Das safety_labels
-Bundle enthält die folgenden Schlüssel/Wert-Paare:
version
(erforderlich)- Die Versionsnummer des Sicherheitslabels-Formats. Verwenden Sie
1
als Wert für diese aktuelle Version undlong
als Typ. data_labels
- Ein
PersistableBundle
-Objekt, das die Daten angibt, die von der App erhoben und weitergegeben werden. 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 Praktiken zur Datensicherheit der App von einem Drittanbieter überprüft werden.
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 Anwendung erfasst werden. data_shared
- Ein
PersistableBundle
-Objekt, das die von der App freigegebenen Datentypen angibt.
Datenkategorien
Sowohl für data_collected
als auch für data_shared
wird das Bundle-Format data_category
verwendet, 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 eine bestimmte Kategorie angibt.
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 Bundle data_category
ist einem anderen Bundle zugeordnet, das das Format data_type
verwendet. Welche Schlüssel Sie im Format data_type
angeben, hängt davon ab, was Sie für data_category
auswählen.
Die möglichen data_type
-Schlüssel/Wert-Paare werden in den folgenden Listen angezeigt. Der Wert für jeden dieser Schlüssel ist ein PersistableBundle
-Objekt, das die Datennutzungspraktiken der App für den jeweiligen Datentyp beschreibt. Einige Datentypen verwenden
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
Standort
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 und Fitness
health
fitness
Kontakte
contacts
Kalender
calendar
Kennungen
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)-
Ein Array von Ganzzahlen, das bestimmte Gründe für die Erhebung oder Weitergabe von Daten darstellt, und verwendet die Methode
PersistableBundle
putIntArray
. Für jedes Bundle ist mindestens einer der unten definierten Zwecke erforderlich.1
: PURPOSE_APP_FUNCTIONALITY2
: PURPOSE_ANALYTICS3
: KOMMUNIKATION (PURPOSE_DE eignet sich für Entwickler)4
: PURPOSE_FRAUD_PREVENTION_SECURITY5
: PURPOSE_ADVERTISING6
: PURPOSE_PERSONALIZATION7
: PURPOSE_ACCOUNT_MANAGEMENT
is_collection_optional
-
Boolescher Wert. Gibt an, ob Nutzer die Datenerhebung aktivieren oder deaktivieren können.
Hinweis: Legen Sie diesen Wert nur für
data_category
-Sets fest, die die Datenerhebung darstellen. Legen Sie ihn nicht für die Datenfreigabe fest. ephemeral
-
Boolescher Wert. Gibt an, ob die Anwendung die Daten serverseitig nur im Arbeitsspeicher und nicht auf dem Laufwerk verarbeitet, und dass die Anwendung die Daten nicht länger aufbewahrt, als es für die Verarbeitung der jeweiligen Datenverarbeitungsanfrage erforderlich ist.
Hinweis: Legen Sie diesen Wert nur für
data_category
-Sets fest, die die Datenerhebung darstellen. Legen Sie ihn nicht für die Datenfreigabe fest.
Datenlöschung und Verschlüsselung
Das security_labels
-Bundle enthält Schlüssel/Wert-Paare, die die Datenlöschungs- und Verschlüsselungsverfahren der Anwendung darstellen:
is_data_deletable
- Boolescher Wert. Gibt an, ob Nutzer über die App das Löschen ihrer Nutzerdaten anfordern können.
is_data_encrypted
- Boolescher Wert. Gibt an, ob alle von der Anwendung erhobenen Nutzerdaten bei der Übertragung verschlüsselt werden.
Drittanbieterüberprüfung
Das third_party_verification
-Bundle besteht aus einem einzelnen Schlüssel, url
. Diese URL, die als Stringwert dargestellt wird, gibt die Drittanbieter-Website an, die zur Überprüfung der Datensicherheitsinformationen der App verwendet wird.
Format der Sicherheitslabels für Systemdienste
Bei Anwendungen, die als Systemdienst fungieren, wird das system_app_safety_label
-Bundle anstelle des safety_labels
-Bundles verwendet und enthält die folgenden Schlüssel/Wert-Paare:
url
(erforderlich)
- URL, die auf eine Seite mit Sicherheitsinformationen für die App verweist, die als Systemdienst fungiert.
- Verwenden Sie als Typ
string
. - Wenn sie nicht angegeben wurde, sollte die URL der Datenschutzerklärung als Fallback verwendet werden.
- Hinweis: Im Google Play Store wird
privacy_policy
als Fallback verwendet.
Format der Transparenzinformationen
Das transparency_info
-Bundle enthält die folgenden Schlüssel/Wert-Paare:
developer_info
- Ein
PersistableBundle
-Objekt, das Informationen zum App-Entwickler angibt. 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.developer_info
enthält einen oder mehreredeveloper_#
, wobei#
eine Ganzzahl ist. Beispiel:developer_0
,developer_1
,developer_2
usw.
Entwickler
Das developer_#
-Bundle enthält die folgenden Schlüssel/Wert-Paare:
name
(erforderlich)- Ein String, der den Namen des Entwicklers enthält.
email
(erforderlich)- Ein String, der die E-Mail-Adresse des Entwicklers angibt.
address
(erforderlich)- Ein String mit der Postanschrift des Entwicklers.
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 das Geschäft oder die Registry des Entwicklers angibt.
- Wenn der Entwickler auch in einem Shop oder einer anderen Registry registriert ist, sollte der Wert der Android-Paketname des Stores oder die URL der Registry sein.
- Mehrere Einträge für mehrere Geschäfte sind zulässig.
- Verwende für Google Play
com.android.vending
. - Wenn der Entwickler ein SDK ist, das im Google Play SDK Index aufgeführt ist, lassen Sie dieses Attribut weg.
- Wenn ein Entwickler in keinem App-Shop oder in keiner Registry registriert ist, lassen Sie dieses Attribut weg.
app_registry_id
- Ein String, der die ID des Entwicklers für die angegebene
app_registry
angibt. - Wenn der Entwickler auch in einem Geschäft oder einer anderen Registry registriert ist, sollte der Wert 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 dieser Wert die URL der Entwicklerseite sein. Beispiel: https://play.google.com/store/apps/dev?id=5700313618786177705 ist die URL des Entwicklers Google LLC.
- Wenn der Entwickler ein SDK-Entwickler ist, der im Google Play SDK Index aufgeführt ist, verwenden Sie die Google Play SDK Index-URL des SDKs. Beispiel: https://play.google.com/sdks/details/com-google-android-gms-play-services-ads ist die URL für den Google Play SDK Index des Google Mobile Ads (GMA) SDK.
- Wenn der Entwickler in einem anderen Store oder einer anderen Registry registriert ist, kann eine App-Shop-URL oder eine andere Kennung angegeben werden.
- 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 auf Englisch angibt.
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 der beschrieben wird, wie Nutzerdaten verarbeitet werden.
- Erforderlich für Apps, die Nutzerdaten übertragen.
- Wenn die App diesen Link nicht enthält, wird davon ausgegangen, dass die App keine Nutzerdaten verarbeitet.
category
(erforderlich)Ein String, der eine der folgenden App-Kategorien enthält, die den Hauptzweck der App am besten beschreibt:
- Android (nur für eine AOSP-Komponente)*
- Kunst und Design
- Autos und Fahrzeuge
- Beauty
- Bücher und Nachschlagewerke
- Unternehmen
- Comics
- Kommunikation
- Verabredung
- Bildung
- Unterhaltung
- Veranstaltungen
- Finanzen
- Essen und Trinken
- Spiel
- Gesundheit und Fitness
- Haus und Heim
- Installationsprogramm (nur für App-Shops oder andere Personen, die die App installiert haben)*
- Mediatheken und Demos
- Lifestyle
- Karten und Navigation
- Medizin
- Musik und Audio
- Nachrichten und Zeitschriften
- Eltern und Kind
- Personalisierung
- Fotografie
- Produktivität
- Sicherheit*
- Shopping
- Social
- Sport
- Tools
- Reisen und Lokales
- Updater (nur für die standardmäßige OTA-Update-App eines Geräts)*
- Videoplayer und Editors
- Wetter
contact_info
- Ein
PersistableBundle
-Objekt, das Kontaktdaten für die App enthält (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.