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
PersistableBundle
do 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_labels
uż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
1
bieżącej wersji ilong
jako 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.
personal
financial
location
email_text_message
photo_video
audio
storage
health_fitness
contacts
calendar
identifiers
app_performance
actions_in_app
search_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
name
email_address
physical_address
phone_number
race_ethnicity
political_or_religious_beliefs
sexual_orientation_or_gender_identity
personal_identifiers
other
Finanse
card_bank_account
purchase_history
credit_score
other
Lokalizacja
approx_location
precise_location
E-maile i SMS-y
emails
text_messages
other
Zdjęcia i filmy
photos
videos
Dźwięk
sound_recordings
music_files
other
Miejsce na dane
files_docs
Zdrowie i fitness
health
fitness
Kontakty
contacts
Kalendarz
calendar
Identyfikatory
other
Skuteczność aplikacji
crash_logs
performance_diagnostics
other
Działania w aplikacji
user_interaction
in_app_search_history
installed_apps
user_generated_content
other
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
PersistableBundle
putIntArray
. 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_category
pakiety 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_category
pakiety 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_policy
jako 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
PersistableBundle
identyfikujący dewelopera.developer_info
zawiera co najmniej 1developer_#
, gdzie#
to liczba całkowita. Na przykładdeveloper_0
,developer_1
,developer_2
itd.
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
PersistableBundle
zawierają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.