Configuração do rastreamento de desinstalação no Android
Rastreie as desinstalações de aplicativos no Android para medir a retenção de usuários, identificar fontes de tráfego de baixa qualidade e otimizar o desempenho da campanha usando a integração do Firebase Cloud Messaging com o Singular SDK.
Migração do Firebase necessária: o Firebase descontinuou a API HTTP legada e encerrou suas operações em 22 de julho de 2024. Todas as implementações devem usar a API HTTP v1. Consulte as instruções de configuração da HTTP v1 abaixo.
Visão geral
Como funciona o rastreamento de desinstalação
O Singular detecta desinstalações de aplicativos enviando notificações push silenciosas por meio do Firebase Cloud Messaging e monitorando as respostas de entrega para determinar se o aplicativo permanece instalado nos dispositivos.
Processo técnico:
- Registro de token: o SDK do Singular registra tokens FCM nos servidores do Singular
- Notificações silenciosas: o Singular envia notificações push silenciosas periódicas para dispositivos registrados
- Feedback de entrega: o FCM relata o sucesso ou a falha na entrega
- Detecção de desinstalação: entregas com falha indicam desinstalação do aplicativo
- Registro de eventos: evento de desinstalação atribuído à fonte de instalação original
Requisitos
- Versão do SDK: SDK do Android 7.0+ necessário para rastreamento de desinstalação .
- Configuração do Firebase: projeto Firebase ativo com Cloud Messaging habilitado
- Google Play Services: os dispositivos devem ter o Google Play Services instalado
- Atualização do aplicativo: os usuários devem instalar a versão atualizada do aplicativo com o rastreamento de desinstalação ativado
- Permissões: Android 13+ requer permissão explícita de notificação para geração de token FCM
Considerações importantes
Pontos-chave:
- Diferenças metodológicas: O rastreamento de desinstalações da Singular difere dos relatórios integrados do Google. O Google relata desinstalações diretamente do sistema operacional, enquanto a Singular usa o feedback de entrega do FCM . Os números podem variar entre as plataformas.
- Preservação da atribuição: as desinstalações são rastreadas como eventos sem remover o link de atribuição original. Os usuários podem desinstalar e reinstalar várias vezes, resultando potencialmente em taxas de desinstalação superiores a 100%.
- Processamento em lote: A detecção de desinstalações é baseada em lotes, dependendo do feedback de resposta do FCM. Espere até 24 horas para que os dados de desinstalação apareçam no painel do Singular.
- Dependência da rede: Notificações push silenciosas requerem conexão de rede ativa. Dispositivos offline por longos períodos podem atrasar a detecção de desinstalação.
Compartilhamento restrito por domínio
Se sua organização do Google tiver o compartilhamento restrito por domínio ativado, conceda acesso à organização Singular para ativar a funcionalidade de rastreamento de desinstalação .
Configuração necessária: adicione o ID da organização Singular à lista de valores permitidos da sua política de compartilhamento restrito ao domínio.
Etapas de configuração:
- Acesse as políticas da organização: navegue até a página Políticas da organização no Google Cloud Console
- Selecione o recurso: escolha a organização onde a política está configurada
- Encontre a restrição: localize a restrição "Compartilhamento restrito ao domínio" .
- Gerenciar política: Clique no botão "Gerenciar política"
- Adicione a organização Singular: em Valores da política, selecione Personalizado e adicione o seguinte:
is:principalSet://iam.googleapis.com/organizations/626787461583
Isso concede à conta de serviço da Singular acesso para enviar notificações FCM para detecção de desinstalação.
Configuração da API HTTP v1 (recomendado)
Configure o rastreamento de desinstalação usando a API HTTP v1 do Firebase Cloud Messaging com segurança aprimorada por meio de tokens de acesso OAuth 2.0 e suporte aprimorado a mensagens entre plataformas .
Por que HTTP v1? A API v1 oferece melhor segurança por meio de tokens de acesso de curta duração, personalização multiplataforma mais eficiente e suporte contínuo do Firebase para novos recursos. A API HTTP legada foi desativada em 22 de julho de 2024.
Etapa 1: integrar o SDK do Android 7.x+
Atualizar a versão do SDK
Certifique-se de que seu aplicativo esteja usando o Singular SDK do Android versão 7.0 ou superior. Se você ainda não integrou o Singular SDK, conclua o Guia de integração do Android SDK antes de configurar o rastreamento de desinstalação.
Guia de integração completo: Guia de integração do SDK para Android
Etapa 2: Confirme a configuração do AndroidManifest.xml FCM
Verifique o serviço FCM e as permissões
Certifique-se de que seu aplicativo já esteja integrado ao Firebase Cloud Messaging e que o manifesto do Android declare um FirebaseMessagingService para receber mensagens FCM.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.your.package">
<!-- FCM Permissions -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<application>
<!-- App Firebase Messaging Service -->
<service
android:name=".MyFirebaseMessagingService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
</application>
</manifest>
Importante: substitua .MyFirebaseMessagingService pelo nome completo
da sua classe que estende FirebaseMessagingService.
Apenas um serviço deve lidar com a
intenção com.google.firebase.MESSAGING_EVENT no seu aplicativo.
Configuração detalhada do manifesto: Guia do manifesto do Firebase FCM para Android.
Etapa 3: criar projeto Firebase
Inicialize o Firebase
Configure um projeto Firebase e recupere o ID do projeto necessário para a configuração do Singular .
- Abra o Console do Firebase: Navegue até Console do Firebase
- Criar projeto: selecione ou crie um novo projeto Firebase para seu aplicativo
- Localize as configurações do projeto: clique no ícone de engrenagem → Configurações do projeto .
- Copie o ID do projeto: copie o ID do seu projeto na guia Geral (você irá inseri-lo no Singular posteriormente)
Etapa 4: habilite a API Firebase Cloud Messaging
Ative a API HTTP v1
Habilite a API Firebase Cloud Messaging (v1) para que seu projeto use o protocolo HTTP v1 moderno.
- Navegue até Cloud Messaging: No Firebase Console, vá para Configurações do projeto → guia Cloud Messaging
- Habilite a API: Clique em "Habilitar" ao lado da API Firebase Cloud Messaging (V1)
- Verifique a ativação: confirme se o status da API aparece como "Ativado"
Importante: a API Firebase Cloud Messaging (V1) é diferente da API Cloud Messaging legada. Certifique-se de habilitar a versão v1 correta.
Etapa 5: criar função IAM personalizada
Configurar permissões da conta de serviço
Crie uma função IAM personalizada com permissões específicas para o Singular enviar notificações FCM para detecção de desinstalação.
- Acesse o IAM: em Configurações do projeto Firebase → Contas de serviço → Gerenciar permissões da conta de serviço
- Abrir funções: Selecione "Funções" no menu de navegação à esquerda
- Criar função: clique no botão "Criar função"
-
Configurar detalhes da função:
-
Título:
Singular Uninstall Tracking -
ID:
singular_uninstalls -
Estágio de lançamento da função:
General Availability
-
Título:
Adicionar permissão necessária
Conceda a função personalizada permissão para enviar mensagens FCM.
- Adicionar permissões: Clique no botão "Adicionar permissões"
- Filtrar permissões: procure por "Firebase Cloud Messaging API Admin"
-
Selecione a permissão: Marque
cloudmessaging.messages.create - Adicionar à função: clique no botão "Adicionar"
- Criar função: clique em "Criar" para concluir a criação da função
Etapa 6: Atribuir conta de serviço Singular
Conceder acesso ao Singular
Atribua a função personalizada à conta de serviço do Singular para autorizar operações de rastreamento de desinstalação. Abrir página IAM: Selecione "IAM" no menu de navegação à esquerda
- Abrir a página IAM: Selecione "IAM" no menu de navegação à esquerda
- Conceder acesso: Clique no botão "Conceder acesso" na guia Permissões .
-
Adicionar principal: No campo "Novos principais", insira:
singular-uninstall-tracking@singular-uninstall-tracking.iam.gserviceaccount.com
Atribuir função personalizada
Selecione a função "Rastreamento de desinstalação singular" criada nas etapas anteriores.
- Selecionar função: Em "Atribuir funções", procure e selecione "Rastreamento de desinstalação singular"
- Verificar configuração: Confirme se a configuração corresponde à captura de tela abaixo
- Salvar: Clique no botão "Salvar" para aplicar as permissões
Configuração final:
Etapa 7: Configure as configurações do aplicativo Singular
Adicione o ID do projeto ao Singular
Insira o ID do seu projeto Firebase na configuração do aplicativo Singular para habilitar o rastreamento de desinstalações.
- Abrir aplicativos Singular: Navegue até a página de aplicativos Singular
- Selecione o aplicativo: escolha seu aplicativo Android na lista
- Configurações avançadas: role até a seção Configurações avançadas
- Rastreamento de desinstalação: localize a configuração de rastreamento de desinstalação
- Insira o ID do projeto: Cole o ID do seu projeto Firebase da Etapa 3
- Salvar: clique em Salvar para aplicar a configuração
Verificação: após salvar, o Singular validará o ID do projeto e as permissões IAM. Se a validação falhar, verifique novamente a configuração da conta de serviço no Firebase.
Testando o rastreamento de desinstalação
Verifique se o rastreamento de desinstalação está configurado corretamente antes de lançar a atualização do aplicativo para produção.
Procedimento de teste
Etapas de validação
- Instalar a versão de teste: Implante o aplicativo com o rastreamento de desinstalação ativado para testar o dispositivo
- Inicie o aplicativo: abra o aplicativo para acionar a inicialização do SDK e o registro do token FCM
- Verifique o registro do token: verifique os logs do SDK para confirmar o registro bem-sucedido do token FCM com o Singular
- Aguarde o processamento em lote: aguarde 24 a 48 horas para que o Singular envie a primeira notificação silenciosa
- Desinstalar o aplicativo: Remova o aplicativo do dispositivo de teste
- Monitorar painel: verifique o painel do Singular após 24-48 horas para ver se houve algum evento de desinstalação
Cronograma de teste: o rastreamento de desinstalações é feito em lote e pode levar até 48 horas para detectar e relatar desinstalações. Esse atraso é um comportamento esperado.
Verificação do log do SDK
Verifique o logcat do Android para mensagens do SDK Singular confirmando a configuração correta.
Mensagens de log esperadas:
D/SingularSDK: FCM token registered successfully
D/SingularSDK: Uninstall tracking enabled
D/SingularSDK: Token sent to Singular servers
Problemas comuns
| Problema | Causa | Solução |
|---|---|---|
| Nenhum token FCM gerado | Firebase não configurado corretamente |
Verifique se google-services.json está no diretório app/
e se o plug-in Firebase foi aplicado em build.gradle
|
| Erros de permissão negada nos logs | Função IAM não atribuída corretamente | Verifique se a conta de serviço Singular tem a função "Singular Uninstall Tracking" no Firebase IAM |
| Token não alcançando o Singular | Conectividade de rede ou SDK não inicializado | Certifique-se de que o aplicativo tenha permissão de internet e que o SDK Singular esteja inicializado antes do registro do token FCM |
| Desinstalações não aparecem no painel | Atraso no processamento em lote ou tempo insuficiente decorrido | Aguarde 48 horas após a desinstalação do aplicativo antes de investigar mais a fundo |
| Falha na validação da API no Singular | API HTTP v1 não habilitada no Firebase | Verifique se a API Firebase Cloud Messaging (V1) está habilitada nas configurações do Cloud Messaging |
API HTTP legada (obsoleta)
A API HTTP legada foi desativada em 22 de julho de 2024. Todas as implementações devem migrar para a API HTTP v1.
Descontinuada: a API HTTP legada não está mais funcional. Se você estiver usando a configuração da chave do servidor legada, migre para a API HTTP v1 imediatamente usando as instruções acima.
Migração necessária
Se o seu aplicativo usa atualmente a API HTTP legada com configuração de chave do servidor e ID do remetente , siga estas etapas de migração:
- Revise a configuração atual: verifique se as configurações do aplicativo Singular mostram o campo "Chave do servidor" em vez de "ID do projeto"
- Siga a configuração HTTP v1: Conclua todas as etapas na seção Configuração da API HTTP v1 acima
- Atualize a configuração do aplicativo: substitua a chave do servidor pelo ID do projeto Firebase nas configurações do Singular
- Teste a implementação: verifique se o rastreamento de desinstalação funciona com a nova configuração da API v1
- Lance a atualização: Implante o aplicativo atualizado para os usuários de produção
Guia de migração: Migração da API HTTP v1 do Firebase
Benefícios da API HTTP v1
- Segurança aprimorada: usa tokens de acesso OAuth 2.0 de curta duração em vez de chaves de servidor estáticas
- Melhor suporte entre plataformas: estrutura de mensagens unificada para Android, iOS e web
- Substituições específicas da plataforma: personalize o comportamento das notificações por plataforma em uma única solicitação
- Preparação para o futuro: suporte contínuo do Firebase e novos recursos disponíveis apenas na v1
- Tratamento de erros aprimorado: respostas de erro mais detalhadas para solução de problemas
Analisando dados de desinstalação
Use os dados de desinstalação nos relatórios do Singular para otimizar o desempenho da campanha e identificar problemas de qualidade do tráfego.
Métricas disponíveis
Métricas de rastreamento de desinstalação
- Contagem de desinstalações: número total de desinstalações de aplicativos detectadas
- Taxa de desinstalação: porcentagem de instalações que resultaram em desinstalações
- Dias até a desinstalação: tempo médio entre os eventos de instalação e desinstalação
- Desinstalações por fonte: detalhamento das desinstalações por campanha, editor, criativo
- Análise de coorte: padrões de desinstalação em diferentes coortes de usuários
Casos de uso
Otimização de campanha:
- Identifique campanhas que geram tráfego de baixa qualidade com altas taxas de desinstalação .
- Compare as taxas de desinstalação entre diferentes fontes de tráfego
- Otimize estratégias de licitação com base na retenção prevista de usuários
Detecção de fraudes:
- Detecte padrões anormais de desinstalação que indiquem fraude de instalação
- Sinalize editores com taxas de desinstalação suspeitamente altas
- Monitore o tempo até a desinstalação para detectar sinais de tráfego de bots
Análise de retenção de usuários:
- Acompanhe a aderência e o envolvimento do aplicativo ao longo do tempo
- Correlacione as desinstalações com atualizações do aplicativo ou lançamentos de recursos
- Identifique os fatores que contribuem para a perda de usuários
Melhores práticas
Estratégias de otimização
- Defina referências: estabeleça limites aceitáveis para a taxa de desinstalação para diferentes tipos de campanha
- Monitore as tendências: acompanhe as taxas de desinstalação ao longo do tempo para identificar padrões sazonais ou anomalias
- Análise de segmentos: compare as taxas de desinstalação entre demografias, regiões geográficas e dispositivos dos usuários
- Janelas de atribuição: considere o momento da desinstalação ao avaliar o desempenho da campanha
- Pontuação de qualidade: incorpore as taxas de desinstalação nos modelos de pontuação de qualidade do tráfego