Para os desenvolvedores criarem apps que proporcionem uma experiência consistente ao usuário, estamos lançando outros tipos de serviço em primeiro plano e um novo conjunto de restrições de política relacionadas. Este artigo explica quais são os próximos requisitos de serviços em primeiro plano e como declarar informações sobre eles no Play Console. Ele também detalha os requisitos de uso das notificações de intent para tela cheia.
Requisitos de serviços em primeiro plano para o Android 14
Para ajudar a identificar quais casos de uso são adequados para serviços em primeiro plano e definir claramente a intenção do trabalho em segundo plano do app, o Android 14 e as versões mais recentes exigem que você faça o seguinte antes de usar um serviço em primeiro plano:
- Declare os tipos de serviço em primeiro plano no manifesto. É necessário fazer isso para cada serviço em primeiro plano que você pretende usar.
- Se aplicável ao tipo selecionado, declare e solicite a permissão de serviço em primeiro plano adequada para cada um.
A seção Permissões para serviços em primeiro plano (FGS, na sigla em inglês) da nossa política contra abuso de dispositivos e de rede descreve em detalhes os critérios para o uso de serviços em primeiro plano. É necessário declarar os tipos de serviço em primeiro plano ao atualizar para o Android 14.
Declarar as informações do serviço em primeiro plano no Play Console
Quando os apps forem direcionados ao Android 14 e versões mais recentes, será necessário declarar todos os tipos de serviço em primeiro plano usados em uma nova declaração na página Conteúdo do app (Monitorar e melhorar > Conteúdo do app) no Play Console.
Para cada tipo de serviço em primeiro plano que você declarar, faça o seguinte:
- Descreva a funcionalidade do app que usa cada tipo de serviço em primeiro plano.
- Descreva como o usuário é afetado se:
- a tarefa é adiada pelo sistema (não começa imediatamente); e/ou
- a tarefa é interrompida pelo sistema (pausada e/ou reiniciada).
- Inclua um link para um vídeo demonstrando cada recurso de serviço em primeiro plano. O vídeo precisa mostrar as etapas necessárias para o usuário acionar o recurso no app.
- Escolha seu caso de uso específico para cada tipo de serviço em primeiro plano. Vamos mostrar uma lista predefinida de casos de uso para você escolher. Confira algumas das opções associadas aos tipos de serviço em primeiro plano no gráfico abaixo. Esses são apenas alguns exemplos. Se o caso de uso não estiver na lista, insira manualmente.
Para determinados casos, sugerimos usar APIs alternativas. Para conferir uma lista desses casos de uso e as APIs recomendadas, acesse o site para desenvolvedores Android.
Observação: a lista abaixo tem apenas alguns exemplos. Para determinar se o acesso é adequado para serviços em primeiro plano, consulte a seção Uso de serviço em primeiro plano para casos de uso não mencionados abaixo.
Tipo de serviço em primeiro plano | Casos de uso | Descrições e exemplos |
---|---|---|
TYPE_CAMERA |
Stream da câmera em segundo plano | Continue acessando a câmera em segundo plano. Por exemplo, apps de chat por vídeo que permitem várias tarefas. |
TYPE_CONNECTED_DEVICE |
Transferência contínua de dados para um dispositivo externo | Faça interações com dispositivos externos, incluindo transferência de dados que exigem uma conexão Bluetooth, NFC, infravermelho, USB ou de rede. Por exemplo, wearables, babás eletrônicas, fones de ouvido e carros. |
TYPE_DATA_SYNC |
Transferência de rede: backup e restauração | Use para recursos especificamente iniciados pelo usuário. Por exemplo, selecionar uma determinada foto para fazer backup na nuvem em vez do backup automático diário de todas as fotos novas. |
Transferência de rede: upload ou download | Por exemplo, busque dados e faça o processamento do lado do servidor. | |
Processamento local: importação ou exportação | Inclui a migração de arquivos do cartão SD. | |
Processamento local: outras opções | Use especificamente para trabalhos iniciados pelo usuário, não para tarefas comuns iniciadas pelo sistema ou pelo servidor. Por exemplo, criptografia e redimensionamento. | |
TYPE_HEALTH |
Sincronização de dados de saúde | Sincronize dados de saúde para apps na categoria de condicionamento físico, como entre apps ou para coletar dados pelo rastreamento no dispositivo. Por exemplo, contagem de passos e monitoramento de atividade física. |
TYPE_LOCATION |
Atualizações da localização em segundo plano: compartilhamento de local iniciado pelo usuário | Por exemplo, um recurso para encontrar amigos ou monitorar a atividade do veículo. |
Atualizações da localização em segundo plano: navegação | Por exemplo, para manter o trajeto do carro nos mapas ou rastrear viagens para transporte por aplicativo. | |
Fronteira geográfica virtual | Defina os parâmetros que cercam as áreas de interesse. | |
TYPE_MEDIA_PLAYBACK |
Reprodução de mídia | Continue a reprodução de áudio ou vídeo em segundo plano, incluindo streaming. |
Exibição picture-in-picture | Use nos casos em que o formato da mídia é minimizado durante a reprodução em segundo plano. | |
TYPE_MEDIA_PROJECTION |
Projeção de mídia ou conteúdo e streaming ou gravação com a API MediaProjection | Projete mídia em telas não principais ou dispositivos externos usando as APIs MediaProjection, incluindo streaming. |
FOREGROUND_SERVICE_MEDIA_PROCESSING |
Transcodificação de mídia | Faça operações demoradas em recursos de mídia, como converter mídia em diferentes formatos. |
TYPE_MICROPHONE |
Acesso ao áudio em segundo plano | Capture entradas de áudio, como comandos de voz para um assistente virtual (sem salvar as informações) ou gravação de voz. |
TYPE_PHONE_CALL |
Chamadas: APIs de celular/VoIP/telecomunicações | Ofereça compatibilidade com vários recursos de discador relacionados a chamadas. |
TYPE_REMOTE_MESSAGING |
Redirecionamento de comunicações de texto para outros dispositivos | Ajuda na continuidade das tarefas de mensagens de um usuário ao trocar de dispositivo. Por exemplo, permita que os usuários enviem mensagens de texto por um cliente da Web lendo um QR code e estabelecendo uma conexão entre o cliente da Web e o smartphone. A opção não é limitada a SMS. |
A declaração vai estar disponível a partir de novembro de 2023. Você vai ter tempo para preencher a declaração, receber feedback e fazer os ajustes necessários.
Requisitos de intent para tela cheia no Android 14
Você pode usar as notificações de intent para tela cheia ao compartilhar mensagens de alta prioridade que exigem a atenção imediata do usuário. Para garantir que essa permissão seja limitada aos casos de uso adequados de alta prioridade, no Android 14, adicionamos restrições ao uso da permissão USE_FULL_SCREEN_INTENT
. Limitar as notificações dessa forma ajuda a garantir uma experiência melhor para os usuários.
Se você usa a permissão USE_FULL_SCREEN_INTENT
, é necessário preencher a declaração do Play Console a partir de 31 de maio de 2024 para indicar se o app tem uma funcionalidade principal permitida e se qualifica para a concessão automática. A partir de 22 de janeiro de 2025, para apps destinados ao Android 14 e versões mais recentes, somente aqueles que tiverem funcionalidades de chamada ou alarme terão essa permissão ativada por padrão. Os outros vão precisar da autorização do usuário para usar a permissão USE_FULL_SCREEN_INTENT
. Os desenvolvedores de apps que não preencheram a declaração ou não foram aprovados para a ativação padrão precisarão pedir aos usuários que concedam permissão para novas instalações e fazer a degradação suave se a permissão for negada.