Este guia mostra como adicionar eventos do app ao app novo ou existente integrando o SDK do Facebook e registrando esses eventos.
Você precisará do seguinte:
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:
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.
Evento | Detalhes |
---|---|
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. |
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.
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()
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);
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"); }
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
.
Com o Auxiliar para Anúncios de Aplicativo, é possível fazer testes para verificar se o app está enviando os eventos ao Facebook.
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.
Para mais informações e dicas úteis sobre eventos do app, confira o seguinte:
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ê.