1. Introdução
Última atualização: 25/01/2021
O que você vai criar
Neste codelab, você vai aprender a implementar eventos personalizados com o GA4F e a lançar campanhas de ação com o Google Ads para apps do Flutter.
Vamos usar o app do Flutter padrão com um widget de contagem simples. Vamos anunciar o app para usuários em potencial, que provavelmente vão clicar no widget de contador.

O que você aprenderá
- Como inicializar o GA4F (Google Analytics para Firebase) no Flutter.
- Como criar eventos e parâmetros personalizados
- Como importar eventos do Firebase para o Google Ads.
- Como lançar campanhas de ação com eventos personalizados
O que é necessário
- Android Studio 3.6 ou versão mais recente.
- Xcode (para compatibilidade com iOS).
- Conta do Firebase.
- Conta do Google Ads
2. Iniciar um novo projeto do Flutter
Crie um app do Flutter simples usando um modelo. Esse app inicial será modificado neste codelab.
Inicie o Android Studio.
- Se não houver projetos abertos, selecione Start a new Flutter app na página inicial. Caso contrário, selecione File > New > New Flutter Project.
- Selecione Flutter Application como o tipo de projeto e clique em Next.
- Verifique se o caminho do SDK do Flutter está especificando o local do SDK. Selecione Install SDK se o campo de texto estiver em branco.
- Insira o nome do projeto e clique em Próxima.
- Use o nome de pacote padrão sugerido pelo Android Studio e clique em Next.
- Clique em Finish.
- Aguarde o Android Studio instalar o SDK e criar o projeto.
3. Criar e configurar um projeto do Firebase
Para começar a usar o Firebase, será necessário criar e configurar um projeto do Firebase.
Criar um projeto do Firebase
- Faça login no Firebase.
No console do Firebase, clique em "Adicionar projeto" (ou "Criar um projeto") e nomeie seu projeto do Firebase como Firebase-Flutter-Ads ou o nome que preferir.

- Clique nas opções de criação do projeto. Se solicitado, aceite os termos do Firebase. Você precisa ativar o Google Analytics para esse projeto, porque são necessários eventos dele para rastrear os eventos de ação e analisar as conversões.

Para saber mais sobre os projetos do Firebase, consulte Entender os projetos do Firebase.
4. Configuração do Firebase específica para a plataforma (Android)
Configurar para Android
- No console do Firebase, selecione Visão geral do projeto no painel de navegação à esquerda e clique no botão Android em "Comece adicionando o Firebase ao seu app".
Você vai ver a caixa de diálogo mostrada na tela a seguir.

- O valor importante a ser fornecido é o nome do pacote Android, que você buscará usando a próxima etapa.
- No diretório do app do Flutter, abra o arquivo
android/app/src/main/AndroidManifest.xml. - No elemento
manifest, encontre o valor da string do atributopackage. Esse valor é o nome do pacote do Android, algo comocom.yourcompany.yourproject. Copie esse valor. - Na caixa de diálogo do Firebase, cole o nome do pacote no campo
Android package name. - Não é necessário ter a chave SHA-1 aqui, a menos que você pretenda usar o Login do Google ou os Firebase Dynamic Links, que não fazem parte deste codelab. Se você planeja importar dados do
in_app_purchaseno Google Play, precisará definir a chave posteriormente. - Clique em Registrar app.
- Ainda no Firebase, siga as instruções para fazer o download do arquivo de configuração
google-services.json.

- Acesse o diretório do app do Flutter e mova o arquivo
google-services.jsonque você acabou de salvar para o diretórioandroid/app. - No Console do Firebase, pule as etapas restantes e volte à página principal.
- Por fim, você precisa do plug-in do Google Services para Gradle para ler o arquivo
google-services.jsongerado pelo Firebase. - No ambiente de desenvolvimento integrado ou no editor, abra o
android/app/build.gradlee adicione a seguinte linha como a última do arquivo:
apply plugin: 'com.google.gms.google-services'
- Abra o
android/build.gradlee adicione uma nova dependência dentro da tagbuildscript:
buildscript {
repositories {
// ...
}
dependencies {
// ...
Classpath 'com.google.gms:google-services:4.3.3'
}
}
- Caso o app ainda esteja em execução, feche e recrie-o para que o Gradle instale as dependências.
Você terminou de configurar seu app do Flutter para Android. Para iOS, consulte o codelab Conheça o Firebase para Flutter.
5. Configurar o Firebase Analytics no Flutter
Nesta etapa, você vai começar a usar o pacote do Firebase Analytics chamado firebase_analytics, que contém recursos do Firebase Analytics.
O arquivo pubspec gerencia os recursos para um app do Flutter. No pubspec.yaml, anexe firebase_analytics: ^6.2.0 (firebase_analytics 6.2.0 ou mais recente) à lista de dependências:
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
firebase_analytics: ^6.2.0 # add this line
Com o pubspec na visualização de edição do Android Studio, clique em Packages get. O pacote será extraído para seu projeto. Você verá o seguinte no console:
flutter packages get
Running "flutter packages get" in startup_namer...
Process finished with exit code 0
Executar Pub get também gera automaticamente o arquivo pubspec.lock, com uma lista de todos os pacotes extraídos para o projeto e os respectivos números de versão.
No lib/main.dart, importe o novo pacote:
import 'package:firebase_analytics/firebase_analytics.dart';
Na classe MyApp, inicie o objeto FirebaseAnalytics chamando o construtor.
class MyApp extends StatelessWidget {
static FirebaseAnalytics analytics = FirebaseAnalytics();
...
}
Agora você já pode disparar alguns logs de eventos personalizados.
6. Registrar eventos personalizados com o Firebase Analytics
Se um novo modelo fosse gerado no app do Flutter, uma variável _counter e o método _incrementCounter() seriam exibidos dentro da classe State padrão. Agora, você quer registrar eventos personalizados quando o botão incremental receber mais de cinco cliques de usuários muito interessados. Mais tarde, vamos lançar uma campanha para apps para atrair possíveis usuários interessados
Primeiro, vamos transmitir os objetos de análise que iniciamos no widget Stateful. Começamos adicionando um parâmetro analytics ao construtor MyHomePage.
MyHomePage({Key key, this.title, this.analytics}) : super(key: key);
Um parâmetro analytics também será adicionado ao chamar o construtor.
home: MyHomePage(
title: 'Flutter Demo Home Page',
analytics: analytics,
),
Agora, você pode registrar eventos facilmente com o método logEvent(). Adicione o método e incremente a variável _counter.
void _incrementCounter() {
setState(() {
_counter++;
//add this
if(_counter > 5) {
widget.analytics.logEvent(name: "clicked_counter");
}
});
}
Agora seu app está pronto para disparar o log de eventos personalizados.
Também é possível usar métodos pré-compilados para disparar eventos.

