No Android 14 e versões mais recentes, o instalador do pacote do Android pode ingerir metadados sobre um app, como práticas de segurança de dados, para uso em recursos da Plataforma Android, como como a solicitação de permissão de localização atualizada.
Há duas maneiras de fornecer esses metadados:
Para um app pré-carregado na imagem do sistema, os fabricantes de dispositivos podem: fornecer metadados sobre o app adicionando um arquivo XML à imagem do sistema com o pacote persistente descrito abaixo.
Para apps sendo instalados ou atualizados, Para especificar esses metadados, a permissão do aplicativo instaladores devem transmitir um objeto
PersistableBundle
para osetAppMetadata()
.
O pacote de nível superior persistente consiste nos pares de chave-valor a seguir. A menos que o contrário seja especificado, cada chave é opcional.
version
(obrigatório)- O número da versão do formato de metadados do app. Use
2
como o valor para isso. versão atual elong
como o tipo. Se forem esperadas chaves ou tipos de conteúdo deAppMetadata
. O Android vai mudar o número da versão. safety_labels
- Um objeto
PersistableBundle
que especifica os safety-labels do app. system_app_safety_label
- Um objeto
PersistableBundle
que especifica a propriedade system-app-safety-label. Para apps que atuam como um serviço do sistema, os O pacotesystem_app_safety_label
é usado em vez do pacotesafety_labels
. transparency_info
- Um objeto
PersistableBundle
que especifica a transparência do app mais recentes.
Formato dos rótulos de segurança
O pacote safety_labels
contém os seguintes pares de chave-valor:
version
(obrigatório)- O número da versão do formato de rótulos de segurança. Use
1
como o valor para isso. versão atual elong
como o tipo. data_labels
- Um objeto
PersistableBundle
que especifica os dados que o app coleta e compartilhamentos. security_labels
- Um objeto
PersistableBundle
que especifica as práticas de exclusão e criptografia de dados do app. third_party_verification
- Um objeto
PersistableBundle
que especifica como a segurança dos dados do app são verificadas por terceiros.
Dados coletados e compartilhados
O pacote data_labels
contém os seguintes pares de chave-valor:
data_collected
- Um objeto
PersistableBundle
que especifica os tipos de dados coletados pelo app. data_shared
- Um objeto
PersistableBundle
que especifica os tipos de dados que o app compartilhamentos.
Categorias de dados
As chaves data_collected
e data_shared
usam o formato de pacote
data_category
, que contém os pares de chave-valor mostrados na lista a seguir. Cada chave
é mapeada para um objeto PersistableBundle
que especifica os tipos de dados de uma
categoria específica.
personal
financial
location
email_text_message
photo_video
audio
storage
health_fitness
contacts
calendar
identifiers
app_performance
actions_in_app
search_and_browsing
Tipos de dados
Cada chave no pacote data_category
é mapeada para um pacote diferente que usa o
formato data_type
. As chaves especificadas no formato data_type
dependem
do que você escolhe para uma data_category
.
Os possíveis pares de chave-valor data_type
aparecem nas listas a seguir. O
para cada uma dessas chaves é um objeto PersistableBundle
que descreve
práticas de uso de dados do app para esse tipo específico. Alguns tipos de dados
usam apenas uma chave.
Pessoais
name
email_address
physical_address
phone_number
race_ethnicity
political_or_religious_beliefs
sexual_orientation_or_gender_identity
personal_identifiers
other
Finanças
card_bank_account
purchase_history
credit_score
other
Local
approx_location
precise_location
E-mail e mensagens de texto
emails
text_messages
other
Fotos e vídeos
photos
videos
Áudio
sound_recordings
music_files
other
Armazenamento
files_docs
Saúde e fitness
health
fitness
Contatos
contacts
Agenda
calendar
Identificadores
other
Desempenho do app
crash_logs
performance_diagnostics
other
Ações no app
user_interaction
in_app_search_history
installed_apps
user_generated_content
other
Pesquisa e navegação
web_browsing_history
Uso de dados
O pacote data_usage
contém os seguintes pares de chave-valor:
purposes
(obrigatório)-
Uma matriz de números inteiros que representa motivos específicos para coletar ou compartilhando dados e usa
PersistableBundle
putIntArray
. Pelo menos uma das finalidades abaixo é obrigatória para cada feixe.1
: PURPOSE_APP_FUNCTIONALITY2
: PURPOSE_ANALYTICS3
: PURPOSE_DEVELOPER_COMMUNICATIONS4
: PURPOSE_FRAUD_PREVENTION_SECURITY5
: PURPOSE_ADVERTISING6
: PURPOSE_PERSONALIZATION7
: PURPOSE_ACCOUNT_MANAGEMENT
is_collection_optional
-
Valor booleano. Especifica se os usuários podem ativar ou desativar coleta de dados.
Observação : defina esse valor apenas para Pacotes
data_category
que representam a coleta de dados. não definir para o compartilhamento de dados. ephemeral
-
Valor booleano. Especifica se o app processa os dados do lado do servidor apenas na memória, e não no disco, e se o app retém os dados por mais tempo que o necessário para atender à solicitação específica de processamento de dados.
Observação : defina esse valor apenas para Pacotes
data_category
que representam a coleta de dados. não definir para o compartilhamento de dados.
Práticas de exclusão e criptografia de dados
O pacote security_labels
contém pares de chave-valor que representam os atributos
práticas de exclusão e criptografia de dados:
is_data_deletable
- Valor booleano. Especifica se o app permite ou não que o usuário solicite no app para excluir os dados dos usuários.
is_data_encrypted
- Valor booleano. Especifica se todos os dados do usuário coletados pelo app são criptografados em trânsito.
Verificação de terceiros
O pacote third_party_verification
consiste em uma única chave, url
. Esse URL,
representado como um valor de string, especifica o site de terceiros usado para
verificar as informações de segurança dos dados do app.
Formato dos rótulos de segurança de serviços do sistema
Para apps que atuam como um serviço do sistema, o pacote system_app_safety_label
é usado em vez do pacote safety_labels
e contém o seguinte
pares de chave-valor:
url
(obrigatório)
- URL que aponta para uma página com informações de segurança do app que está atuando como um serviço do sistema.
- Use
string
como o tipo. - Se ele não tiver sido fornecido, o URL da Política de Privacidade será usado como alternativa.
- Observação: a Google Play Store usa
privacy_policy
como substituto.
Formato de informações de transparência
O pacote transparency_info
contém os seguintes pares de chave-valor:
developer_info
- Um objeto
PersistableBundle
que especifica informações sobre o app desenvolvedor. app_info
- Um objeto
PersistableBundle
que especifica informações sobre o app.
Informações do desenvolvedor
O pacote developer_info
contém os seguintes pares de chave-valor:
developer_#
- Um objeto
PersistableBundle
que identifica o desenvolvedor. Odeveloper_info
contém um ou maisdeveloper_#
, em que#
é um número inteiro. Por exemplo,developer_0
.developer_1
,developer_2
e assim por diante.
Desenvolvedor
O pacote developer_#
contém a chave-valor a seguir:
pares:
name
(obrigatório)- Uma string que indica o nome do desenvolvedor.
email
(obrigatório)- Uma string que indica o endereço de e-mail do desenvolvedor.
address
(obrigatório)- Uma string que indica o endereço de correspondência do desenvolvedor.
country_region
(obrigatório)- Uma string que indica o país ou a região do desenvolvedor.
website
- Uma string que indica o site do desenvolvedor.
app_registry
- Uma string que indica a loja ou o registro do desenvolvedor.
- Se o desenvolvedor também estiver registrado em uma loja ou outro registro, o valor deve ser o nome do pacote Android da loja ou o URL do registro.
- São permitidas várias entradas para diversas lojas.
- Para o Google Play, use
com.android.vending
. - Se o desenvolvedor for um SDK listado no SDK Index do Google Play, omita o seguinte: .
- Se um desenvolvedor não estiver registrado em nenhuma app store ou registro, omita este .
app_registry_id
- É uma string que indica o ID do desenvolvedor para o
app_registry
indicado. - Se o desenvolvedor também estiver registrado em uma loja ou outro registro, o valor deve ser a identidade da loja ou do registro.
- São permitidas várias entradas para várias lojas.
- Para desenvolvedores registrados no Google Play, esse valor precisa ser o URL. da página do desenvolvedor (por exemplo, https://play.google.com/store/apps/dev?id=5700313618786177705 é o URL do desenvolvedor Google LLC).
- Se o desenvolvedor estiver listado no SDK Index do Google Play, use o URL do SDK Index do Google Play do SDK. Por exemplo, https://play.google.com/sdks/details/com-google-android-gms-play-services-ads é o URL do SDK Index do SDK do Google Mobile Ads (GMA).
- Se o desenvolvedor estiver registrado em outra loja ou registro, uma app store É possível fornecer o URL ou outro identificador.
- Se um desenvolvedor não estiver registrado em nenhuma app store, esse atributo poderá ser omitido.
Informações do app
O pacote app_info
contém os seguintes pares de chave-valor:
title
(obrigatório)- Uma string que indica o título do app.
description
(obrigatório)- Uma string que indica a finalidade do app em um blob de texto legível por humanos em inglês.
contains_ads
(obrigatório)- Um booleano que declara se o app exibe anúncios.
privacy_policy
(obrigatório)
- Uma string que contém um atributo de URL vinculado à Política de Privacidade detalhando como os dados do usuário são tratados.
- Obrigatório para apps que transmitem dados do usuário.
- Se o app não tiver esse link, presume-se que o app não contém para lidar com dados do usuário.
category
(obrigatório)Uma string que contém uma das seguintes categorias de apps que melhor descreve a principal finalidade do app:
- Android (apenas para um componente AOSP)*
- Arte e design
- Carros e veículos
- Beleza
- Livros e referências
- Negócios
- Quadrinhos
- Comunicações
- Encontros
- Educação
- Entretenimento
- Eventos
- Finanças
- Alimentos e bebidas
- Jogo
- Saúde e fitness
- Casa e lar
- Instalador (apenas para uma app store ou outro instalador)*
- Bibliotecas e demonstrações
- Estilo de vida
- Mapas e navegação
- Saúde
- Música e áudio
- Jornais e revistas
- Paternidade
- Personalização
- Fotografia
- Produtividade
- Segurança*
- Compras
- Social
- Esportes
- Ferramentas
- Viagens e lugares
- Updater, apenas para o app de atualização over the air (OTA) padrão de um dispositivo*
- Players e editores de vídeo
- Clima
contact_info
- Um objeto
PersistableBundle
que inclui dados de contato da do app (abaixo).
Dados de contato
O pacote contact_info
contém os seguintes pares de chave-valor:
email
(obrigatório)- Uma string que indica o endereço de e-mail do app.
website
- Uma string que indica o site do app.