Począwszy od Androida 14 instalator pakietów na Androida może przetwarzać metadane dotyczące np. praktyk związanych z bezpieczeństwem danych, do użytku w funkcjach platformy Androida, takich jak wraz ze zaktualizowanym komunikatem o dostępie do lokalizacji.
Metadane możesz podać na 2 sposoby:
W przypadku aplikacji wstępnie wczytanej do obrazu systemu producenci urządzeń mogą udostępnienie metadanych aplikacji przez dodanie pliku XML do obrazu systemu z trwałym pakietem opisanym poniżej.
W przypadku instalowanych lub aktualizowanych aplikacji: Aby określić te metadane, aplikacja instalatory powinni przekazać obiekt
PersistableBundledo funkcji MetodasetAppMetadata().
Trwały pakiet najwyższego poziomu składa się z tych par klucz-wartość. O ile nie zaznaczono inaczej, każdy klucz jest opcjonalny.
version(pole wymagane)- Numer wersji formatu metadanych aplikacji. Jako wartość bieżącej wersji użyj wartości 
2, a jako typu użyj wartościlong. Jeśli oczekiwane klucze lub typy treściAppMetadata, Android zmieni numer wersji. safety_labels- Obiekt 
PersistableBundle, który określa etykiety bezpieczeństwa aplikacji. system_app_safety_label- Obiekt 
PersistableBundle, który określa parametr aplikacji system-app-safety-label. W przypadku aplikacji, które działają jako usługa systemowa, parametr zamiast pakietusafety_labelsużywany jest pakietsystem_app_safety_label. transparency_info- Obiekt 
PersistableBundle, który określa przezroczystość aplikacji informacje. 
Format etykiet bezpieczeństwa
Pakiet safety_labels zawiera te pary klucz-wartość:
version(pole wymagane)- Numer wersji formatu etykiet bezpieczeństwa. Użyj w tym celu wartości 
1bieżącej wersji ilongjako typu. data_labels- Obiekt 
PersistableBundle, który określa dane zbierane przez aplikację i udostępnienia. security_labels- Obiekt 
PersistableBundle, który określa usunięcie danych aplikacji metod szyfrowania. third_party_verification- Obiekt 
PersistableBundle, który określa sposób ochrony danych w aplikacji metody są zweryfikowane przez firmę zewnętrzną. 
Zbierane i udostępniane dane
Pakiet data_labels zawiera następujące pary klucz-wartość:
data_collected- Obiekt 
PersistableBundle, który określa typy danych obsługiwane przez aplikację zbieranych danych. data_shared- Obiekt 
PersistableBundle, który określa typy danych obsługiwane przez aplikację udostępnień. 
Kategorie danych
Klucze data_collected i data_shared używają pakietu data_category
format, który zawiera pary klucz-wartość wymienione na poniższej liście. Każdy klawisz
jest mapowany na obiekt PersistableBundle, który określa typy danych dla
dla konkretnej kategorii.
personalfinanciallocationemail_text_messagephoto_videoaudiostoragehealth_fitnesscontactscalendaridentifiersapp_performanceactions_in_appsearch_and_browsing
Typy danych
Każdy klucz w pakiecie data_category jest mapowany na inny pakiet, który korzysta z metody
Format data_type. Klucze podane w formacie data_type zależą
na temat tego, co wybierzesz jako data_category.
Możliwe pary klucz/wartość data_type są wymienione na liście poniżej. 
jest wartością każdego z tych kluczy PersistableBundle, która opisuje
metod korzystania z danych przez aplikację w przypadku tego typu danych. Niektóre typy danych
używaj tylko jednego klawisza.
Osobisty charakter
nameemail_addressphysical_addressphone_numberrace_ethnicitypolitical_or_religious_beliefssexual_orientation_or_gender_identitypersonal_identifiersother
Finanse
card_bank_accountpurchase_historycredit_scoreother
Lokalizacja
approx_locationprecise_location
E-maile i SMS-y
emailstext_messagesother
Zdjęcia i filmy
photosvideos
Dźwięk
sound_recordingsmusic_filesother
Miejsce na dane
files_docs
Zdrowie i fitness
healthfitness
Kontakty
contacts
Kalendarz
calendar
Identyfikatory
other
Skuteczność aplikacji
crash_logsperformance_diagnosticsother
Działania w aplikacji
user_interactionin_app_search_historyinstalled_appsuser_generated_contentother
Wyszukiwanie i przeglądanie
web_browsing_history
Użycie danych
Pakiet data_usage zawiera te pary klucz-wartość:
purposes(wymagane)- 
    
