Introdução aos eventos do app (Android)

Este guia mostra como adicionar eventos do app ao app novo ou existente integrando o SDK do Facebook e registrando esses eventos.

Antes de começar

Você precisará do seguinte:

Adicionar eventos do app

Depois que você integrar o SDK do Facebook, alguns eventos do app serão automaticamente registrados e coletados para o Gerenciador de Eventos, a menos que você desabilite o registro automático. É possível alterar essa configuração no código do app ou usando um botão na seção Eventos do app no Painel de Apps ou no Gerenciador de Eventos. Se houver um conflito entre os valores da sinalização AutoLogAppEventsEnabled e do botão, prevalecerá o valor do botão "Registro automático de eventos para o SDK do Facebook". Para saber mais sobre as informações que são coletadas e sobre como desabilitar o registro automático de eventos, consulte Registro automático de eventos do app.

Há três maneiras de rastrear eventos no app:

Eventos registrados automaticamente

Ao usar o SDK do Facebook, alguns eventos no app são registrados e coletados automaticamente para o Facebook, a menos que o registro de eventos automático seja desabilitado. Esses eventos são relevantes para todos os casos de uso: direcionamento, mensuração e otimização. Três eventos principais são coletados como parte do registro automático de eventos do app: instalação e inicialização do app e compra. Quando o registro automático está habilitado, os anunciantes podem desabilitar esses eventos, bem como outros eventos internos do Facebook, como eventos de impressão de login. No entanto, se você desabilitar o registro automático, mas ainda quiser registrar eventos específicos (como de instalação ou compra), implemente manualmente o registro desses eventos no app.

EventoDetalhes

Instalação do app

A primeira vez que o app é ativado por um novo usuário ou é iniciado em um dispositivo específico.

Inicialização do app

Quando uma pessoa inicia o app, o SDK do Facebook é inicializado, e o evento é registrado. Entretanto, uma segunda inicialização do app não será registrada se ocorrer em menos de 60 segundos da primeira.

A inicialização do SDK do Facebook para versão 4.18 e anteriores do Android é um processo manual, diferente do evento de registro descrito neste documento. Atualize para a versão mais recente do SDK ou role a tela até a seção da antiga inicialização do SDK para adicionar eventos de forma manual.

Compra no app

Quando uma compra processada pelo Google Play é concluída. Adicione o código do evento de compra manualmente caso use outras plataformas de pagamento.

O registro de compras no app é habilitado automaticamente para apps que instalaram a v4.39 ou atualizaram para essa versão. Para apps que executam versões anteriores, habilite eventos de compra no app em Básico > Configurações > Cartão do Android no Painel de Apps ou adicione manualmente o código do evento de compra.

No momento, o SDK para Android é compatível com as versões 2 e 3 da biblioteca Google Play Billing. Para a usar a versão 4, é preciso registar manualmente eventos de compra no app.

Relatório de falha do SDK do Facebook

(para uso apenas no Facebook)

Quando o app falhar devido ao SDK do Facebook, um relatório de falha será gerado e enviado ao Facebook na reinicialização. Esse relatório não revela dados do usuário e ajuda o Facebook a garantir a qualidade e a estabilidade do SDK. Para recusar o registro desse evento, desabilite eventos registrados automaticamente.

Relatório de ANR do SDK do Facebook

(para uso apenas no Facebook)

Quando o app não estiver respondendo (ANR, pelas iniciais em inglês) devido ao SDK do Facebook, um relatório de ANR será gerado e enviado ao Facebook na reinicialização. Esse relatório não revela dados do usuário e ajuda o Facebook a garantir a qualidade e a estabilidade do SDK. Para recusar o registro desse evento, desabilite eventos registrados automaticamente.

Desabilitar eventos registrados automaticamente

Para desabilitar eventos registrados automaticamente, adicione o seguinte ao arquivo AndroidManifest.xml:

<application>
  ...
  <meta-data android:name="com.facebook.sdk.AutoLogAppEventsEnabled"
           android:value="false"/>
  ...
</application>

Em alguns casos, em vez de desabilitar o recurso, é possível adiar a coleta de eventos registrados automaticamente para obter consentimento do usuário ou atender a requisitos legais, por exemplo. Para isso, chame o método setAutoLogAppEventsEnabled() da classe FacebookSDK e defina-o como true para reabilitar o registro automático após o consentimento do usuário final.

setAutoLogAppEventsEnabled(true);

Para suspender o registro de novo, defina o método setAutoLogAppEventsEnabled() como false.

setAutoLogAppEventsEnabled(false);

Também é possível desabilitar o registro automático de eventos de compra no app no Painel de Apps. Acesse o Cartão do Android em Básico > Configurações e alterne o controle para Não.

Desabilitar a inicialização automática do SDK

Para desabilitar a inicialização automática do SDK, adicione o seguinte ao arquivo AndroidManifest.xml:

<application>
  ...
  <meta-data android:name="com.facebook.sdk.AutoInitEnabled"
           android:value="false"/>
  ...
</application>

Em vez de desabilitar o recurso, em alguns casos é possível adiar a inicialização automática do SDK para obter consentimento do usuário ou atender a requisitos legais, por exemplo. Para isso, chame o método setAutoInitEnabled da classe true para inicializar o SDK de forma manual após receber o consentimento do usuário final.

