Faça a integração da mensuração de desinstalação do Android a um aplicativo

Visão geral: configure a mensuração de desinstalação em aplicativos Android integrando o Firebase Cloud Messaging ao aplicativo.

Leitura relacionada: Princípios da mensuração de desinstalação.

Métrica de desinstalações para Android

A mensuração de desinstalação do Android fica disponível quando você configura a mensuração de desinstalação na AppsFlyer e adota o uso do Firebase Cloud Messaging (FCM) em seu aplicativo. A partir de abril de 2021, a AppsFlyer é compatível tanto com a API legada do FCM quanto com a API HTTP V1. O FCM incentiva a adoção da versão V1

Lista de verificação de implementação da mensuração de desinstalação 
Etapa Ação Responsabilidade
1 Conecte o FCM à AppsFlyer

Selecione uma API de integração:

Profissional de marketing/desenvolvedor
2

Integre o FCM ao aplicativo

A integração ocorre de maneiras diferentes caso você use o FCM somente com a AppsFlyer ou com diversas plataformas.

  1. Adote o uso do FCM no aplicativo.
  2. Siga um dos procedimentos abaixo:
  3. [Opcional] Caso você use o Proguard, conclua a ativação do Proguard.
desenvolvedor
3 Teste a mensuração de desinstalação desenvolvedor

Conecte a API do FCM à AppsFlyer

Selecione uma versão da API do FCM [Prática recomendada] HTTP V1 ou HTTP legado. 

HTTP V1

Para configurar a API V1 do FCM para desinstalações: 

  1. Para obter o ID do projeto:
    1. Acesse o console do FCM.
    2. Selecione um projeto. 
    3. Acesse Visão geral do projeto > Configurações do projeto.

      UninstallFirebase.png

    4. Copie o ID do projeto. Você vai precisar dele mais à frente no processo.
  2. Para atribuir à AppsFlyer a função de desinstalação:
    1. Acesse a aba Contas de serviço
    2. Clique em Gerenciar permissões de conta de serviço
      Uma nova aba do navegador é aberta na plataforma do Google Cloud.
    3. No menu lateral, selecione Funções
    4. Clique em +Criar função.
    5. Preencha da seguinte forma:
      • Título: insira desinstalações da AppsFlyer.
      • ID: insira af_uninstalls
      • Status de inicialização da função: selecione Disponibilidade geral
    6. Pesquise e selecione cloudmessaging.messages.create.

      AddPermissions.png

    7. Clique em Adicionar.
    8. Clique em Criar
  3. Para atribuir à AppsFlyer a função de desinstalação do FCM:
    1. No menu lateral, selecione IAM.
    2. Clique em + Adicionar.
    3. No campo Novos membros , insira af-uninstalls-tracking@af-uninstalls-tracking.iam.gserviceaccount.com
    4. Selecione uma função, selecioneDesinstalações da AppsFlyer.
    5. Clique em Salvar.  A conta de serviço da AppsFlyer foi atribuída à função de desinstalações da AppsFlyer. 
  4. Para habilitar a mensuração de desinstalação na AppsFlyer:
    1. Na AppsFlyer, acesse Configuração > Definições do aplicativo.
    2. Se necessário, ative a Mensuração de desinstalação
    3. Selecione HTTP V1.

      UninstallHTTPV1.png

    4. Insira o ID do projeto que você preparou anteriormente nesta seção.
    5. Clique em Testar conexão.
      A mensagem Sucesso! é exibida. 
    6. Clique em Salvar configurações

HTTP herdado

A métrica de desinstalação usando o Firebase Messaging é compatível com o Android SDK V4.7.0+

  1. Para obter a chave do servidor Firebase:
    1. Crie um projeto de aplicativo do Firebase para Android (se você ainda não tiver feito isso) ou migre seu projeto do Console de desenvolvedores do Google (siga as instruções lá). Para mais informações, acesse Firebase
    2. Abra o Console do Firebase.
    3. Na página do console do Firebase , navegue até as configurações do projeto (clique na engrenagem ao lado de Visão geral do projeto no painel esquerdo da página).

      firebase_cloud_messaging_server_key.png

    4. Na aba Cloud Messaging, você verá duas chaves de servidor.
    5. Copie a Chave do servidor.
  2. Para habilitar a mensuração de desinstalação na AppsFlyer:
    1. Na AppsFlyer, acesse Configuração > Definições do aplicativo.
    2. Se necessário, ative a Mensuração de desinstalação
    3. Selecione HTTP legado.
      UninstallLegacy.png
    4. Incorpore a chave de servidor FireBase/GCM que você preparou na etapa anterior.
    5. Clique em Salvar configurações

Integre o FCM ao aplicativo

Use os procedimentos a seguir (conforme necessário) para integrar o FCM ao app e testar a integração.

Adote o FCM no aplicativo

  • A versão mais recente do Firebase pode ser encontrada aqui: Firebase official doc.
  • Se você receber o erro "Could not find..", certifique-se de ter o último repositório do Google no Gerenciador do SDK para Android. 
