Primeiros passos: Unity

Este guia mostra como adicionar eventos do app ao app novo ou existente usando o SDK do Facebook para Unity.

Antes de começar

Registrar inicializações do app

O SDK fornece o método auxiliar FB.ActivateApp para registrar inicializações do app. É preciso inicializar o SDK com FB.Init antes de fazer uma chamada a FB.ActivateApp.

Use a função Awake de MonoBehavior para registrar quando um usuário inicializa o app.

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

Use a função OnApplicationPause de MonoBehavior para registrar quando um usuário retoma o app.

// 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

Os exemplos de código a seguir demonstram como registrar eventos manualmente.

Registrar compra no app

Neste exemplo: priceCurrency é uma string com um ISO code de 3 letras representando a moeda; priceAmount é um float com o valor do item comprado; e packageName é uma string com o SKU code do item.

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

Acompanhar evento em um jogo

No segundo exemplo, rastreamos a quantidade de créditos que um usuário usou no jogo. numGold é um float com o número de créditos gastos, e storeItem é uma string com o nome do item comprado.

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

Desabilitar eventos registrados automaticamente

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.

Por padrão, o SDK para Unity habilita o registro automático de eventos. Para desabilitar ou habilitar o registro automático de eventos, acesse Facebook > Edit Settings na barra de menu Unity IDE e marque ou desmarque Auto Logging App Events na seção App Events Settings.

É possível desabilitar o registro automático de forma programática ao definir o método SetAutoLogAppEventsEnabled() de Fb.Mobile como false.

FB.Mobile.SetAutoLogAppEventsEnabled(false); 

Talvez você queira habilitar o registro automático novamente depois que um usuário fornecer consentimento. Nesse caso, defina o método SetAutoLogAppEventsEnabled() como true.

FB.Mobile.SetAutoLogAppEventsEnabled(true); 

Desabilitar a coleta de identificações de anunciante

Por padrão, o SDK para Unity habilita a coleta de identificações de anunciante. Para desabilitar ou habilitar a coleta de identificações, acesse Facebook > Edit Settings na barra de menu Unity IDE e marque ou desmarque AdvertiserID Collection na seção App Events Settings.

É possível desabilitar a coleta de identificações de anunciante de forma programática ao definir o método SetAdvertiserIDCollectionEnabled () de Fb.Mobile como false.

FB.Mobile.SetAdvertiserIDCollectionEnabled (false);

Talvez você queira habilitar a coleta novamente depois que um usuário fornecer consentimento. Nesse caso, defina o método SetAdvertiserIDCollectionEnabled() como true.

FB.Mobile.SetAdvertiserIDCollectionEnabled (true);