En esta guía se muestra cómo añadir eventos de la aplicación a una aplicación nueva o existente mediante la integración del SDK de Facebook y el registro de dichos eventos.
Al integrar el SDK de Facebook, determinados eventos de la aplicación se registran y recopilan automáticamente para el Administrador de eventos, a menos que desactives el registro automático de eventos de la aplicación. Puedes cambiar este comportamiento en el código de la aplicación o mediante un botón en “Eventos de la aplicación”, en el panel de aplicaciones o el Administrador de eventos. Ten en cuenta que, en caso de que haya valores contradictorios en la marca AutoLogAppEventsEnabled
y el botón, priorizaremos el valor del botón “Registro automático de eventos para el SDK de Facebook”. Para obtener información más detallada sobre los datos que se recopilan y cómo desactivar el registro automático de eventos de la aplicación, consulta Registro automático de eventos de la aplicación.
Existen tres maneras de realizar un seguimiento de los eventos en la aplicación:
Cuando utilizas el SDK de Facebook, determinados eventos de la aplicación se registran y recopilan automáticamente para Facebook, a menos que desactives el registro automático de eventos. Estos eventos son pertinentes para todos los casos de uso: segmentación, medición y optimización. Existen tres eventos clave que se recopilan como parte del registro automático de eventos de la aplicación: descarga e inicio de la aplicación, y compra. Si el registro automático está activado, los anunciantes pueden desactivar estos eventos y otros internos de Facebook, como los de impresión de inicio de sesión. No obstante, si has desactivado el registro automático, pero quieres seguir registrando eventos específicos, como los de descarga o compra, implementa manualmente el registro de estos eventos en la aplicación.
Evento | Detalles |
---|---|
Descarga de la aplicación | La primera vez que una persona nueva activa la aplicación o que esta se inicia en un dispositivo concreto. |
Inicio de la aplicación | Cuando una persona inicia la aplicación, el SDK de Facebook se inicializa y el evento se registra. Sin embargo, si se produce un segundo evento de inicio de la aplicación en un plazo de 60 segundos desde el primero, el segundo no se registra. En las versiones 4.18 y anteriores del SDK de Facebook para Android, la inicialización del SDK es un proceso manual distinto del registro manual de eventos que se describe en este documento. Actualiza a la última versión del SDK o desplázate a la sección Procedimiento obsoleto de inicialización del SDK para añadir eventos manualmente. |
Compras en la aplicación | Cuando se completa una compra procesada por Google Play. Si utilizas otras plataformas de pago, añade el código del evento de compra manualmente. El registro de las compras en la aplicación se activa automáticamente para las aplicaciones que tienen instalada la versión 4.39 o han realizado la actualización a esta. Para las aplicaciones que se ejecutan en una versión anterior, activa los eventos de compra en la aplicación desde Básica > Configuración de la tarjeta de Android en el panel de aplicaciones o añade el código del evento de compra manualmente. El SDK para Android actualmente admite las versiones 2 y 3 de la biblioteca Google Play Billing. En el caso de la versión 4 de la biblioteca Google Play Billing, debes registrar manualmente los eventos de compra en la aplicación. |
Informe de errores del SDK de Facebook (Solo para uso por parte de Facebook). | Si la aplicación se bloquea debido al SDK de Facebook, se genera un informe de errores y se envía a Facebook cuando se reinicia la aplicación. Este informe no contiene datos del usuario y ayuda a Facebook a garantizar la calidad y la estabilidad del SDK. Para retirar el consentimiento del registro de este evento, desactiva los eventos registrados automáticamente. |
Informe de ANR del SDK de Facebook (Solo para uso por parte de Facebook). | Si la aplicación no responde (problema conocido como ANR) debido al SDK de Facebook, se genera un informe de ANR y se envía a Facebook cuando se reinicia la aplicación. Este informe no contiene datos del usuario y ayuda a Facebook a garantizar la calidad y la estabilidad del SDK. Para anular la suscripción al registro de este evento, desactiva los eventos registrados automáticamente. |
Para desactivar los eventos registrados automáticamente, añade el siguiente fragmento de código al archivo AndroidManifest.xml:
<application> ... <meta-data android:name="com.facebook.sdk.AutoLogAppEventsEnabled" android:value="false"/> ... </application>
En algunos casos, es posible que quieras retrasar la recopilación de eventos registrados automáticamente, por ejemplo, para obtener el consentimiento del usuario o cumplir con las obligaciones legales, en lugar de desactivarla. En este caso, llama al método setAutoLogAppEventsEnabled()
de la clase FacebookSDK
y establécelo en true
para volver a activar el registro de eventos una vez que el usuario final haya proporcionado su consentimiento.
setAutoLogAppEventsEnabled(true);
Para volver a suspender el registro por cualquier motivo, establece el método setAutoLogAppEventsEnabled()
en false
.
setAutoLogAppEventsEnabled(false);
También puedes desactivar el registro automático de los eventos de compra en la aplicación mediante el panel de aplicaciones. Dirígete a la tarjeta de Android en Básica > Configuración y cambia el conmutador a No.
Para desactivar la inicialización automática del SDK, añade el siguiente fragmento de código al archivo AndroidManifest.xml:
<application> ... <meta-data android:name="com.facebook.sdk.AutoInitEnabled" android:value="false"/> ... </application>
En algunos casos, es posible que quieras retrasar la inicialización del SDK, por ejemplo, para obtener el consentimiento del usuario o cumplir con las obligaciones legales, en lugar de desactivarla. En este caso, llama al método setAutoInitEnabled
de la clase y establécelo en true
para inicializar manualmente el SDK una vez que el usuario final haya proporcionado su consentimiento.
FacebookSdk.setAutoInitEnabled(true) FacebookSdk.fullyInitialize()
Para desactivar la recopilación de advertiser-id
, añade el siguiente fragmento de código al archivo AndroidManifest.xml:
<application> ... <meta-data android:name="com.facebook.sdk.AdvertiserIDCollectionEnabled" android:value="false"/> ... </application>
En algunos casos, es posible que quieras retrasar la recopilación de advertiser_id
, por ejemplo, para obtener el consentimiento del usuario o cumplir con las obligaciones legales, en lugar de desactivarla. En este caso, llama al método setAdvertiserIDCollectionEnabled()
de la clase FacebookSDK
y establécelo en true
para volver a activar la recopilación de advertiser_id
una vez que el usuario final haya proporcionado su consentimiento.
setAdvertiserIDCollectionEnabled(true);
Para suspender la recopilación por cualquier motivo, establece el método setAdvertiserIDCollectionEnabled()
en false
.
setAdvertiserIDCollectionEnabled(false);
Crea un objeto AppEventsLogger
mediante los métodos auxiliares para registrar los eventos, donde this
es el elemento Activity
en que se encuentra el método.
AppEventsLogger logger = AppEventsLogger.newLogger(this);
Puedes registrar el evento en logger
, donde AppEventConstants.EVENT_NAME_X
es una de las constantes que se muestra en la tabla de eventos estándar o del código del generador de códigos.
logger.logEvent(AppEventsConstants.EVENT_NAME_X);
También puedes especificar un conjunto de parámetros en un elemento Bundle
y una propiedad valueToSum
(un número arbitrario que puede representar cualquier valor, como un precio o una cantidad). Cuando se generan informes, todas las propiedades valueToSum
se suman. Por ejemplo, si diez personas compraran un artículo de 10 EUR (valor que se pasa mediante valueToSum
), se sumarían y se notificarían 100 EUR.
Ten en cuenta que las propiedades valueToSum
y parameters
son opcionales.
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 un evento personalizado, simplemente pasa el nombre del evento como una cadena. Esta función supone que el registrador es una instancia de AppEventsLogger y que se ha creado mediante una llamada a AppEventsLogger.newLogger().
public void logBattleTheMonsterEvent () { logger.logEvent("BattleTheMonster"); }
Cada evento se puede registrar con una propiedad valueToSum
y un conjunto de hasta 25 parámetros. Se pasan mediante un elemento Bundle
, en el que la clave incluye el nombre del parámetro y el valor, un objeto de tipo String
o int
. Si proporcionas otro tipo de valor no compatible, como boolean
, el SDK registra una advertencia en LogginBehavior.APP_EVENT
.
Consulta la guía de referencia de los parámetros de eventos estándar para saber cuáles son los parámetros que se usan normalmente con los eventos estándar. La finalidad de estos parámetros es ofrecer orientación, pero también puedes proporcionar tus propios parámetros. La aplicación debe registrar los parámetros para los que te interesa ver desgloses en los insights.
No uses “event” como nombre de un parámetro. Los parámetros personalizados con el nombre “event” no se registrarán. Utiliza otro nombre o añádele un prefijo o un sufijo (por ejemplo, my_custom_event
).
Con el asistente para anuncios sobre aplicaciones, puedes probar los eventos de la aplicación en tu aplicación para asegurarte de que esta los envía a Facebook.
Activa los registros de depuración para verificar el uso de eventos de la aplicación desde el lado del cliente. Los registros de depuración contienen respuestas JSON y solicitudes detalladas. Para activar los registros de depuración, añade el código siguiente después de inicializar el SDK de Facebook para Android:
FacebookSdk.setIsDebugEnabled(true); FacebookSdk.addLoggingBehavior(LoggingBehavior.APP_EVENTS);
Esto se realiza únicamente con fines de depuración. Inhabilita los registros de depuración antes de implementar la aplicación para el público.
Para obtener más información y consejos útiles sobre los eventos de la aplicación, consulta los documentos siguientes:
Hemos creado algunos ejemplos para distintos tipos de aplicaciones para mostrarte cómo usar los eventos de la aplicación. Cada una de las aplicaciones de ejemplo ofrece un desglose por pantallas de los distintos eventos con ejemplos de código. Es importante tener en cuenta que estos ejemplos son un punto de partida para tu aplicación y que debes personalizarlos.