入门指南 — Unity

本指南介绍如何使用 Unity 版 Facebook SDK 为新旧应用添加应用事件。

准备工作

记录应用启动事件

Unity 版 Facebook SDK 提供的辅助方法 FB.ActivateApp 可用于记录应用启动事件。您需要先使用 FB.Init 初始化此 SDK,才能调用 FB.ActivateApp

使用 MonoBehavior 的 Awake 函数来记录用户何时启动应用。

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

使用 MonoBehavior 的 OnApplicationPause 函数来记录用户何时重新使用应用。

// 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();
      });
    }
  }
}

手动记录事件

以下代码示例展示如何手动记录事件。

记录应用内购买事件

在此示例中,priceCurrency 是字符串,包含代表所用货币的 3 个字母 ISO codepriceAmountfloat,包含所购买商品的价格;packageName 是字符串,包含所购买商品的 SKU code

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

追踪游戏中的事件

在第二个示例中,我们追踪用户在游戏中花费的点数数量。numGoldfloat,包含所花费的点数数量;storeItem 是字符串,包含用户所购买商品的名称。

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

禁用自动记录事件功能

您集成 Facebook SDK 之后,如果未禁用应用事件自动记录功能,系统将为事件管理工具自动记录和收集特定的应用事件。如要关闭自动记录或收集功能,可在应用代码中作出相应更改或在应用面板(或事件管理工具)中的“应用事件”下切换相应开关。请注意,如果 AutoLogAppEventsEnabled 标记的值与开关值发生冲突,我们将以“为 Facebook SDK 自动记录事件”开关的值为准。如要详细了解系统会收集哪些信息以及如何禁用应用事件自动记录功能,请参阅应用事件自动记录

Unity 版 SDK 默认启用自动记录事件功能。如要禁用/启用自动记录事件功能,请前往 Unity IDE 菜单栏中的 Facebook -> 编辑设置,然后选择/取消选择应用事件设置部分下方的自动记录应用事件

您可以通过将 Fb.MobileSetAutoLogAppEventsEnabled() 方法设置为 false,从而以编程方式禁用自动记录事件功能。

FB.Mobile.SetAutoLogAppEventsEnabled(false); 

在有些情况下,您可能希望在获得终端用户同意后,重新启用自动记录事件功能。您可以通过将 SetAutoLogAppEventsEnabled() 方法设置为 true 来执行此操作。

FB.Mobile.SetAutoLogAppEventsEnabled(true); 

禁用广告主编号收集功能

Unity 版 SDK 默认启用广告主编号收集功能。如要禁用/启用广告主编号收集功能,请前往 Unity IDE 菜单栏中的 Facebook -> 编辑设置,然后选择/取消选择应用事件设置部分下方的广告主编号收集功能

您可以通过将 Fb.MobileSetAdvertiserIDCollectionEnabled () 方法设置为 false,从而以编程方式禁用广告主编号收集功能。

FB.Mobile.SetAdvertiserIDCollectionEnabled (false);

在有些情况下,您可能希望在获得终端用户同意后,重新启用广告主编号收集功能。您可以通过将 SetAdvertiserIDCollectionEnabled() 方法设置为 true 来执行此操作。

FB.Mobile.SetAdvertiserIDCollectionEnabled (true);