Entenda melhor os teus utilizadores com Firebase Analytics

Dario Mungoi
GDG Maputo
Published in
4 min readSep 8, 2016

--

Como mencionei nos posts anteriores sobre Firebase Notifications, saber como enviar uma mensagem ou notificação para um dispositivo é um grande passo para criar interesse e manter um utilizador feliz.

Contudo, se não enviarmos as mensagens certas e no momento certo, podemos transformar as ferramentas que tanto nos iam ajudar em nossos maiores inimigos pois usadas de forma errada, podem nos fazer atingir um objectivo totalmente diferente do esperado resultando em utilizadores zangados que acabaram por apagar a nossa app.

Felizmente existe uma solução para este problema que consiste em utilizar ferramentas como o Google Analytics, MixPanel, Frabric entre outras que nos permitem recolher informações importantes sobre os nossos utilizadores como os seus interesses, dados demográficos, a retenção após um certo período de tempo do dia que instalaram a app e capturar ecrãs ou eventos que nos ajudem a perceber como o utilizador esta comportar-se na nossa aplicação.

O maior problema ao utilizar uma das ferramentas acima é a falta de mecanismos para interpretar todos os dados recolhidos e de forma simples e fácil disponibilizar esses dados para o processamento por outras ferramentas.

Para resolver este e outros problemas surge o Firebase Analytics como uma solução completa de analytics criada especialmente para aplicações móveis que diferencia-se das outras ferramentas nos seguintes pontos:

Criar Audiências

O Firebase Analytics permite criar audiências(Grupos de utilizadores com mesmas características ) que podem ser combinadas com o Firebase Notifications de forma muito simples para só enviar mensagens a um grupo específico de utilizadores

Ainda na criação das audiências, o Firebase Analytics cria audiências automaticamente sempre que um grupo de utilizadores esta a ter o mesmo erro registado pelo Crash Report(Falaremos mais a adiante)

Funnel Analysis

Criar um funnel significa simplesmente criar um caminho que queremos que o utilizador siga até completar um certo objectivo na nossa aplicação.

Tomando como exemplo uma aplicação de e-commerce poderíamos criar um funnel em que o utilizador tem de fazer o login, escolher um item, comprar e partilhar o item para que seja no fim atribuído um label com o certo significado no nosso negócio.

A medida que os utilizadores vão interagindo com a aplicação, poderemos observar como eles se comportam a cada passo e tomar decisões acertadas sobre como modificar uma parte do processo para melhorar as conversões.

As outras ferramentas sempre permitiram a criação de funnels, mas estes só começaram a fazer mais sentido no Firebase pelo facto de este ser totalmente baseado em eventos e não em visualização ecrãs/telas como no seu “pai” Google Analytics.

Grátis e Ilimitado

O Firebase analytics é grátis e ilimitado para o uso em qualquer aplicação móvel iOS ou Android.

Eventos capturados Automaticamente

Diferentemente das outras ferramentas, só pelo simples facto de ter a biblioteca principal do Firebase definida no projecto, magicamente o Firebase começa a fazer a leitura de informação básica sobre a aplicação como o tempo gasto pelo utilizador por cada sessão, actualização do Sistema Operativo do dispositivo entre outras.

De todos os posts da série e os serviços do Firebase que falamos anteriormente, o Firebase Analytics é o mais fácil de configurar e começar a utilizar.

Tendo o projecto configurado com Firebase como explicado neste post, o primeiro passo que temos de fazer é adicionar a biblioteca do Firebase Analytics na secção de dependências do ficheiro build.gradle da nossa aplicação como mostra o código abaixo:

compile 'com.google.firebase:firebase-core:9.0.2'

Após fazer a sincronização do projecto, já estamos prontos para capturar o nosso primeiro evento simplesmente criando um objecto da classe FirebaseAnalytics e pegar o a instância do FirebaseAnalytics no método onCreate de um Fragment ou Activity da seguinte forma:

//Assumindo o onCreate de uma Activty
mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);

Com a instância pronta, o último passo é capturar o evento utilizando o método logEvent() que recebe o nome de evento e um conjunto de parâmetros com detalhes sobre o evento.

Bundle args= new Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
mFirebaseAnalytics.logEvent("Primeiro evento", bundle);

O Firebase permite a criação de no máximo 500 eventos diferente e é preciso tomar sempre em atenção a diferenças entre as letras pois, só a troca de uma letra de maiúscula para minúscula irá fazer com que o evento seja registado como um totalmente diferente do que pretendíamos.

Apesar de ser muito fácil de configurar e capturar eventos simples, dependendo do tamanho da aplicação, capturar eventos pode se tornar num processo muito longo e cansativo pois requer pensar sobre os nomes dos eventos os respectivos parametros que nos ajudaram a fazer analises interessantes posteriormente.

E desta forma terminamos este post extremamente curto e simples na esperança de vos encontrar na próxima vez, onde tentarei mostrar algumas das capacidades dashboard do FirebaseAnalytics uma vez colectada uma boa quantidade de dados.

Ate a próxima :)

--

--

Dario Mungoi
GDG Maputo

Senior Android Developer at @Shopify, Design Sprint Master, former Android GDE