Unity 新手指南

本指南會講解如何使用 Facebook Unity SDK 將應用程式事件加入新的應用程式或現有應用程式。

準備工作

記錄應用程式啟動

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
);

追蹤遊戲中的事件

在第二個範例中,我們追蹤用戶在遊戲中支出的 Credit 數量。numGoldfloat,包含所支出的 Credit 數量;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);