Desenvolvimento e coleta de dados em mobile — Firebase: 1 de 4

DP6 Team
Blog DP6
Published in
12 min readDec 14, 2016

--

Atenção, este post foi produzido há algum tempo e pode estar desatualizado.

Finalmente podemos parar de usar a frase “Mobile veio para ficar” e aceitar o fato de que aplicativos mobile são a nova realidade de como interagimos com a tecnologia. Prova deste fato é que 2015 foi o ano em que a plataforma mobile se tornou o principal meio de pesquisa no Google, e 2016 o ano em que mobile se consolidou como carro chefe durante a black friday, maior evento de vendas para varejos no mundo todo.

Com isso em mente, estamos vendo uma onda de iniciativas que visam facilitar o desenvolvimento e otimização de aplicativos, e uma delas é o Firebase, ferramenta adquirida e integrada à família de soluções cloud do Google.

O Firebase é uma coleção de ferramentas focadas no desenvolvimento, coleta de dados e otimização de funcionalidades para aplicativos iOS e Android desenvolvidos nativamente. Um robusto SDK carrega todas essas ferramentas em uma biblioteca única e facilita a implantação destas soluções, quebradas em 3 categorias que estão interligadas: Análise, Desenvolvimento, Crescimento.

Este artigo será parte de uma série dividida em quatro partes, onde cobrirei as 3 frentes de atuação da ferramenta. Este primeiro artigo é focado na visão geral das capacidades de Análise, porém, segue um resumo de todas as frentes que vamos abordar entre todos os artigos:

1.Análise — Visão Geral

Ferramenta de coleta e análise de dados direcionada para a identificação de usuários em grupos de audiências e exibição de métricas importantes para a performance de aplicativos, como retenção e ARPU (receita média por usuário).

2.Análise — Técnico

A implementação de um único SDK oferece acesso à uma diversidade de ferramentas, além da nativa integração com o Tag Manager do Google e o Google BigQuery.

3.Desenvolvimento

As ferramentas de desenvolvimento incluem um poderoso banco de dados em tempo real, armazenamento de arquivos, hosting e acompanhamento de erros. Além disso, se destaca aqui uma ferramenta para executar testes de usabilidade sem necessidade de publicações.

4.Crescimento

Os recursos dessa categoria são intimamente ligados à coleta de dados da sessão de análise para a sua ativação em formato de comunicação e otimização de conteúdo de forma personalizada para cada usuário. As ferramentas aqui cobrem notificações personalizadas, customização de conteúdo e links dinâmicos (links externos que direcionam usuários diretamente para conteúdos internos do aplicativo).

Firebase Analytics — Visão Geral

Muito de como aplicativos são analisados para se entender com profundidade o motivo do sucesso ou fracasso de cada app se baseou em métricas fundamentadas em websites, porém conceitos como visitantes ou mesmo sessões são bem diferentes para apps.

É importante levar em consideração que cada aplicativo é avaliado pelo usuário em vários aspectos, desde o tamanho permanente que será dedicado na memória do aparelho até o estilo do ícone (e se ele se encaixa ou mesmo merece um espaço na primeira tela).

O analytics do Firebase mostra que sabe disso e traz uma perspectiva que foca em relatórios direcionados especificamente para o cenário dos apps.