Agora está tudo pronto. No Android Studio, execute "main.dart".
Opcional: como enviar informações complementares ao Firebase Analytics usando parâmetros
Você pode enviar informações complementares com parâmetros. Parâmetros personalizados podem ser registrados nos relatórios do Analytics. Também podem ser usados como filtros nas definições de público-alvo que podem ser aplicadas a cada relatório. Se o app estiver vinculado a um projeto do BigQuery, os parâmetros personalizados também serão encontrados no BigQuery. Consulte BigQuery Export para o Firebase.
Aqui, o valor _counter é definido como um parâmetro.
void _incrementCounter() {
setState(() {
_counter++;
if(_counter > 5) {
widget.analytics.logEvent(name: "clicked_counter", parameters: {'count' : _counter});
}
});
}
Como verificar e depurar eventos
É possível visualizar os eventos registrados no Console do Firebase em vários momentos. Basta clicar na guia Eventos da seção Analytics no Console do Firebase. Também é possível conferir os valores no evento clicked_counter clicando nele.

Para marcar o clicked_counter como uma conversão, mude a chave Marcar como conversão para a direita.

Se ele estiver na guia "Conversões", isso significa que ele foi marcado como uma conversão. O Google Ads agora pode importar esse evento do Firebase.
Para fins de depuração, use o DebugView do Firebase. Para ver mais informações, consulte Depurar eventos.
7. Como importar eventos do Analytics no Google Ads
Quando a configuração do Firebase-Flutter for concluída, você estará pronto para lançar campanhas para apps com eventos de ação. Comece vinculando o Firebase ao Google Ads. Ao vincular o Firebase ao Google Ads,as campanhas para apps podem importar eventos do Firebase. Esse processo também ajuda o Google Ads a otimizar as campanhas para apps, permitindo que ele saiba mais sobre os públicos-alvo.
- Acesse Configurações do Firebase clicando no botão ao lado de Visão geral do projeto.
- Na guia Integrações, você vai encontrar o Google Ads e um botão Vincular. Clique em Vincular e em Continuar.

- Selecione a conta do Google Ads.
A parte relacionada ao Firebase já foi concluída.
Acesse o Google Ads.
- Faça login e acesse Ferramentas e configurações > Medição > Conversões para importar eventos personalizados como conversões.
- Clique no botão + para adicionar novas ações de conversão.

- Escolha Propriedades do Google Analytics 4 (Firebase) e clique em Continuar.

- Você verá todos os eventos do Analytics que foram marcados como conversões. Encontre o evento
clicked_counterque implementamos antes.

- Verifique a ação, clique em Importar e em Continuar.

Depois de definir o clicked_counter como uma ação de conversão, você pode iniciar campanhas de ação voltadas para usuários que provavelmente vão disparar eventos do clicked_counter mais de cinco vezes.
8. Como lançar campanhas de ação para apps com eventos importados
- Vá para a guia "Campanhas" da conta atual e inicie uma nova campanha clicando no botão +. Clique em [Nova campanha] e em Continuar.
- Lance uma campanha de promoção de app com a opção Instalações de apps.

- Encontre seu app digitando o nome dele, do pacote ou do editor.
- Na seção Lances, selecione Ações no app no menu suspenso.
- Encontre seu evento personalizado na lista exibida. Defina o custo por ação desejado e preencha as outras opções.

- Conclua as especificações da campanha.
9. Parabéns
Parabéns! Você integrou o Firebase e o Google Ads. Assim, você poderá melhorar o desempenho da sua campanha com eventos importados do Firebase.
Você aprendeu
- Como configurar o Firebase Analytics para o Flutter.
- Como registrar eventos personalizados com o Firebase Analytics no app do Flutter.
- Como importar eventos e usá-los em campanhas de ação.
