Este guia mostra como adicionar eventos do app ao app novo ou existente usando o SDK do Facebook para Unity.
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();
});
}
}
}Os exemplos de código a seguir demonstram como registrar eventos manualmente.
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 );
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 );
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);
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);