Métrica de desinstalações
Visão Geral
Configure a medição de desinstalação em aplicativos Android usando o SDK da AppsFlyer e o Firebase Cloud Messaging.
Integrando a métrica de desinstalação para Android
Este documento fala sobre a integração da métrica de desinstalação para os seguintes cenários:
- Aplicativos que já usam o FCM
- Aplicativos que não usam o FCM.
A versão mais recente do FCM do cliente pode ser encontrada aqui.
Apps using FCM
Para adicionar uma métrica de desinstalação a uma integração existente do FCM:
in the onNewToken()
, invoque updateServerUninstallToken
:
@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
}
Apps not using FCM
Para integrar a métrica de desinstalação:
- Baixar
google-services.json
from Firebase console. - Adicione o
google-services.json
ao diretório do módulo do app - Adicione as seguintes dependências ao seu arquivo de nível raiz
build.gradle
file:buildscript { // ... dependencies { // ... classpath 'com.google.gms:google-services:4.2.0' // google-services plugin } }
- No nível do aplicativo
build.gradle
, adicione as seguintes dependências:Observação: se você receber um erro "Não foi possível encontrar implementação do método()...", verifique se você tem o Repositório do Google mais recente no Android SDK Manager.dependencies { // ... implementation 'com.google.firebase:firebase-messaging:23.0.3' implementation 'com.google.firebase:firebase-core:20.1.2' // ... }
- Se você usa o FCM apenas para medir desinstalações na AppsFlyer, use o serviço
appsFlyer.FirebaseMessagingServiceListener
, incorporado no SDK. Isso estende a classeFirebaseMessagingService
, usada para receber o token do dispositivo FCM e chamarupdateServerUninstallToken
. Para adicionar o serviçoappsFlyer.FirebaseMessagingServiceListener
ao aplicativo:Caso contrário, substitua o método<application <!-- ... --> <service android:name="com.appsflyer.FirebaseMessagingServiceListener"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT"/> </intent-filter> </service> <!-- ... --> </application>
FirebaseMessagingService.onNewToken()
e chameupdateServerUninstallToken
:@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 }
Observação
Se você usa Proguard, adicione a seguinte regra:
-dontwarn com.appsflyer.** -keep public class com.google.firebase.messaging.FirebaseMessagingService { public *; }
Testando a métrica de desinstalação para 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étrica de Desinstalações está disponível no dashboard de Visão geral.
- A lista de usuários que desinstalam o aplicativo está disponível nas desinstalações [relatórios de dados brutos]. (https://support.appsflyer.com/hc/en-us/articles/209680773-Raw-data-reporting-overview#user-journey-report-availability).
Para testar a métrica de desinstalação do Android:
- Instale o aplicativo.
- Desinstale o aplicativo. Você pode desinstalar o aplicativo imediatamente após instalá-lo.
- Aguarde até que a desinstalação apareça no painel. Isso pode levar até 48 horas.
considerações
- O evento de desinstalação é registrado em 24 horas à medida que a métrica de desinstalação é processada diariamente.
- Se o aplicativo for reinstalado durante esse período, nenhum evento de desinstalação será registrado.
Substituindo FCM's onMessageReceived
onMessageReceived
Substituindo FCM's onMessageReceived
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")){ // "uinstall" is not a typo
return;
} else {
// handleNotification(remoteMessage);
}
}
Atualizado 8 meses atrás