Criar APK grátis

Backend e contas

Analytics, login do Facebook e assinaturas - configuração

Firebase Analytics, Facebook Login e RevenueCat, passo a passo

1O que este cartão conecta#

A etapa Integrate tem um cartão chamado Sign-in, analytics & subscriptions. Ele conecta as SUAS PRÓPRIAS contas:

  • Firebase Analytics: quem usa o app e o que faz
  • Facebook Login: um botão Continuar com o Facebook, mais o Meta App Events
  • RevenueCat: assinaturas e compras

Cada chave é independente. Ative só o que você usa; um app com todas as chaves desligadas é compilado exatamente como antes.

2Firebase Analytics: crie ou escolha um projeto#

Abra o console do Firebase e toque em Create a project (ou escolha o projeto que seu app já usa para push). Mantenha o Google Analytics ATIVADO quando perguntado e escolha ou crie uma conta do Analytics.

Já tem um projeto sem o Analytics? Project settings → Integrations → Google Analytics → Enable.

3Firebase Analytics: adicione seu app Android#

No projeto, toque em Add app → Android.

  • Android package name: digite o nome do pacote EXATO da etapa Basic do assistente, por exemplo com.seunome.meuapp. Uma letra errada e nenhum dado chega.
  • O apelido é opcional, e o SHA-1 não é necessário para o analytics.

Toque em Register app e depois em Download google-services.json. Você pode pular as demais etapas do Firebase; o AppMint adiciona o SDK para você.

Mudou o nome do pacote depois? Adicione o novo pacote como outro app Android e baixe o arquivo de novo.

4Firebase Analytics: ative no assistente#

Etapa Integrate → Sign-in, analytics & subscriptions → ative o Firebase Analytics. O envio do google-services.json aparece então no cartão Push Notifications: envie o arquivo lá. É o mesmo arquivo que o push usa, então, se você já o enviou para o push, está tudo certo.

