本指南介绍如何使用 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 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 );
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);