Configurar o rastreio de desinstalação do Android

Documento

Configuração do rastreamento de desinstalação do Android

Acompanhe 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 foi encerrado em 22 de julho de 2024. Todas as implementações devem usar a API HTTP v1. Consulte Instruções de configuração do HTTP v1 abaixo.


Visão geral

Como funciona o rastreamento de desinstalação

A Singular detecta desinstalações de aplicativos enviando notificações push silenciosas via Firebase Cloud Messaging e monitorando as respostas de entrega para determinar se o aplicativo permanece instalado nos dispositivos.

Processo técnico:

  1. Registro de token: O SDK da Singular registra os tokens FCM com os servidores da Singular
  2. Notificações silenciosas: A Singular envia periodicamente notificações push silenciosas para os dispositivos registados
  3. Feedback de entrega: FCM relata sucesso ou falha na entrega
  4. Deteção de desinstalação: As entregas falhadas indicam a desinstalação da aplicação
  5. Registo 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 ativado
  • 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 de notificação explícita para geração de token FCM

Considerações importantes

Pontos principais:

  • Diferenças de metodologia: O rastreamento de desinstalação da Singular é diferente dos relatórios integrados do Google. O Google relata as desinstalações diretamente do sistema operacional, enquanto a Singular usa o feedback de entrega do FCM. Os números podem variar entre plataformas.
  • Preservação da atribuição: As desinstalações são rastreadas como eventos sem remover o link de atribuição original. Os utilizadores podem desinstalar e reinstalar várias vezes, o que pode resultar em taxas de desinstalação superiores a 100%.
  • Processamento em lote: A deteção de desinstalação é baseada em lotes, contando com o feedback de resposta do FCM. Espere até 24 horas para que os dados de desinstalação apareçam no painel do Singular.
  • Dependência de rede: As notificações push silenciosas requerem uma conexão de rede ativa. Dispositivos offline por longos períodos podem atrasar a deteção da desinstalação.

Partilha com restrição de domínio

Se a sua Organização Google tiver a Partilha restritaao domínioactivada, conceda acesso à Organização Singular para ativar a funcionalidade de monitorização de desinstalações.

Configuração necessária: Adicione o ID da organização da Singular à lista de valores permitidos da política de Compartilhamento restrito de domínio.

Etapas de configuração:

  1. Acessar as políticas da organização: Navegue até a página Políticas da organização no Google Cloud Console
  2. Selecionar recurso: Escolha a organização onde a política está configurada
  3. Localizar restrição: Localize a restrição "Compartilhamento restrito de domínio"
  4. Gerenciar política: Clique no botão "Manage policy" (Gerir política)
  5. Adicionar 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 deteção de desinstalação.


Configuração da API HTTP v1 (recomendada)

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 mais eficiente entre plataformas e suporte contínuo do Firebase para novos recursos. A API HTTP legada foi encerrada em 22 de julho de 2024.

Etapa 1: Integrar o SDK do Android 7.x+

Atualizar a versão do SDK

Atualize para o SDK do Android 7.0 ou superior para habilitar a funcionalidade de rastreamento de desinstalação.

Configuração do Gradle:

Kotlin DSL
dependencies {
    // Singular SDK do Android 7.x+
    implementation("com.singular.sdk:singular_sdk:12.6.2")
}

Guia de integração completo: Guia de integração do SDK do Android


Etapa 2: Configurar o AndroidManifest.xml

Adicionar recetor FCM

Configure o manifesto do Android para receber notificações do FCM para deteção de desinstalação.

XML
<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>
        
        <!-- Singular FCM Receiver Service -->
        <service
            android:name="com.singular.sdk.SingularFcmService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>

    </application>

</manifest>

Configuração detalhada do manifesto: Guia de rastreamento de desinstalação do SDK do Android


Etapa 3: Criar projeto do Firebase

Inicializar o Firebase

Configure um projeto do Firebase e recupere o ID do projeto necessário para a configuração do Singular.

  1. Abra o Console do Firebase: Navegue até o Console do Firebase
  2. Criar projeto: Selecione ou crie um novo projeto do Firebase para seu aplicativo
  3. Localize Configurações do projeto: Clique no ícone de engrenagem → Configurações do projeto
  4. Copiar ID do projeto: Copie o ID do projeto da guia Geral (você digitará isso no Singular mais tarde)

