Introducción: Unity

En esta guía se muestra cómo añadir eventos de la aplicación a una aplicación nueva o existente mediante el SDK de Facebook para Unity.

Antes de empezar

Registrar los inicios de la aplicación

El SDK proporciona el método auxiliar FB.ActivateApp para registrar los inicios de la aplicación. Necesitarás inicializar el SDK con FB.Init antes de poder realizar una llamada a FB.ActivateApp.

Usa la función Awake de MonoBehavior para registrar cuándo un usuario inicia la aplicación.

void Awake ()
{
  if (FB.IsInitialized) {
    FB.ActivateApp();
  } else {
    //Handle FB.Init
    FB.Init( () => {
      FB.ActivateApp();
    });
  }
}

Usa la función OnApplicationPause de MonoBehavior para registrar cuándo un usuario reanuda la aplicación.

// Unity will call OnApplicationPause(false) when an app is resumed
// from the background
void OnApplicationPause (bool pauseStatus)
{
  // Check the pauseStatus to see if we are in the foreground
  // or background
  if (!pauseStatus) {
    //app resume
    if (FB.IsInitialized) {
      FB.ActivateApp();
    } else {
      //Handle FB.Init
      FB.Init( () => {
        FB.ActivateApp();
      });
    }
  }
}

Registrar eventos manualmente

Los siguientes ejemplos de código demuestran cómo registrar eventos manualmente.

Registrar una compra en aplicación

En este ejemplo, priceCurrency es una cadena que contiene el código ISO (ISO code) de tres letras que representa la divisa usada. priceAmount es un valor flotante (float) que contiene el precio del artículo comprado y packageName es una cadena que contiene el código SKU (SKU code) de dicho artículo.

var iapParameters = new Dictionary<string, object>();
iapParameters["mygame_packagename"] = packageName;
FB.LogPurchase(
  priceAmount,
  priceCurrency,
  iapParameters
);

Hacer seguimiento de un evento en un juego

En este segundo ejemplo, estamos haciendo un seguimiento del número de créditos que ha gastado un usuario en un juego. numGold es un valor flotante (float) que contiene el número de créditos gastados, y storeItem es una cadena que contiene el nombre del artículo que el usuario ha comprado.

var softPurchaseParameters = new Dictionary<string, object>();
softPurchaseParameters["mygame_purchased_item"] = storeItem;
FB.LogAppEvent(
  Facebook.Unity.AppEventName.SpentCredits,
  (float)numGold,
  softPurchaseParameters
);

Desactivar los eventos registrados automáticamente

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.

Nuestro SDK para Unity activa los eventos registrados automáticamente de forma predeterminada. Para desactivar o activar el registro automático de eventos, ve a Facebook -> Editar configuración en la barra del menú del IDE de Unity y marca o desmarca la opción Registro automático de eventos de la aplicación en Configuración de los eventos de la aplicación.

Puedes desactivar mediante programación los eventos registrados automáticamente; para ello, establece el método SetAutoLogAppEventsEnabled() de Fb.Mobile en false.

FB.Mobile.SetAutoLogAppEventsEnabled(false); 

En algunos casos, es posible que quieras volver a activar el registro automático cuando un usuario final dé su consentimiento. Para ello, establece el método SetAutoLogAppEventsEnabled() en true.

FB.Mobile.SetAutoLogAppEventsEnabled(true); 

Desactivar la recopilación de identificadores de anunciantes

El SDK para Unity activa la recopilación de identificadores de anunciantes de manera predeterminada. Para desactivar o activar la recopilación de identificadores de anunciantes, ve a Facebook -> Editar configuración en la barra de menú del IDE de Unity y marca o desmarca la opción Recopilación de identificadores de anunciantes en Configuración de los eventos de la aplicación.

Puedes desactivar mediante programación la recopilación de identificadores de anunciantes, para ello, establece el método SetAdvertiserIDCollectionEnabled () de Fb.Mobile en false.

FB.Mobile.SetAdvertiserIDCollectionEnabled (false);

En algunos casos, es posible que quieras volver a activar la recopilación de identificadores de anunciantes cuando un usuario final dé su consentimiento. Para ello, establece el método SetAdvertiserIDCollectionEnabled() en true.

FB.Mobile.SetAdvertiserIDCollectionEnabled (true);