Saiba mais sobre o serviço em primeiro plano e os requisitos de intent para tela cheia

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:

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, vai 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 (Política > Conteúdo do app) no Play Console.

Para cada tipo de serviço em primeiro plano que você declarar, faça o seguinte:

  1. Descreva a funcionalidade do app que usa cada tipo de serviço em primeiro plano.
  2. 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).
  3. 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.
  4. 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: transcodificação de mídia Converta arquivos de mídia, como áudio e vídeo, de um formato para outro. Por exemplo, recursos como edição de vídeo.
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.
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 código QR 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.

Perguntas frequentes

O que vai mudar para os serviços em primeiro plano no Android 14?

Lançamos vários novos tipos de serviço em primeiro plano, e será obrigatório declarar cada um com a permissão adequada. Por exemplo, se você estiver declarando o tipo de serviço em primeiro plano "camera", também vai precisar declarar a permissão FOREGROUND_SERVICE_CAMERA. Além disso, o uso em primeiro plano precisa obedecer aos outros requisitos da política contra abuso de dispositivos e de rede.

Como saber qual tipo de serviço em primeiro plano usar?

Escolha o tipo que corresponda melhor ao uso pretendido. Por exemplo, um app de exercícios que monitora os treinos do usuário pode declarar o tipo de serviço em primeiro plano "health". Também é possível escolher vários tipos, se for o caso do app.

O que é uma permissão de serviço em primeiro plano? Ela precisa ser concedida pelo usuário antes de iniciar um serviço desse tipo?

Quando os apps direcionados ao Android 14 usam um serviço em primeiro plano, os desenvolvedores precisam declarar a permissão adequada para o tipo de serviço. Por exemplo, se o app usa o tipo de serviço em primeiro plano "location", será necessário declarar a permissão FOREGROUND_SERVICE_LOCATION. As permissões de serviços em primeiro plano que se referem a um tipo específico são definidas como permissões normais e concedidas por padrão na instalação. Os usuários não podem revogar essas permissões.

Há algum outro requisito além de declarar a permissão adequada para o serviço em primeiro plano?

Dependendo do tipo de serviço em primeiro plano, talvez haja outros requisitos do sistema. Alguns deles podem ser permissões de execução, que precisam ser concedidas pelos usuários antes do uso do serviço. Por exemplo, se você estiver usando o tipo de serviço em primeiro plano "location", o usuário também precisará conceder a permissão ACCESS_COARSE_LOCATION ou ACCESS_FINE_LOCATION. Consulte a documentação para conferir as informações mais recentes.

E se meu caso de uso não corresponder a nenhum dos tipos definidos de serviço em primeiro plano?

Em alguns cenários, se o caso de uso atender a outras características necessárias para o uso dos serviços em primeiro plano (conforme descrito na política), será possível declarar o tipo de serviço em primeiro plano TYPE_SPECIAL_USE. Todos os tipos de serviço em primeiro plano estão sujeitos a revisão.

O que significa "perceptível para o usuário"?

Significa que o usuário precisa estar ciente de que uma tarefa de serviço em primeiro plano está em execução no dispositivo. Os usuários são considerados cientes se iniciam a ação por conta própria. Por exemplo, o usuário toca uma música ou monitora uma corrida. O app também pode informar os usuários sobre um serviço em primeiro plano em andamento com uma notificação clara e precisa na barra de tarefas do dispositivo.

E se eu segmentar versões anteriores ao Android 14?

Se você segmentar uma versão anterior ao Android 14, continue usando o atributo android:foregroundServiceType no elemento <service> do arquivo de manifesto do app.

Qual é a diferença entre o tipo de serviço em primeiro plano "dataSync" e a transferência de dados iniciada pelo usuário?

Os jobs de transferência de dados iniciada pelo usuário são projetados para simplificar as transferências de dados pela rede. Eles têm rastreamento de restrições e gerenciam automaticamente os wake locks. O tipo de serviço em primeiro plano "dataSync" pode incluir a transferência de dados local ou por uma rede, além do processamento local de dados no dispositivo. Se o caso de uso for transferir dados por uma rede (como Wi-Fi, móvel ou Bluetooth) em resposta a uma solicitação explícita do usuário, recomendamos usar o job de transferência de dados iniciada pelo usuário em vez do tipo de serviço em primeiro plano "dataSync".

O que vai mudar na intent para tela cheia no Android 14?

No Android 14, USE_FULL_SCREEN_INTENT vai mudar de uma permissão normal para uma permissão de acesso especial para apps. Com isso, apenas os apps com funcionalidades principais que sejam casos de uso de alta prioridade para definir alarmes ou receber ligações ou videochamadas vão receber a permissão USE_FULL_SCREEN_INTENT automaticamente. Para entender o que é uma funcionalidade principal, pense no objetivo central do app: sem essa funcionalidade, o app ficaria corrompido ou inutilizável. Outros apps também podem usar essa permissão, mas precisam que o usuário a conceda.

Quando essas mudanças nas intents para tela cheia do Android 14 vão entrar em vigor?

Essas mudanças vão entrar em vigor em 31 de maio de 2024.

Se meu app é um despertador ou recebe ligações ou videochamadas, como posso garantir que ele vai receber a permissão automaticamente?

Quando o app for direcionado ao Android 14 ou versões mais recentes, você vai ter a opção de declarar que ele é um app de funcionalidade principal para intents de tela cheia na página Conteúdo do app (Política > Conteúdo do app) no Play Console. A declaração vai estar disponível a partir de abril de 2024, e você vai ter tempo para a preencher.

Isso foi útil?

Como podemos melhorá-lo?

Precisa de mais ajuda?

Siga as próximas etapas:

true
Pesquisa
Limpar pesquisa
Fechar pesquisa
Menu principal
13000575643576818520
true
Pesquisar na Central de Ajuda
true
true
true
true
true
92637
false
false