Primeros pasos con los eventos de la app (Android)

En esta guía, te mostramos cómo agregar eventos a tu app nueva o preexistente, para lo cual debes integrar el SDK de Facebook y, luego, registrar estos eventos.

Agregar eventos de la app

Después de que integras el SDK de Facebook, se registran y recopilan automáticamente determinados eventos de la app en el administrador de eventos, a menos que desactives el registro automático de eventos. Puedes cambiar esta configuración en el código de tu app o mediante el botón de activación de eventos de la app, ubicado en el panel de apps o en el administrador de eventos. Ten en cuenta que, en el caso de que haya valores contradictorios entre la marca AutoLogAppEventsEnabled y el botón de activación, prevalecerá el valor del botón de activación del "registro automático de eventos del SDK de Facebook". Para obtener información sobre qué información se recopila y cómo desactivar el registro de eventos de la app de manera automática, consulta Registro automático de eventos de la app.

Hay tres maneras de hacer seguimiento de los eventos en tu app:

Eventos registrados de forma automática

Cuando usas el SDK de Facebook, determinados eventos en tu app se registran y recopilan automáticamente para Facebook, a menos que desactives el registro automático de eventos. Estos eventos son relevantes para todos los casos de uso: segmentación, medición y optimización. Hay tres eventos clave que se recopilan como parte del registro automático de estos eventos: descarga de la app, inicio de la app y compra. Cuando el registro automático está activado, los anunciantes pueden desactivar estos eventos y otros eventos internos de Facebook, como los eventos de impresión de inicio de sesión. Sin embargo, si desactivaste el registro automático, pero quieres registrar eventos específicos (por ejemplo, eventos de instalación o de compra), debes implementar manualmente el registro de estos eventos en tu app.

EventoDetalles

Instalación de app

La primera vez que una persona nueva activa tu app o que tu app se inicia en un dispositivo particular.

Inicio de la app

Cuando una persona inicia tu app, el SDK de Facebook se inicializa y se registra el evento. Sin embargo, si ocurre un segundo inicio de la app dentro de los 60 segundos del primero, no se registrará el segundo evento.

En el caso del SDK de Facebook para Android versión 4.18 (y anteriores), la inicialización es un proceso manual diferente del registro manual de eventos que se describe en este documento. Actualiza a la versión más reciente del SDK o desplázate hasta la sección Inicialización del SDK anterior para agregar eventos de forma manual.

Compras en la app

Cuando se completó una compra procesada por Google Play. Si usas otras plataformas de pago, agrega manualmente el código del evento de compra.

El registro de compras en la app se activa automáticamente para las apps que tienen la versión 4.39 instalada, o bien que se actualizaron a dicha versión. En el caso de las apps que ejecutan una versión anterior, activa los eventos de compra en la app en Básico > Tarjeta de configuración para Android en el panel de apps, o bien agrega manualmente el código del evento de compra.

Por el momento, el SDK para Android admite las versiones 2 y 3 de la biblioteca de Google Play Billing. En el caso de la versión 4 de la biblioteca de Google Play Billing, debes acceder manualmente a los eventos de compra en la app.

Informe de bloqueo del SDK de Facebook

(para uso exclusivo de Facebook)

Si tu app se bloqueó a causa del SDK de Facebook, se generará un informe de bloqueo, que se enviará a Facebook cuando se reinicie tu app. Este informe no incluye datos del usuario ni ayuda a Facebook a garantizar la calidad y estabilidad del SDK. Para excluir el registro de este evento, desactiva los eventos registrados de forma automática.

Informe de ANR del SDK de Facebook

(para uso exclusivo de Facebook)

Si tu app tiene un mensaje de ANR (la aplicación no responde) a causa del SDK de Facebook, se generará un informe de ANR, que se enviará a Facebook cuando se reinicie tu app. Este informe no incluye datos del usuario ni ayuda a Facebook a garantizar la calidad y estabilidad del SDK. Para excluir el registro de este evento, desactiva los eventos registrados de forma automática.

Desactivar eventos registrados de forma automática

Para desactivar los eventos registrados de forma automática, agrega lo siguiente al archivo AndroidManifest.xml:

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

Es posible que, en algunos casos, prefieras demorar la recopilación de eventos registrados automáticamente en lugar de desactivarla (por ejemplo, para obtener el consentimiento del usuario o para cumplir con obligaciones legales). En este caso, llama al método setAutoLogAppEventsEnabled() de la clase FacebookSDK y configúralo en true para volver a activar el registro de eventos después de que el usuario final proporcionó su consentimiento.

setAutoLogAppEventsEnabled(true);

Para volver a desactivar el registro, independientemente del motivo, configura el método setAutoLogAppEventsEnabled() en false.

setAutoLogAppEventsEnabled(false);