Para adotar o FCM em seu aplicativo:
  1. Baixe google-services.json do console do Firebase.
  2. Adicione o google-services.json ao diretório do módulo do aplicativo,
  3. Adicione regras ao seu arquivo build.gradle de nível de raiz para incluir o plugin google-services:
    buildscript { 
        // ... 
        dependencies { 
          // ... 
          classpath 'com.google.gms:google-services:4.2.0' // google-services plugin 
        } 
      }
    
  4. Adicione a dependência do FCM ao seu arquivo build.gradle de nível de aplicativo:

    dependencies {
       implementation 'com.google.firebase:firebase-messaging:17.3.4'
    }
    
    // ADD THIS AT THE BOTTOM 
    apply plugin: 'com.google.gms.google-services
    

Use o FCM somente com o SDK da AppsFlyer

Se o único propósito da integração do FCM for a mensuração das desinstalações na AppsFlyer, use o  serviço AppsFlyer.FirebaseMessagingServiceListener, incorporado ao SDK. Isso expande a classe FirebaseFirebaseBaseMessagingService, usada para receber o token do dispositivo FCM.

Para adicionar o serviço AppsFlyer.FirebaseMessagingServiceListener ao aplicativo:

<application
   <!-- ... -->
      <service
        android:name="com.appsflyer.FirebaseMessagingServiceListener">
        <intent-filter>
          <action android:name="com.google.firebase.MESSAGING_EVENT"/>
        </intent-filter>
      </service>
   <!-- ... -->
</application>

Use o FCM com diversas plataformas

Se você pretende usar o FCM com mais de uma plataforma, SDK, ou ambos os casos, você deve implementar uma lógica que coleta o token do dispositivo e o transmite para todas as plataformas relevantes. Para expandir uma nova instância do FirebaseMessagingService (semelhante ao serviço que o SDK da AppsFlyer expande):
import com.appsflyer.AppsFlyerLib;
import com.google.firebase.messaging.FirebaseMessagingService;

public class MyNewFirebaseManager extends FirebaseMessagingService {

    @Override
    public void onNewToken(String s) {
        super.onNewToken(s);

        // Sending new token to AppsFlyer
       	       AppsFlyerLib.getInstance().updateServerUninstallToken(getApplicationContext(), s);

        // the rest of the code that makes use of the token goes in this method as well
    }
}
Esse serviço deve ser adicionado ao AndroidManifest.xml para entrar em funcionamento: se o aplicativo usou o FCM antes de integrar o SDK da AppsFlyer, é provável que o serviço seja expandido e o desenvolvedor precise adicionar o seguinte onNewToken() ao método:
AppsFlyerLib.getInstance().updateServerUninstallToken(getApplicationContext(), refreshedToken); 

Verifique se você adicionou o serviço relevante ao AndroidManifest.xml.

<service
    android:name=".MyNewFirebaseManager">
    <intent-filter>
        <action android:name="com.google.firebase.MESSAGING_EVENT" />
    </intent-filter>
</service>

Usando o Proguard com a mensuração de desinstalação

Se você usar o Proguard, adicione a seguinte regra:

-dontwarn com.appsflyer.**
-keep public class com.google.firebase.messaging.FirebaseMessagingService {
  public *;
}

Teste a mensuração de desinstalação do Android

  • O procedimento de teste descrito é válido para aplicativos disponíveis na Google Play Store, download pendente, download direto e app stores alternativas.
  • A métricade Desinstalações está disponível no dashboard de Visão geral.
  • A lista de usuários que desinstalam o aplicativo está disponível no relatório de dados brutos de desinstalação.

Para testar a métrica de desinstalação do Android:

  1. Instale o aplicativo.
  2. Desinstale o aplicativo. Observação! Você pode desinstalar o aplicativo após instalá-lo.
    O evento de desinstalação é registrado dentro de 24 horas, pois a mensuração de desinstalação é processada diariamente.
    Se o aplicativo for reinstalado durante esse tempo,
    nenhum evento de desinstalação será registrado.

O evento de desinstalação do aplicativo leva até 48 horas para aparecer nos relatórios de dados brutose no Relatório de performance agregada no seu dashboard da AppsFlyer.

aggregated_performance_report_uninstalls_en-us.png.

Outras informações

Resolvendo a notificação push de desinstalação do Android não silenciosa

Substituir o método onMessageReceived do FMC e implementar sua própria lógica nele pode fazer com que as notificações push de desinstalação não sejam silenciosas. Isso pode impactar a experiência do usuário. Para evitar que isso aconteça, verifique se a mensagem contém af-uinstall-tracking. Veja o exemplo a seguir:

@Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        
        if(remoteMessage.getData().containsKey("af-uinstall-tracking")){
            return;
        } else {
           // handleNotification(remoteMessage);
        }
    }
Este artigo foi útil?