Android 版应用事件

分类目录: 应用事件

Android 版应用事件

应用事件有助于您了解应用用户的组成、衡量成效,并使用 Facebook 移动应用广告面向特定用户群营销。这可以通过使用 Facebook 的 Android SDK 记录应用事件来实现。事件可以是 14 个预定义事件之一,例如:商务应用的加入购物车或游戏应用的完成关卡,也可以是任何自定义事件。

前提条件

在添加衡量事件的代码之前,您需要先在 Facebook 注册自己的应用,然后下载并配置 Facebook SDK。详情请参阅我们的入门指南。

实施

Facebook SDK 针对应用激活和购买(两种最常见的事件类型)提供两种辅助方法。

记录应用激活

将应用激活记录为应用事件将启用几乎所有其他功能,且应该是添加至应用的第一个内容。SDK 能够提供记录应用激活的辅助方法。通过记录激活事件,您可以使用 Facebook 应用分析了解用户激活应用的频率、使用应用的时长,同时查看其他人口统计数据。

在 Android 系统内,SDK 的应用激活辅助方法应在应用创建后立即调用,因此在 Application 类的 onCreate 方法中,放置如下代码:

@Override
public void onCreate() {
    super.onCreate();
    FacebookSdk.sdkInitialize(getApplicationContext());
    AppEventsLogger.activateApp(this);
}

购买方法

与记录应用激活事件非常相似,记录购买方法时,Facebook SDK 也能够提供辅助方法,使用单行代码记录购买。例如,要记录一次花费 $4.32 美元的购买行为,可使用以下代码:

logger.logPurchase(BigDecimal.valueOf(4.32), Currency.getInstance("USD"));

指定货币应使用 ISO 4217 货币代码。使用这个代码的目的是为广告优化确定一个统一值。

最多可有 1,000 个不同的事件名称。请注意,达到此上限后,系统就不会再记录新的事件类型。但您可以停用废弃的事件。如需详细了解事件限制,请参阅常见问题。

手动记录事件

对于所有其他类型的事件,请创建一个 AppEventsLogger,然后记录事件。要创建 AppEventsLogger

AppEventsLogger logger = AppEventsLogger.newLogger(this);

其中 this 是指使用方法的 Activity。

然后,就可以将事件记录至 logger

logger.logEvent(AppEventsConstants.EVENT_NAME_{XXXXX});

其中 AppEventConstants.EVENT_NAME_{XXXX} 是下面的事件表中显示的常量之一。

此外,您还可以在 Bundle 中指定一系列参数,并指定一个 valueToSum 属性,此属性是一个可以表示任何值(例如:价格或数量)的任意数。报告时,所有 valueToSum 属性将汇总在一起。例如,如果有 10 位用户各自花费 $10 美元购买同一件商品(并传递至 valueToSum),然后这些购买值就会在报告中汇总为 $100 美元。

Bundle parameters = new Bundle();
parameters.putString(AppEventsConstants.EVENT_PARAM_CURRENCY, "USD");
parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_TYPE, "product");
parameters.putString(AppEventsConstants.EVENT_PARAM_CONTENT_ID, "HDFU-8452");

logger.logEvent(AppEventsConstants.EVENT_NAME_ADDED_TO_CART,
                54.23,
                parameters);

请注意,valueToSumparameters 参数均为可选。

下面列出了预定义事件和预定义参数的完整列表。

事件

下面每个事件都可以与 valueToSum 和一系列参数(最多 25 个参数)一同记录。下表将显示推荐事件,以及对每个事件通常有用的参数(此表之后的下一个表格将定义常见参数名称)。您应根据用户在应用内的操作添加有意义的事件。

AppEventsConstants:EVENT_NAME_* valueToSum 参数

完成关卡:

EVENT_NAME_ACHIEVED_LEVEL

LEVEL

启动应用:

EVENT_NAME_ACTIVATED_APP

添加支付信息:

EVENT_NAME_ADDED_PAYMENT_INFO