Registrar uma visualização de tela a cada mudança de página: quando ativado, o app registra um screen_view toda vez que sua página muda de rota (links, mudanças no histórico, voltar e avançar, mudanças em #), com o caminho e o título da página. Você vê quais telas as pessoas usam sem escrever nenhum código. Deixe desativado se sua página já envia suas próprias chamadas screenView, ou as telas serão contadas em dobro.

5Envie seus próprios eventos#

AppMint.analytics.log(name, params) registra um evento. Os nomes usam letras, dígitos e _ (até 40 caracteres, começando com uma letra). A resposta diz o que foi enviado ou por que não: no_consent, not_configured, invalid_name, reserved_name.

setUserId marca os eventos com o seu próprio ID de usuário (nunca um e-mail), setUserProperty define uma propriedade como plan e screenView registra uma tela por conta própria. Com o Meta App Events ativado, log envia o mesmo evento também ao Meta.

if (window.AppMint && AppMint.analytics) {
  AppMint.analytics.setUserId('u_42');
  AppMint.analytics.setUserProperty('plan', 'pro');
  const r = await AppMint.analytics.log('add_to_cart', { item_id: 'sku-42', value: 19.99, currency: 'USD' });
  if (!r.ok) console.warn('not logged', r.providers);
  AppMint.analytics.screenView('Checkout', 'CheckoutPage');
}

6Onde os dados aparecem#

Console do Firebase → Analytics. O Realtime mostra usuários e eventos poucos minutos depois de abrir o app. Os relatórios Dashboard e Events são preenchidos em cerca de 24 horas, então um relatório vazio no primeiro dia é normal.

Para ver cada evento ao vivo durante os testes, conecte o celular a um computador e execute o comando abaixo; depois abra o app e vá em Analytics → DebugView. Use o nome do seu próprio pacote.

adb shell setprop debug.firebase.analytics.app com.yourname.myapp
# turn it off again:
adb shell setprop debug.firebase.analytics.app .none.

Em um app que mostra anúncios, o formulário de consentimento do Google também decide sobre o analytics: nada é coletado até o usuário responder, e onde o GDPR se aplica o usuário precisa concordar. Até lá, as chamadas respondem no_consent e nada fica na fila.

Sua página sempre pode desativar a coleta: AppMint.analytics.setEnabled(false) interrompe e fica salvo, e setEnabled(true) reativa. Mencione o analytics na sua política de privacidade e no formulário Data safety do Play.

document.getElementById('optOut').onchange = (e) =>
  AppMint.analytics.setEnabled(!e.target.checked);

8Facebook Login: crie o app do Facebook#

Abra o Meta for Developers → My Apps → Create app. Escolha o caso de uso de entrar com o Facebook Login (ou adicione o produto Facebook Login a um app que você já tenha). Dê um nome e informe seu e-mail de contato.

9Facebook Login: adicione a URL de redirecionamento#

Facebook Login → Settings → Valid OAuth Redirect URIs: adicione
https://freewebtoapk.com/fb-return/
exatamente assim, incluindo a barra final. O assistente tem um botão Copy redirect URL para você não precisar digitar. Mantenha Client OAuth login e Web OAuth login ativados e depois clique em Save changes.

Não é preciso key hash nem configuração de plataforma Android: o login abre em uma aba do navegador e volta para o seu app.

10Facebook Login: App ID e Client Token#

Em App settings → Basic você vê o App ID. Em App settings → Advanced → Security você vê o Client token. Cole os dois nos campos de Facebook Login do assistente.

Enquanto o app do Facebook está em modo de desenvolvimento, só quem tem uma função nele (você e seus testadores) consegue entrar. Antes de publicar, adicione uma URL de política de privacidade e um ícone em App settings → Basic e mude o app para Live.

11Facebook Login: faça as pessoas entrarem#

AppMint.facebook.login(permissions) abre o Facebook e responde com o token, ou com ok: false e cancelled quando o usuário desiste. Envie o token ao seu servidor e verifique-o lá. getAccessToken() retorna o token salvo quando a página inicia; logout() faz o logout.

Ative o Meta App Events para enviar instalações, aberturas do app e seus próprios eventos ao Meta Events Manager. AppMint.facebook.logEvent(name, valueToSum, params) envia apenas ao Meta; segue a mesma regra de consentimento do analytics.

const r = await AppMint.facebook.login(['public_profile', 'email']);
if (r.ok) {
  await fetch('/api/login/facebook', { method: 'POST', body: JSON.stringify({ token: r.accessToken }) });
} else if (!r.cancelled) {
  alert('Facebook sign-in failed: ' + (r.message || r.error));
}
AppMint.facebook.logEvent('fb_mobile_purchase', 9.99, { fb_currency: 'USD' });

12RevenueCat: crie o projeto e conecte o Google Play#

No RevenueCat, crie um projeto e adicione um app para a Google Play Store. Digite o nome do pacote EXATO da etapa Basic.

O RevenueCat verifica as compras com o Google por meio de uma conta de serviço: siga o guia do próprio RevenueCat para criá-la no Google Cloud, convide-a no Play Console com as permissões financeiras que ele lista e envie as credenciais JSON dela ao app do RevenueCat. O Google pode levar um dia ou mais até que as novas credenciais funcionem.

13RevenueCat: produtos, direito de acesso e oferta#

  1. No Play Console, crie suas assinaturas ou produtos no app (o app precisa ter sido enviado antes para uma faixa de teste).
  2. No RevenueCat → Product catalog, adicione os mesmos IDs de produto.
  3. Crie uma Entitlement, por exemplo pro, e anexe os produtos que a liberam.
  4. Crie uma Offering (a padrão aparece como atual) com pacotes como Mensal e Anual que apontem para esses produtos.

Sua página lê a oferta atual para montar o paywall e verifica o direito de acesso para liberar recursos.

14RevenueCat: a chave pública do Google#

RevenueCat → Project settings → API keys: copie a chave PÚBLICA do seu app do Google Play. Ela começa com goog_. Cole no campo RevenueCat do assistente.

Nunca use uma chave secreta (sk_...). Qualquer coisa dentro de um app pode ser lida por quem o baixar, e uma chave secreta dá controle total da sua conta do RevenueCat.

15RevenueCat: ofertas, compras e direitos de acesso#

configure() inicia o RevenueCat (passe seu próprio ID de usuário ou nada, para um usuário anônimo). getOfferings() retorna o paywall, purchase(package) executa a compra no Google Play e getCustomerInfo() diz o que o usuário possui. restore() recupera compras anteriores. Teste com uma conta de testador de licença e uma instalação a partir de uma faixa de teste do Play.

if (window.AppMint && AppMint.revenuecat) {
  await AppMint.revenuecat.configure({ appUserId: 'u_42' });
  const off = await AppMint.revenuecat.getOfferings();
  if (off.ok && off.current) {
    const pkg = off.current.availablePackages[0];
    const r = await AppMint.revenuecat.purchase(pkg);
    if (r.ok) unlock();
  }
  const info = await AppMint.revenuecat.getCustomerInfo();
  const isPro = info.ok && !!info.customerInfo.entitlements.active.pro;
}

Esta página é gerada a partir do Guia de Integração dentro do próprio app, então diz exatamente o que a versão atual diz. Leia em Markdown.

Conferido com o guia atual em 22/10/2026.