Firebase Project Settings

Firebase Project ID


Passo 4: Habilitar a API de mensagens da nuvem do Firebase

Ativar a API HTTP v1

Habilite a Firebase Cloud Messaging API (v1) para que seu projeto use o moderno protocolo HTTP v1.

  1. Navegue até Mensagens na Nuvem: No Console do Firebase, vá para Configurações do projeto → aba Mensagens na nuvem
  2. Habilitar API: Clique em "Ativar" ao lado de Firebase Cloud Messaging API (V1)
  3. Verificar ativação: Confirme se o status da API é exibido como "Ativado"

Enable FCM API

Importante: a API do Firebase Cloud Messaging (V1) é diferente da API legada do Cloud Messaging. Certifique-se de ativar a versão v1 correta.


Etapa 5: criar função de IAM personalizada

Configurar permissões da conta de serviço

Crie uma função IAM personalizada com permissões específicas para que o Singular envie notificações FCM para deteção de desinstalação.

  1. Acesse o IAM: em Configurações do projeto Firebase → Contas de serviço → Gerenciar permissões da conta de serviço
  2. Abra as funções: Selecione "Roles" no menu de navegação esquerdo
  3. Criar função: Clique no botão "Create Role" (Criar função)
  4. Configurar detalhes da função:
    • Título: Singular Uninstall Tracking
    • ID: singular_uninstalls
    • Fase de lançamento da função: General Availability

Create Custom Role


Adicionar permissão necessária

Conceder permissão à função personalizada para enviar mensagens FCM.

  1. Adicionar permissões: Clique no botão "Add Permissions" (Adicionar permissões)
  2. Filtrar permissões: Procurar por "Firebase Cloud Messaging API Admin"
  3. Selecionar permissão: Verificar cloudmessaging.messages.create
  4. Adicionar à função: Clique no botão "Add" (Adicionar)
  5. Criar função: Clique em "Create" (Criar) para concluir a criação da função

Add Permission


Passo 6: Atribuir conta de serviço Singular

Conceder acesso à Singular

Atribua a função personalizada à conta de serviço do Singular para autorizar operações de rastreamento de desinstalação.

  1. Abra a página do IAM: Selecione "IAM" no menu de navegação esquerdo
  2. Conceder acesso: Clique no botão "Grant Access" (Conceder acesso) na guia Permissions (Permissões)
  3. Adicionar Principal: No campo "Novos principais", digite:
    singular-uninstall-tracking@singular-uninstall-tracking.iam.gserviceaccount.com

Grant Access

Add Principal


Assign Custom Role (Atribuir função personalizada)

Selecione a função "Singular Uninstall Tracking" criada nos passos anteriores.

  1. Selecionar função: Em "Assign roles" (Atribuir funções), procure e selecione "Singular Uninstall Tracking" (Monitorização de desinstalação singular)
  2. Verificar a configuração: Confirme se a configuração corresponde à captura de ecrã abaixo
  3. Guardar: Clique no botão "Save" (Guardar) para aplicar as permissões

Assign Role

Configuração final:

Final IAM Configuration


Etapa 7: Configurar as definições do Singular App

Adicionar ID do projeto ao Singular

Insira seu ID do projeto Firebase na configuração do aplicativo Singular para habilitar o rastreamento de desinstalação.

  1. Abra o Singular Apps: Navegue até a página do Singular Apps
  2. Selecionar aplicativo: Escolha seu aplicativo Android na lista
  3. Configurações avançadas: Desloque-se para a secção Definições avançadas
  4. Desinstalar rastreio: Localizar a configuração Desinstalar seguimento
  5. Inserir ID do projeto: Cole o ID do projeto Firebase da etapa 3
  6. Salvar: Clique em Salvar para aplicar a configuração

Singular Project ID Configuration

Verificação: Após salvar, o Singular validará o ID do projeto e as permissões do 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 liberar o aplicativo atualizado para produção.

Procedimento de teste