SUCCESS

加入购物车:

EVENT_NAME_ADDED_TO_CART

所添加商品的价格

CONTENT_TYPECONTENT_IDCURRENCY

加入心愿单:

EVENT_NAME_ADDED_TO_WISHLIST

所添加商品的价格

CONTENT_TYPECONTENT_IDCURRENCY

完成注册:

EVENT_NAME_COMPLETED_REGISTRATION

REGISTRATION_METHOD

完成教程学习:

EVENT_NAME_COMPLETED_TUTORIAL

SUCCESSCONTENT_ID

开始结账:

EVENT_NAME_INITIATED_CHECKOUT

购物车内的商品总价

CONTENT_TYPECONTENT_IDNUM_ITEMSPAYMENT_INFO_AVAILABLECURRENCY

购买:

EVENT_NAME_PURCHASED

购买价格

NUM_ITEMSCONTENT_TYPECONTENT_IDCURRENCY

评分:

EVENT_NAME_RATED

给出的评分

CONTENT_TYPECONTENT_IDMAX_RATING_VALUE

搜索:

EVENT_NAME_SEARCHED

CONTENT_TYPESEARCH_STRINGSUCCESS

花费 Facebook 币:

EVENT_NAME_SPENT_CREDITS

花费的 Facebook 币的总值

CONTENT_TYPECONTENT_ID

解锁成就:

EVENT_NAME_UNLOCKED_ACHIEVEMENT

DESCRIPTION

查看内容:

EVENT_NAME_VIEWED_CONTENT

已查看商品的价格(如适用)

CONTENT_TYPECONTENT_IDCURRENCY

参数

下表是通常与上面所示事件或自定义事件一起使用的实用参数。我们在今后改进成效分析产品时将使用到这些推荐参数,但请注意,您也可以提供自己的参数。

这些预定义参数旨在指引您了解常用的记录模式,并让报告和其他界面中的数据更易阅读。应用应记录您想在成效分析中查看细分数据的一系列参数。这些参数的推荐说明仅用作指南,您可以将这些参数用于对应用有意义的任何事件。

如果想要移除废弃的参数,可以按照帮助中心的说明停用参数。

参数将通过 Bundle 传递,其中键记录参数名称和值 Stringint,具体如下所示。如果提供不兼容的其他类型的值,例如 boolean,则 SDK 会将警告记录至 LogginBehavior.APP_EVENT

AppEventConstants:EVENT_PARAM_* 可能的值 说明

内容编号:

EVENT_PARAM_CONTENT_ID

string

国际商品编码 (EAN)(如适用),或其他产品或内容标识符

内容类型:

EVENT_PARAM_CONTENT_TYPE

string

“product”或“product_group”

货币:

EVENT_PARAM_CURRENCY

string

ISO 4217 代码,例如:“EUR”、“USD”、“JPY”

说明:

EVENT_PARAM_DESCRIPTION

string

字符串说明

关卡:

EVENT_PARAM_LEVEL

string

游戏关卡

最大分值:

EVENT_PARAM_MAX_RATING_VALUE

int

评分量表的上限,例如:5 星量表的最大值 5

商品数量:

EVENT_PARAM_NUM_ITEMS

int

商品数量

可用的支付信息:

EVENT_PARAM_PAYMENT_INFO_AVAILABLE

10

1 代表是,0 代表否

注册方式:

EVENT_PARAM_REGISTRATION_METHOD

string

Facebook、电子邮箱、Twitter 等

搜索字符串:

EVENT_PARAM_SEARCH_STRING

string

搜索的目标文本字符串

成功:

EVENT_PARAM_SUCCESS

10

1 代表是,0 代表否

自定义应用事件

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

logger.logEvent("battledAnOrc");

API 参考文档

如需获取有关 AppEventsLogger 类的更多详细内容,请参阅参考文档。

在 Facebook 应用分析中验证事件记录

