Contexto
Este documento descreve como integrar, testar e validar o recurso de arquivamento de RCS no Google Mensagens.
Visão geral da solução
- Arquivamento do lado do cliente:os fornecedores de arquivamento precisam desenvolver um app Android para que os administradores de TI implantem nos dispositivos gerenciados.
- Com tecnologia do Google Mensagens:esse recurso exige que o Google Mensagens seja o app de mensagens padrão. Os administradores de TI podem usar os controles do Android Enterprise para aplicar o padrão.
- Requer o Android Enterprise:esse recurso está disponível apenas em dispositivos totalmente gerenciados.
Fluxo de trabalho

- O administrador de TI implanta o app de arquivamento usando o Android Enterprise.
- Opcional: o administrador de TI configura o app de arquivamento de maneira programática usando
controles do Android Enterprise.
- Obrigatório:
- O app de arquivamento precisa da permissão
READ_SMS
- O app de arquivamento precisa da permissão
- Recomendado:
- Não permitir o controle do usuário sobre o Google Mensagens e o app de arquivamento
- O administrador de TI impõe o Google Mensagens como o cliente padrão de SMS/RCS
- Opcionalmente, o administrador de TI também pode pré-registrar o app de arquivamento usando o MCM, se a solução de arquivamento for compatível com o MCM.
- Obrigatório:
- O admin de TI ativa o arquivamento no Google Mensagens usando o MCM.
- O Google Mensagens grava dados de mensagens no Android em eventos de mensagens. Um evento de mensagem é um dos seguintes: mensagem enviada, mensagem recebida, mensagem editada ou mensagem excluída.
- O Google Mensagens notifica o app de arquivamento sobre novos eventos de mensagens, tanto para mensagens RCS quanto SMS/MMS.
- O app de arquivamento lê os dados da mensagem do provedor
Telephony
. - O app de arquivamento agrupa as atualizações e as envia ao servidor.
Implementação
Esquema da MCM do Google Mensagens
O arquivamento é configurado no Google Mensagens usando a chave messages_archival
,
que aceita um valor de string para que os administradores especifiquem o app de arquivamento por nome
do pacote. Se o valor estiver vazio, nulo ou a chave não estiver presente, o arquivamento será
desativado. Se o valor for especificado, o arquivamento será ativado, e o Google Mensagens
enviará uma transmissão explícita para o nome do pacote especificado em um evento de mensagem.
Notificação para o app de arquivamento
- Uma transmissão explícita é enviada ao app de arquitetura especificado com a ação:
GOOGLE_MESSAGES_ARCHIVAL_UPDATE
- Em alguns casos, o URI da mensagem é incluído nos extras da transmissão, que podem
ser usados para buscar a mensagem que acionou a transmissão:
com.google.android.apps.messaging.EXTRA_ARCHIVAL_URI
Requisitos para apps arquivados
Obrigatório:
- Declare a permissão FOREGROUND_SERVICE.
- Declare um serviço em primeiro plano no manifesto, que inclui o filtro de intent para a transmissão de atualização de arquivamento e tem permissão concedida para garantir que apenas o Google Mensagens possa iniciar o serviço.
<service
android:enabled="true"
android:foregroundServiceType="shortService"
android:name=".TestService"
android:exported="true"
android:permission="android.permission.WRITE_SMS">
<intent-filter>
<action android:name="GOOGLE_MESSAGES_ARCHIVAL_UPDATE" />
</intent-filter>
</service>
- Implemente esse serviço para processar a intent, ler da telefonia e determinar o tipo do evento de mensagem comparando o estado anterior da telefonia com o estado atual. Em seguida, armazene em cache o evento de mensagem a ser enviado para o back-end do serviço de arquivamento e o estado atualizado da telefonia para comparar no próximo evento.
Recomendação:
Atualizações em lote de eventos de mensagem para o servidor com
JobScheduler
.- Os administradores de TI podem garantir que o app não seja encerrado nem os dados dele excluídos pelos usuários, garantindo que as atualizações em lote possam prosseguir conforme o esperado.
- Minimizar o tempo do serviço em primeiro plano para apenas o requisito crítico de arquivamento minimiza o impacto na UX e na integridade do sistema.
Ative a configuração programática do app usando o MCM (conforme mencionado em Esquema do MCM de mensagens), para que os usuários não precisem fazer login nem especificar os detalhes de registro do servidor manualmente.
Teste
Para testar sua implementação, use o TestDPC ou o cliente de EMM preferido.