Tablica liczb całkowitych, która reprezentuje określone przyczyny zbierania lub udostępnianie danych i używa
PersistableBundleputIntArray. W przypadku każdego z nich wymagany jest co najmniej 1 z celów zdefiniowanych poniżej. w pakiecie.1: PURPOSE_APP_FUNCTIONALITY2: PURPOSE_ANALYTICS3: PURPOSE_DEVELOPER_COMMUNICATIONS4: PURPOSE_FRAUD_PREVENTION_SECURITY5: PURPOSE_ADVERTISING6: PURPOSE_PERSONALIZATION7: PURPOSE_ACCOUNT_MANAGEMENT
 is_collection_optional- 
    
Wartość logiczna. Określa, czy użytkownicy mogą włączyć lub wyłączyć tę opcję zbieranie danych.
Uwaga: ustaw tę wartość tylko dla
data_categorypakiety reprezentujące zbieranie danych; nie ustawiaj go do udostępniania danych. ephemeral- 
    
Wartość logiczna. Określa, czy aplikacja przetwarza dane tylko po stronie serwera w pamięci, a nie na dysku, oraz że aplikacja przechowuje dane. nie dłużej niż jest to konieczne do obsługi konkretnego procesu przetwarzania danych użytkownika.
Uwaga: ustaw tę wartość tylko dla
data_categorypakiety reprezentujące zbieranie danych; nie ustawiaj go do udostępniania danych. 
praktyki dotyczące usuwania i szyfrowania danych;
Pakiet security_labels zawiera pary klucz-wartość, które reprezentują
metody usuwania i szyfrowania danych:
is_data_deletable- Wartość logiczna. Określa, czy aplikacja zezwala użytkownikowi na wysyłanie próśb aplikacji do usunięcia danych użytkownika.
 is_data_encrypted- Wartość logiczna. Określa, czy wszystkie dane użytkownika zbierane przez aplikację są zaszyfrowane podczas przesyłania.
 
Weryfikacja innych firm
Pakiet third_party_verification składa się z jednego klucza (url). Ten URL,
reprezentowana jako wartość ciągu, określa witrynę firmy zewnętrznej używaną do
weryfikacji informacji o bezpieczeństwie danych aplikacji.
Format etykiet bezpieczeństwa usługi systemu
W przypadku aplikacji działających jako usługa systemowa pakiet system_app_safety_label
jest używany zamiast pakietu safety_labels i zawiera następujące elementy
pary klucz-wartość:
url (wymagany)
- Adres URL prowadzący do strony z informacjami na temat bezpieczeństwa aplikacji, która jest i działa jako usługa systemowa.
 - Jako typu wybierz 
string. - Jeśli nie został podany, za pomocą adresu URL polityki prywatności kreacji zastępczej.
 - Uwaga: Sklep Google Play używa 
privacy_policyjako awaryjnego. 
Format informacji o przejrzystości
Pakiet transparency_info zawiera te pary klucz-wartość:
developer_info- Obiekt 
PersistableBundle, który określa informacje o aplikacji app_info- Obiekt 
PersistableBundle, który określa informacje o aplikacji. 
Informacje o deweloperze
Pakiet developer_info zawiera następujące pary klucz-wartość:
developer_#- Obiekt 
PersistableBundleidentyfikujący dewelopera.developer_infozawiera co najmniej 1developer_#, gdzie#to liczba całkowita. Na przykładdeveloper_0,developer_1,developer_2itd. 
Programista
Pakiet developer_# zawiera tę parę klucz-wartość
pary:
name(wymagany)- Ciąg tekstowy z nazwą dewelopera.
 email(wymagany)- Ciąg tekstowy zawierający adres e-mail dewelopera.
 address(wymagany)- Ciąg tekstowy zawierający adres pocztowy dewelopera.
 country_region(wymagany)- Ciąg znaków wskazujący kraj lub region dewelopera.
 website- Ciąg znaków z adresem witryny dewelopera.
 