如果您是应用的管理员或开发者,则可以在 Facebook 应用分析中验证自己是否已正确实施应用事件。请参阅我们有关在 Facebook 应用分析中调试事件的文档,了解验证事件是否被记录的方法。

启用调试记录

开发者可以启用调试记录,以便轻松验证客户的应用事件使用情况。调试记录包括 JSON 内详细的请求和响应。启用 Facebook SDK 后,添加以下代码,即可启用调试记录:

FacebookSdk.setIsDebugEnabled(true);
FacebookSdk.addLoggingBehavior(LoggingBehavior.APP_EVENTS);

这仅作调试用途。在部署投产应用前,请先确保禁用调试记录。

Facebook 应用分析

启用应用事件意味着您可以自动开始使用 Facebook 应用分析。此分析渠道能够提供应用用户的人口统计数据,并提供工具,帮助更好地了解用户在应用内的操作流程,以及方便您对比执行相同操作的不同类型用户的队列。

详情请参阅有关 Facebook 应用分析的文档。

Facebook 广告

移动应用广告表现

您可以利用应用事件深入了解 Facebook 移动应用广告带来的使用率和投资回报 (ROI)。已设置的应用事件将在广告管理工具内报告为不同类型的操作,以便您能够查看各个广告和广告系列带来的应用内操作。例如,您可能会看到某条广告产生了 10 项操作。这些操作可以是 8 次结账和 2 次注册,而这些信息将在广告管理工具中说明。


移动应用广告定位

衡量应用事件也是面向现有应用用户投放移动应用广告的一种更简单的方式。集成应用事件后,您就可以覆盖现有用户,根据用户在应用内采取的操作覆盖特定用户群,甚至覆盖最活跃的部分用户。例如,您可以投放广告,再次吸引最近的购买者返回应用完成更多购买,也可以面向前 25% 的重度购买者投放广告。您可以根据在应用内衡量的应用事件选择要覆盖的受众。

如需详细了解 Facebook 移动应用广告,请查看移动应用安装量广告或移动应用使用率广告的教程。


广告统计

一旦在您的 Android 应用中实施了应用事件,当您投放 Facebook 移动应用安装广告或移动应用使用和转化广告时,系统将自动追踪您添加的应用事件。刚开始,我们将只追踪上述 14 个预定义事件。

如果使用 Power Editor 设置广告,请确保使用默认追踪设置,或如果手动配置存在以下 tracking_spec 的追踪设置,请将 {app_id} 替换为您应用的 Facebook 应用编号。

{"action.type" : ["app_custom_event"], 
 "application" : [{app_id}]} 

报告内容:

在广告管理工具中,已设置的应用事件将报告为不同类型的操作。例如,您可能会看到某条广告产生了 10 项操作。这些操作可以是 8 次结账和 2 次注册,而这些信息将在广告管理工具中说明。您可以在这里详细了解广告管理工具中衡量移动应用广告表现的方式,还可以了解 Power Editor 中的安装后报告

数据控制

Facebook SDK 提供工具让用户控制 Facebook 广告系统如何使用应用事件数据。
开放平台政策要求您必须在用户与 Facebook 共享此信息时为其提供选择退出选项。建议您使用我们的 SDK 工具提供选择退出选项。此工具的说明如下。

setLimitEventUsage 行为

如果用户已将 limitEventUsage 标志设置为 true,您的应用将继续向 Facebook 发送此数据,但 Facebook 不会使用此数据投放已定位的广告。Facebook 可能会继续将此信息用于其他用途,包括设置频率上限、统计转化事件、预估独立用户的数量、检测安全和欺诈行为,以及进行调试。

AppEventsLogger.setLimitEventUsage(this, true);

其中 this 可能是您所在的 Activity,或应用内的其他 Context

limitEventUsage 设置将持续存在于各应用会话中。要使用此属性,可将选择退出界面与 limitEventUsage 标志的值相匹配。

数据共享

我们不会与广告主或其他第三方共享您与 Facebook 分享的应用事件数据,除非得到您的允许或应法律要求。