Etapas de validação

  1. Instalar a compilação de teste: Implantar o aplicativo com o rastreamento de desinstalação ativado no dispositivo de teste
  2. Iniciar aplicativo: Abrir a aplicação para ativar a inicialização do SDK e o registo do token FCM
  3. Verificar o registo do token: Verificar os logs do SDK para registro bem-sucedido do token FCM com o Singular
  4. Aguardar o processo de lote: Aguarde de 24 a 48 horas para que o Singular envie a primeira notificação silenciosa
  5. Desinstalar o aplicativo: Remover o aplicativo do dispositivo de teste
  6. Monitorar painel de controle: Verificar o painel do Singular após 24-48 horas para o evento de desinstalação

Linha do tempo de teste: O rastreamento de desinstalação é baseado em lotes e pode levar até 48 horas para detetar e relatar desinstalações. Esse atraso é um comportamento esperado.


Verificação de log do SDK

Verifique o logcat do Android para ver se há mensagens do SDK do Singular confirmando a configuração correta.

Mensagens de registo 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 do Firebase está aplicado em build.gradle
Erros de permissão negada nos logs Função IAM não atribuída corretamente Verifique se a conta do serviço Singular tem a função "Singular Uninstall Tracking" no IAM do Firebase
O token não está a chegar ao Singular Conectividade de rede ou SDK não inicializado Certifique-se de que o aplicativo tenha permissão de internet e que o Singular SDK seja inicializado antes do registro do token FCM
As desinstalações não aparecem no painel Atraso no processamento do lote ou tempo insuficiente decorrido Aguarde 48 horas completas após a desinstalação do aplicativo antes de investigar mais
Falha na validação da API no Singular API HTTP v1 não ativada no Firebase Verifique se a API do Firebase Cloud Messaging (V1) está ativada 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 herdada não é mais funcional. Se você estiver usando a configuração de chave de servidor herdada, 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 herdada com a configuração de Chave do servidor e ID do remetente, siga estas etapas de migração:

  1. Rever a configuração atual: Verifique se as definições da aplicação Singular mostram o campo "Chave do servidor" em vez de "ID do projeto"
  2. Seguir a configuração HTTP v1: Conclua todas as etapas na seção Configuração da API HTTP v1 acima
  3. Atualizar a configuração do aplicativo: Substituir a chave do servidor pelo ID do projeto Firebase nas configurações do Singular
  4. Teste a implementação: Verifique se o rastreamento de desinstalação funciona com a nova configuração da API v1
  5. Atualização da versão: implantar o aplicativo atualizado para 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 mensagem unificada para Android, iOS e Web
  • Substituições específicas da plataforma: Personalize o comportamento de notificação por plataforma em uma única solicitação
  • Preparado para o futuro: Suporte contínuo ao Firebase e novos recursos disponíveis apenas na v1
  • Tratamento de erros aprimorado: Respostas de erro mais detalhadas para solução de problemas

Análise de dados de desinstalação

Use dados de desinstalação em relatórios Singular para otimizar o desempenho da campanha e identificar problemas de qualidade de 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 para 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 cohort: Padrões de desinstalação em diferentes grupos de utilizadores

Casos de uso

Otimização de campanhas:

  • Identificar campanhas que geram tráfego de baixa qualidade com altas taxas de desinstalação
  • Comparar taxas de desinstalação entre diferentes fontes de tráfego
  • Otimizar estratégias de licitação com base na retenção de utilizadores prevista

Deteção de fraude:

  • Detetar padrões anormais de desinstalação que indicam fraude na instalação
  • Sinalizar editores com taxas de desinstalação suspeitamente altas
  • Monitorizar o tempo até à desinstalação para detetar sinais de tráfego de bots

Análise de retenção de usuários:

  • Acompanhar a aderência e o envolvimento do aplicativo ao longo do tempo
  • Correlacionar desinstalações com actualizações de aplicações ou lançamentos de funcionalidades
  • Identificar factores que contribuem para a rotatividade de utilizadores

Melhores práticas

Estratégias de otimização

  • Definir parâmetros de referência: Estabelecer limites aceitáveis de taxa de desinstalação para diferentes tipos de campanha
  • Monitorizar 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 com os dados demográficos, geográficos e dispositivos dos utilizadores
  • Janelas de atribuição: Considere o momento da desinstalação ao avaliar o desempenho da campanha
  • Pontuação de qualidade: Incorporar as taxas de desinstalação nos modelos de pontuação da qualidade do tráfego