本指南說明如何使用 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 code
字串(代表所用的幣別),priceAmount
是包含所購商品價格的 float
,packageName
是包含所購商品 SKU code
的字串。
var iapParameters = new Dictionary<string, object>(); iapParameters["mygame_packagename"] = packageName; FB.LogPurchase( priceAmount, priceCurrency, iapParameters );
在第二個範例中,我們追蹤用戶支出的遊戲幣數。numGold
是包含支出遊戲幣數的 float
,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.Mobile
的 SetAutoLogAppEventsEnabled()
方法設為 false
,您能夠以程式設計的方式停用自動記錄的事件。
FB.Mobile.SetAutoLogAppEventsEnabled(false);
在某些情況下,您可能希望等到一般用戶同意後再重新啟用自動記錄。若是如此,只需將 SetAutoLogAppEventsEnabled()
方法設為 true
即可。
FB.Mobile.SetAutoLogAppEventsEnabled(true);
Unity SDK 預設會啟用蒐集廣告主編號。若要停用或啟用廣告主編號蒐集,請前往 Unity IDE 功能表列中的 Facebook -> 編輯設定,然後在「應用程式事件設定」區塊內選擇或取消選取廣告主編號蒐集。
透過將 Fb.Mobile
的 SetAdvertiserIDCollectionEnabled ()
方法設為 false
,您能夠以程式設計的方式停用廣告主編號蒐集。
FB.Mobile.SetAdvertiserIDCollectionEnabled (false);
在某些情況下,您可能希望等到一般用戶同意後再重新啟用廣告主編號蒐集。若是如此,只需將 SetAdvertiserIDCollectionEnabled()
方法設為 true
即可。
FB.Mobile.SetAdvertiserIDCollectionEnabled (true);