FacebookSdk.setAutoInitEnabled(true)
FacebookSdk.fullyInitialize()

Desabilitar a coleta de identificações de anunciante

Para desabilitar a coleta de advertiser-id, adicione o seguinte ao arquivo AndroidManifest.xml:

<application>
  ...
  <meta-data android:name="com.facebook.sdk.AdvertiserIDCollectionEnabled"
           android:value="false"/>
  ...
</application>

Em vez de desabilitar o recurso, em alguns casos, é possível adiar a coleta de advertiser_id para obter consentimento do usuário ou atender a obrigações legais, por exemplo. Para isso, chame o método setAdvertiserIDCollectionEnabled() da classe FacebookSDK e defina-o como true para reabilitar a coleta de advertiser_id após receber o consentimento do usuário final.

setAdvertiserIDCollectionEnabled(true);

Para suspender a coleta por algum motivo, defina o método setAdvertiserIDCollectionEnabled() como false.

setAdvertiserIDCollectionEnabled(false);

Registrar eventos manualmente

Crie um objeto AppEventsLogger por meio de métodos auxiliares para registrar os eventos, sendo this a Activity em que está o método.

AppEventsLogger logger = AppEventsLogger.newLogger(this);

Depois, registre o evento em logger, sendo AppEventConstants.EVENT_NAME_X uma das constantes mostradas na tabela de eventos-padrão ou no código do Gerador de Códigos.

logger.logEvent(AppEventsConstants.EVENT_NAME_X);

Também é possível especificar um conjunto de parâmetros em Bundle e uma propriedade valueToSum, que é um número arbitrário que representa qualquer valor, como um preço ou uma quantidade. Quando informadas, todas as propriedades de valueToSum serão somadas. Por exemplo, se dez pessoas comprassem um item que custa R$ 10 (e transmitissem em valueToSum), esses valores seriam somados para informar R$ 100.

Observação: tanto valueToSum quanto parameters são opcionais.

Bundle params = new Bundle();
params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "USD");
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product");
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT, "[{\"id\": \"1234\", \"quantity\": 2}, {\"id\": \"5678\", \"quantity\": 1}]");

logger.logEvent(AppEventsConstants.EVENT_NAME_PURCHASE,
                54.23,
                params);
Bundle params = new Bundle();
params.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "USD");
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product");
params.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, "HDFU-8452");

logger.logEvent(AppEventsConstants.EVENT_NAME_ADDED_TO_CART,
                54.23,
                params);

Para registrar um evento personalizado, transmita o nome do evento como uma string. Essa função supõe que logger é uma instância de AppEventsLogger e foi criado por meio da chamada AppEventsLogger.newLogger().

public void logBattleTheMonsterEvent () {
    logger.logEvent("BattleTheMonster");
}

Parâmetros dos eventos

Cada um dos eventos pode ser registrado com um valueToSum e um conjunto de até 25 parâmetros. Eles são transmitidos por meio de um Bundle no qual a chave guarda o nome e o valor do parâmetro, uma String ou um int. Se você fornecer um tipo de valor não compatível, como um boolean, o SDK registrará um alerta para LogginBehavior.APP_EVENT.

Consulte os parâmetros geralmente usados em eventos-padrão no guia de referência dos parâmetros de eventos-padrão. Esses parâmetros têm o objetivo de fornecer orientações; entretanto, é possível fornecer os próprios parâmetros. O app deve registrar os parâmetros que você quer ver em detalhe nos insights.

Não use "event" como o nome de um parâmetro. Os parâmetros personalizados com o nome "event" não são registrados. Use outro nome ou inclua um prefixo ou sufixo, como my_custom_event.

Testar os registros de eventos

Com o Auxiliar para Anúncios de Aplicativo, é possível fazer testes para verificar se o app está enviando os eventos ao Facebook.

  1. Abra o Auxiliar para Anúncios de Aplicativo.
  2. Em Selecionar um aplicativo, escolha o app e selecione Enviar.
  3. Vá para a parte inferior da página e selecione Test App Events.
  4. Inicie o app e envie um evento. O evento será exibido na página da web.

Habilitar registros de depuração

Habilite os registros de depuração para verificar o uso de eventos do app na perspectiva do cliente. Os registros de depuração contêm pedidos detalhados e respostas JSON. Para habilitar o registro de depuração, inclua o seguinte código após inicializar o SDK do Facebook para Android:

FacebookSdk.setIsDebugEnabled(true);
FacebookSdk.addLoggingBehavior(LoggingBehavior.APP_EVENTS);

Isso é válido apenas para fins de depuração. Desabilite os registros de depuração antes de implementar o app para o público.

Saiba mais

Para mais informações e dicas úteis sobre eventos do app, confira o seguinte:

Exemplos de apps

Criamos exemplos de diferentes tipos de apps para que você veja mais facilmente as possibilidades de uso dos eventos do app. Cada exemplo fornece um detalhamento tela a tela dos diferentes eventos com exemplos de código. Os exemplos devem ser usados como um ponto de partida para seu app e devem ser personalizados por você.