También puedes desactivar el registro automático de eventos de compra en la app desde el panel de apps. Ve a la tarjeta para Android en Básico > Configuración y cambia a No.

Desactivar la inicialización automática del SDK

Para desactivar la inicialización del SDK de forma automática, agrega lo siguiente al archivo AndroidManifest.xml:

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

Es posible que, en algunos casos, prefieras demorar la inicialización del SDK en lugar de desactivarla (por ejemplo, para obtener el consentimiento del usuario o para cumplir con obligaciones legales). En este caso, llama al método de clase setAutoInitEnabled y configúralo en true para inicializar manualmente el SDK después de que el usuario final proporcionó su consentimiento.

FacebookSdk.setAutoInitEnabled(true)
FacebookSdk.fullyInitialize()

Desactivar la recopilación de identificadores de anunciantes

Para desactivar la recopilación de advertiser-id, agrega lo siguiente al archivo AndroidManifest.xml:

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

Es posible que, en algunos casos, prefieras demorar la recopilación de advertiser_id en lugar de desactivarla (por ejemplo, para obtener el consentimiento del usuario o para cumplir con obligaciones legales). En este caso, llama al método setAdvertiserIDCollectionEnabled() de la clase FacebookSDK y configúralo en true para volver a activar la recopilación de advertiser_id después de que el usuario final proporcionó su consentimiento.

setAdvertiserIDCollectionEnabled(true);

Para desactivar la recopilación, independientemente del motivo, configura el método setAdvertiserIDCollectionEnabled() en false.

setAdvertiserIDCollectionEnabled(false);

Eventos registrados de forma manual

Crea un objeto AppEventsLogger mediante los métodos de asistente para registrar eventos, donde this es Activity en tu método.

AppEventsLogger logger = AppEventsLogger.newLogger(this);

Después puedes registrar tu evento en logger, donde AppEventConstants.EVENT_NAME_X es una de las constantes que se muestran en la tabla de eventos estándar, o bien desde el código del generador de códigos.

logger.logEvent(AppEventsConstants.EVENT_NAME_X);

También puedes especificar un conjunto de parámetros en un Bundle y una propiedad de valueToSum, que es un número arbitrario que puede representar cualquier valor (por ejemplo, un precio o una cantidad). Al registrarse, todas las propiedades de valueToSum se sumarán. Por ejemplo, si diez personas compraron un artículo y cada artículo costó $10 (y se pasó en valueToSum), se sumarán e informarán $100.

Nota: 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, pasa el nombre del evento como una cadena. Esta función supone que el registro del evento es una instancia de "AppEventsLogger" y que fue creada mediante la llamada "AppEventsLogger.newLogger()".

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

Parámetros de eventos

Cada evento puede registrarse con un valueToSum y un conjunto de hasta 25 parámetros. Los parámetros se pasan a través de un Bundle, donde la clave incluye el nombre del parámetro y el valor, ya sea este String o int. Si proporcionas otro tipo de valor que no es compatible, como boolean, el SDK registra una advertencia en LogginBehavior.APP_EVENT.

Consulta la guía de referencia sobre los parámetros de los eventos estándar para obtener más información sobre los parámetros que suelen utilizarse en los eventos estándar. La intención de estos parámetros es brindar orientación, aunque también puedes utilizar tus propios parámetros. Tu app debería registrar parámetros que te resulten interesantes de visualizar en desgloses para elaborar estadísticas.

No uses "event" para el nombre de un parámetro. No se registrarán los parámetros personalizados con el nombre "event". Usa otro nombre o agrégale un prefijo o sufijo, por ejemplo my_custom_event.

Probar tu registro de eventos

Con el asistente para anuncios sobre apps, puedes probar los eventos de la app a fin de asegurarte de que tu app envíe eventos a Facebook.

  1. Abre el asistente para anuncios sobre apps.
  2. En Seleccionar una app, elige la app y haz clic en Enviar.
  3. Ve a la parte inferior y selecciona Probar eventos de la app.
  4. Inicia la app y envía un evento. El evento aparece en la página web.

Activar registros de depuración

Activa los registros de depuración para verificar el uso de eventos de la app desde el lado del cliente. Los registros de depuración contienen respuestas en JSON y solicitudes detalladas. Para activar los registros de depuración, agrega el siguiente código después de inicializar el SDK de Facebook para Android:

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

Esta función tiene fines de depuración únicamente. Desactiva los registros de depuración antes de implementar la app públicamente.

Más información

Para obtener más información y consejos útiles sobre los eventos de la app, consulta los siguientes recursos:

Ejemplos de apps

Creamos algunos ejemplos de distintos tipos de apps para mostrarte cómo puedes usar eventos de la app. Cada ejemplo de app ofrece un desglose por pantallas de distintos eventos con ejemplos de código. Es importante que tengas en cuenta que estos ejemplos son un punto de partida para tu app y que debes personalizarlos.