[caption id=”” align=”aligncenter” width=”731"]

Dashboard inicial do firebase Analytics: Usuários ativos, ARPU e retenção ganham foco.[/caption]

As métricas e dimensões coletadas e expostas no firebase analytics podem ser categorizadas em Visão Geral, Eventos e Propriedades, que podem ser analisadas em Audiências, Funis, Atribuição e Retenção, tudo exibido em painéis.

Vale apontar que muitas métricas são coletadas automaticamente, após a instalação do SDK no código do aplicativo (o que será coberto aqui), porém, para que alguns destes indicadores sejam expostos, também é necessária a criação de códigos para indicar ao firebase interações customizadas do aplicativo, como o momento de venda de um produto ou a interação com um item de menu.

Visão Geral (Painel Inicial)

O painel inicial traz as métricas básicas que formam a base estrutural para cálculos importantes de engajamento, retenção e rentabilidade, informações que ajudam no aprofundamento da compreensão real da performance de cada aplicativo. Aqui também pode ser encontrado o resumo da performance do aplicativo, como exposto pelos relatórios abaixo.

O painel pode ser filtrado por um período específico e comparado com um período semelhante passado. Todos os relatórios deste painel também podem ser filtrados por uma audiência ou propriedade selecionada.

Usuários Ativos

Baseado no número de sessões por usuário, são expostos os usuários que continuamente utilizam o aplicativo com base em períodos de um dia (quantas sessões únicas foram feitas naquele dia), 7 dias (sessões únicas naquela semana) e 30 dias (sessões únicas mensais). Mais do que visitantes, este relatório exibe claramente o crescimento da base instalada para o aplicativo.

Rentabilidade Média

Com foco no faturamento gerado pelo aplicativo, aqui são expostos dois cálculos cruciais para o real entendimento da performance financeira. ARPU(Rentabilidade média por usuário) e ARPPU (rentabilidade média por usuários que fizeram compras).

Estes indicadores são calculados com base no tempo desde a primeira abertura do app e a rentabilidade total, gerada via valores enviados pelo app ou via in-app purchases. No caso do ARPU, o valor é baseado no total de usuários ativos e o ARPPU no total de usuários que realizaram algum tipo de compra.

Atribuição

Aqui são exibidas as fontes de tráfego que levaram usuários não apenas ao download, mas também a abrir o aplicativo ao menos uma vez. Para campanhas que utilizarem os links gerados via conexão do Firebase com AdNetworks como Adwords e AppLovin, a ferramenta é capaz de entender a relação da campanha diretamente ao uso do App.

Retenção

O relatório de retenção traz a quantidade de usuários que tiveram sessões consecutivas no app durante as últimas 6 semanas. A primeira coluna representa o momento da primeira sessão e as seguintes mostram qual a porcentagem de pessoas que continuou usando o aplicativo durante as semanas consecutivas.

Engajamento

Resumo do engajamento baseado na quantidade de tempo de sessões médias, considerando todos os usuários e a média por usuário. É importante entender o que realmente simboliza o sucesso do seu app pois nem sempre um alto número de sessões ou de tempo de permanência representa algo positivo. Considere um aplicativo focado no “check-in” em restaurantes: um alto número de sessões com baixo tempo provavelmente represente uma interface intuitiva e um engajamento positivo dos usuários.

In-App Purchases

Caso o seu aplicativo possua In-App-Purchases (compras feitas via Google Play ou App Store), aqui são resumidos o número de usuários que realizou uma compra deste tipo, o número total de transações e a receita gerada. Além disso, os 3 principais produtos são listados com base no número de transações feitas para cada um.

Versão

A distribuição de usuários ativos para cada versão do aplicativo. Esta visão apoia a compreensão da adoção evolutiva dos usuários para cada versão publicada, o que pode ser um grande insumo para o planejamento de novos lançamentos e a expectativa de resultados com base em novidades.

Aparelho

Quebrado por modelos e versão do sistema operacional, este relatório dá luz para o perfil de usuários do aplicativo em termos de tecnologia, oferecendo ótima visibilidade das limitações e dificuldades que poderão ser encontradas caso seja implementada uma nova funcionalidade restrita à última versão do sistema.

Localização

Os usuários ativos são expostos pelos principais países onde estão presentes.

Dados Demográficos

Usuários ativos são listados por gênero e faixa etária.

Interesses

Com base nos aplicativos que possuem Firebase, os usuários ativos são exibidos dentro de categorias, divididas em grupos de interesse, como arte ou notícias.

Eventos

Marcam todas as interações que os usuários podem realizar com o aplicativo. Desde a visualização de uma tela até a finalização de uma compra, eles ajudam a evidenciar os momentos importantes da jornada de interação com o aplicativo e os indicadores relevantes para apontar sessões de sucesso.

Eventos também podem ser marcados como conversões, apontando momentos em que o objetivo do aplicativo foi alcançado pelo usuário. Conversões são utilizadas principalmente para criar audiências e assim filtrar o painel principal para a visualização apenas de usuários de sucesso. Isto pode ser utilizado para identificar as características do público que melhor se adaptam ao aplicativo e assim apoiar no direcionamento para o financiamento de campanhas de aquisição.

A flexibilidade oferecida pela inserção de eventos diretamente no código do app cria oportunidades para qualquer tipo de aplicativo, tenha ele como objetivo a venda de produtos ou a leitura de ao menos 5 artigos em uma sessão, por exemplo. O limite realmente está atrelado à criatividade de cada time.

[caption id=”” align=”aligncenter” width=”800"]

Lista de eventos: todos podem ser marcados como conversões[/caption]

Alguns eventos são automaticamente coletados apenas com a instalação e inicialização do SDK no aplicativo. São eles:

First_open: Marca o momento de instalação ou re-instalação do aplicativo

In_app_purchase: Compra de um item via Google Play ou App Store. O ID, nome do produto, quantidade e receita são enviados como parâmetros

User_engagement: Marca do tempo de sessão, enquanto o aplicativo estiver em uso (não em plano de fundo)

Session_start: Enviado toda vez que o aplicativo é aberto e fica ativo por mais de 10 segundos

App_update: Momento de atualização do aplicativo

App_remove: Remoção do aplicativo (apenas para aparelhos Android)

Os_update: Quando o usuário atualiza o sistema operacional entre sessões

App_clear_data: Remoção pelo usuário de todas as informações salvas no aparelho referentes ao aplicativo

App_exception: O aplicativo “travou”, foi forçado a fechar ou captura um erro crítico

Notification_foreground: Momento em que o aparelho recebe uma notificação enviada via firebase (utilizando a ferramenta de notificação), enquanto o app está em uso

Notification_recieve: Notificação é recebida pelo aparelho enquanto o app está em plano de fundo (apenas Android)

Notification_open: Interação do usuário com a notificação recebida (enviada pelo firebase)

Notification_dismiss: Quando o usuário remove a notificação recebida (apenas Android)

Dynamic_link_first_open: Primeiro acesso via link dinâmico (criado via firebase)

Dynamic_link_app_open: Acesso ao app via link dinâmico (criado via firebase)

Dynamic_link_app_update: Quando o aplicativo é atualizado via link dinâmico (apenas Android)

Para quaisquer outras interações ou momentos relevantes serem coletados, é necessário realizar a implementação customizada de eventos diretamente no código fonte do aplicativo. Cada evento marca a quantidade vezes em que este aconteceu, então o nome do evento é extremamente importante para que seja bem utilizado nos relatórios. Além disso, cada evento pode possuir propriedades específicas para trazer consigo valores relevantes àquele momento.

Um exemplo de evento é a marcação do momento em que um usuário realizou uma busca no aplicativo. Para este caso, seria enviado o evento “busca” com um parâmetro “termo”, que em si teria o valor “Mochila” atrelado. Este caso marcaria uma busca realizada pelo termo mochila.

É possível coletar até 500 tipos diferentes de eventos customizados, porém, o firebase possui uma lista de eventos recomendados para interações comuns entre diferentes tipos de apps, estes eventos possuem a vantagem de mostrar algumas de suas propriedades diretamente no relatório de eventos.

[caption id=”” align=”aligncenter” width=”696"]

Relatório de evento: O resumo do momento[/caption]

O painel de eventos traz um resumo de quantidade de vezes em que o evento aconteceu, o número de usuários que tiveram contato com o evento e valores relacionados. Além disso, o painel oferece um resumo demográfico por país, gênero e faixa etária dos usuários que realizaram ou passaram por aquele evento em suas sessões.

Eventos também podem ser utilizados para a criação de audiências , ao filtrar o painel principal, e também para a criação de funis.

Funis

Configurados pela indicação de uma sequência de eventos, os funis são capazes de exibir a porcentagem de usuários que realizaram a sequência por completo e a porcentagem de usuários que passaram para cada passo do funil. São cruciais para o entendimento de potenciais pontos onde interface ou navegação podem ser melhoradas para potencializar as conversões. Um exemplo comum é a criação de funil para marcar os passos de cadastro no aplicativo ou o processo de “checkout” para a compra de um produto.

Alerta: Apenas o evento pode ser utilizado para criar funis. As propriedades de cada evento não podem ser utilizadas para a configuração.

Funis podem ser também filtrados por audiências, para que grupos específicos de usuários sejam analisados. Essa técnica que pode ser utilizada para a personalização de conteúdo para cada grupo de pessoas.

Propriedades

Além de eventos, é possível coletar características específicas de seus usuários para serem utilizadas com filtros em qualquer painel do firebase, seja este o painel principal, o de eventos ou o de audiências. Vale considerar possíveis cruzamentos entre eventos e propriedades para potencializar o seu uso.

Propriedades também são coletadas por meio da implementação de códigos customizados diretamente no aplicativo, porém, algumas são automaticamente coletadas.

Age: Faixa etária do usuário (18–24, 25–34, 35–44, 45–54, 55–64, e 65+)

App Store: Em qual loja de aplicativos foi feito o download (útil para aplicativos Android)

App Version: Versão do Aplicativo

Country: País de onde o aplicativo está sendo utilizado

Device Brand: Marca do aparelho

Device Category: Categoria do aparelho (ex: mobile (smartphones) e tablet)

Device Model: Modelo do aparelho (ex: iPhone 5s ou SM-J500M)

First Open Time: O momento (em microsegundos, UTC) em que o usuário abriu o app pela primeira vez, arredondado para a próxima hora fechada.

Gender: Gênero do(a) usuário(a)

Interests: Lista de interesses do usuário

Language: Língua configurada para o sistema operacional

New: Abriu o app pela primeira vez nos últimos 7 dias

Established: Abriu o app pela primeira vez a mais de 7 dias

OS Version: Versão do sistema operacional do aparelho (ex: 9.3.2 ou 5.1.1)

Outras propriedades devem ser coletadas de forma customizada e podem ser coletadas até 25 propriedades diferentes. Estas podem ser enviadas a qualquer momento da navegação e enviarem qualquer tipo de informação. No entanto, cada propriedade é restrita a apenas uma informação enviada.

Um exemplo é entender qual tipo de login está sendo utilizado no app. Neste caso, é enviado o valor “facebook” ou “google” para a propriedade “tipo de login”, toda vez que o usuário logar usando um destes métodos. Neste caso, quando no painel principal, seria possível filtrar todos os relatórios por usuários que tiveram o valor da propriedade “tipo de login” preenchido com “facebook”.

Audiências

O poder de análise de eventos e propriedades, porém, está na criação de audiências baseadas na ocorrência de um ou mais eventos ou propriedades usando-se de métodos de adição (E) ou exclusividade (OU). As audiências são criadas diretamente do menu “Audiences” na interface do console do firebasee podem ser utilizadas para filtrar o Painel Principal ou qualquer Funil criado. Este é um poderoso recurso para a identificação de potenciais focos de melhoria em fluxos do app para o público mais engajado ou mesmo criar estratégias de notificação para usuários com baixo aproveitamento dos recursos do aplicativo.

Resumo

Com um foco centrado em métricas e dimensões relevantes para Apps, o firebase analytics oferece uma coleta de dados direcionada ao sucesso e altamente flexível em termos de análise.

A possibilidade de criação e segmentação de usuários, por meio de audiências e propriedades para filtrar relatórios, e assim identificar objetivamente os pontos de melhoria de cada aplicativo, oferece grande flexibilidade para que não apenas seja possível acompanhar a performance de um aplicativo conforme seu objetivo, Além da classificação de eventos como conversões e a organização destes como passo de funis, pode criar estratégias sólidas para sua evolução.

este momento “mobile” atual, o Firebase chegou com uma visão renovada para softwares de mensuração e análise digital e seu fundamento está visivelmente ligado ao desenvolvimento de aplicativos.

Conta Demo

Antes de seguirmos, nada melhor que um teste real. O Firebase possui um conta demo para que seja possível ver a ferramenta com dados reais e navegar pelos relatórios livremente. Para acessar essa conta, basta acessar aqui e entrar com sua conta google. Fique à vontade para filtrar o Painel Principal e Funis, além de explorar os eventos e propriedades configuradas.

Próximo Artigo

Na próxima parte deste artigo abordarei os detalhes técnicos e dicas para a implementação da ferramenta em aplicativos iOS e Android, fique ligado.

Perfil do autor: Augusto Roselli | Gerente de projetos na DP6, meu papel é organizar e ajudar nossas equipes. Fornecer o melhor resultado possível em nossos projetos de análise digital. Trabalhando com a criação da solução inicial para nossos clientes, criando um sólido reforço para análise futura e melhoria constante.

--

--