Facebook 游戏平台的应用事件

此 Facebook SDK (JS) 应用事件 API 已停用,并且自 2022 年 7 月 1 日起不再受到支持。目前尚无为此产品添加新功能的计划。我们建议通过 Meta Pixel 像素代码传送这类事件,而不使用 FB.AppEvents.LogEvent

通过应用事件,您可以针对 Facebook 游戏衡量广告成效,以及为广告定位建立受众

您可以通过 JavaScript 版 Facebook SDK 从您的应用发送事件完成此操作。此事件既可以是预定义事件的其中一个事件(例如电商应用的“加入购物车”或游戏的“完成关卡”),也可以是其他自定义事件。

前提条件

在添加用于衡量事件的代码之前,您需要先在 Facebook 注册自己的应用。如果尚未在 Facebook 注册应用,您可以前往以下页面注册:Facebook 游戏平台快速入门

实现

您的 Facebook 游戏应已配置 JavaScript 版 Facebook SDK。如尚未配置,请阅读 JavaScript 快速入门指南

您可以使用 Facebook 事件管理工具查看已记录的事件。

自动记录事件

系统会自动记录 Facebook 游戏平台的以下事件:

  • 应用安装:用户首次接受您应用的服务条款时。
  • 应用启动:用户在任何时候打开包含您应用的网页时。

如果您已启用 Facebook 支付功能,系统还将记录以下其他事件:

  • 发起结账:用户启动支付流程以完成购物。
  • 购物:用户在您的应用内成功完成支付。
  • 取消购物:用户取消支付(包括手动取消支付和支付方式失败)。

注意:如果用户在购物过程中关闭浏览器窗口,系统可能不会记录“取消购物”事件。因此,“取消购物”事件可能与“发起结账”事件和“购物”事件之间的差值不同。

您可以使用 Facebook 事件管理工具查看已记录的事件。

记录带参数的事件

您还可以决定记录除自动记录事件以外的其他信息,以更全面地衡量您的应用在 Facebook.com 平台上的表现。例如,您可能会想在用户完成游戏关卡时记录事件。

下方示例展示了如何记录事件,并用一个参数描述该事件:

var params = {};
params[FB.AppEvents.ParameterNames.LEVEL] = '12'; //player level
FB.AppEvents.logEvent(
  FB.AppEvents.EventNames.ACHIEVED_LEVEL,
  null,  // numeric value for this event - in this case, none
  params
);

我们建议使用预定义事件的其中一个事件进行记录,但也支持记录自定义事件

不同事件名称的最大数量为 1,000。注意:达到此上限后,系统不会再记录任何新的事件类型,如果您超出此限制,就会在记录时收到 100 Invalid parameter 错误。如需详细了解事件限制,请参阅常见问题

记录购物事件

Facebook SDK 包含记录购物事件的专用函数,此函数要求指定货币。

系统会将通过 Facebook 游戏平台完成的支付自动记录为“购物”事件。只需针对实物商品的销售使用以下代码。

var params = {};
params[FB.AppEvents.ParameterNames.CONTENT_ID] = 'QW-12345';
FB.AppEvents.logPurchase(98.76, 'USD', params);

如要使用预定义参数,请创建 params 对象,然后将其传递到该函数,具体如下所示。

var params = {};
params[FB.AppEvents.ParameterNames.CONTENT_ID] = '12345';
FB.AppEvents.logPurchase(98.76, 'USD', params);

自定义应用事件

您还可以将事件名称指定为字符串,以创建自己的自定义事件:

FB.AppEvents.logEvent('battledAnOrc');

自定义事件名称的长度上限为 40 个字符,且应只包含字母数字、下划线或短划线。

捕获异常

如果通过错误参数调用所提供的 SDK JavaScript 函数,此函数将抛出异常。确保您的代码传递的参数正确无误,并捕获出现的任何异常。

调试

为提高性能,默认加载极简化 JavaScript SDK。您也可以加载 JavaScript SDK 的调试版本,其中包括更多日志记录,更严格的参数检查,同时这也是非简化版。为此,可将加载代码中的 js.src 值更改为以下值:

js.src = "https://connect.facebook.net/en_US/sdk/debug.js";

参考文档