app_registry
- Ciąg znaków informujący o magazynie lub rejestrze dewelopera.
 - Jeśli deweloper jest też zarejestrowany w sklepie lub innym rejestrze, wartość powinien być nazwą pakietu na Androida w sklepie lub adresem URL rejestru.
 - Dozwolonych jest wiele wpisów dla wielu sklepów.
 - W przypadku Google Play użyj 
com.android.vending. - Jeśli deweloper jest pakietem SDK wymienionym na platformie Google Play SDK Index, pomiń tę informację .
 - Jeśli deweloper nie jest zarejestrowany w żadnym sklepie z aplikacjami ani w rejestrze, pomiń ten krok. .
 
app_registry_id
- Ciąg tekstowy zawierający identyfikator dewelopera wskazanego elementu 
app_registry. - Jeśli deweloper jest też zarejestrowany w sklepie lub innym rejestrze, wartość powinna być tożsamością sklepu lub rejestru.
 - Dozwolonych jest wiele wpisów dla wielu sklepów.
 - W przypadku deweloperów zarejestrowanych w Google Play ta wartość musi być adresem URL. na stronie dewelopera (np. https://play.google.com/store/apps/dev?id=5700313618786177705 to Adres URL dewelopera Google LLC).
 - Jeśli deweloper jest deweloperem pakietu SDK wymienionym na platformie Google Play SDK Index, adres URL pakietu SDK na platformie Google Play SDK Index (np. https://play.google.com/sdks/details/com-google-android-gms-play-services-ads to adres URL Google Play SDK Index pakietu SDK do reklam mobilnych Google (GMA).
 - Jeśli deweloper jest zarejestrowany w innym sklepie lub rejestrze, sklepie z aplikacjami Możesz podać adres URL lub inny identyfikator.
 - Jeśli deweloper nie jest zarejestrowany w żadnym sklepie z aplikacjami, ten atrybut może zostać pominięto.
 
Informacje o aplikacji
Pakiet app_info zawiera te pary klucz-wartość:
title(wymagany)- Ciąg tekstowy z tytułem aplikacji.
 description(wymagany)- Ciąg znaków określający przeznaczenie aplikacji w zrozumiałym dla człowieka obiekcie blob w języku angielskim.
 contains_ads(wymagany)- Wartość logiczna określająca, czy aplikacja wyświetla reklamy.
 
privacy_policy (wymagany)
- Ciąg tekstowy zawierający atrybut adresu URL prowadzący do polityki prywatności. który zawiera szczegółowe informacje o sposobie przetwarzania danych użytkownika.
 - Wymagane w przypadku aplikacji, które przesyłają dane użytkownika.
 - Jeśli aplikacja nie zawiera tego linku, zakładamy, że nie zawiera ona tego linku. obsługi danych użytkownika.
 
category(wymagany)Ciąg tekstowy zawierający jedną z tych kategorii aplikacji, która najlepiej opisuje jej główne przeznaczenie:
- Android (tylko w przypadku komponentu AOSP)*
 - Sztuka i projektowanie
 - Samochody i inne pojazdy
 - Uroda
 - Książki i źródła
 - Firma
 - Komiksy
 - Komunikacja
 - Randki
 - Edukacja
 - Rozrywka
 - Wydarzenia
 - Finanse
 - Jedzenie i picie
 - Gra
 - Zdrowie i fitness
 - Dom
 - Instalator (tylko w przypadku sklepu z aplikacjami lub innego instalatora)*
 - Biblioteki i materiały demonstracyjne
 - Styl życia
 - Mapy i nawigacja
 - Medycyna
 - Muzyka i dźwięk
 - Wiadomości i czasopisma
 - Dla rodziców
 - Personalizacja
 - Fotografia
 - Produktywność
 - Bezpieczeństwo*
 - Zakupy
 - Społecznościowe
 - Sport
 - Narzędzia
 - Podróże i informacje lokalne
 - Aktualizator (tylko w przypadku domyślnej bezprzewodowej aplikacji do aktualizowania na urządzeniu)*
 - Edytory i odtwarzacze wideo
 - Pogoda
 
contact_info- Obiekt 
PersistableBundlezawierający informacje kontaktowe dla (poniżej). 
Informacje kontaktowe
Pakiet contact_info zawiera następujące pary klucz-wartość:
email(wymagany)- Ciąg tekstowy zawierający adres e-mail aplikacji.
 website- Ciąg znaków określający witrynę aplikacji.