应用对用户通知

This feature is no longer available for new submissions. This documentation is intended solely for developers with existing games.

应用对用户通知是简短的自由格式消息,您可以向您应用的用户发送此类消息来重新吸引他们。对于宣传重要活动、通知好友邀请或提醒用户需要采取的操作,这是最有效的方法之一。使用这类通知,您可向已对您的应用授权的用户发送消息。

应用对用户通知适用于所有 Facebook 网络游戏。此类通知仅会在 Facebook 的桌面网页版本中显示。应用可以向已为其授权的用户发送通知,无需特殊或扩展权限。

通知送达后,Facebook 的通知提醒会亮起,然后通知会显示在下拉列表中。显示通知时,应用图标位于左侧,并会按时间顺序穿插显示其他通知。

通知本身是简短的自定义文本字符串,最多 120 个字符。您可以使用用户的 Facebook 应用范围编号来提及用户。这些编号将以展开的形式显示用户的真实姓名,但是姓名不可点击。详情请参阅下方的“消息模板”部分。

用户点击通知后,将跳转至您在通知中指定的网址。

实现

发送通知

应用可以使用 app access_token,通过向 /user_id/notifications 图谱 API 发送 HTTP POST 请求生成通知。详情请参阅图谱 API 通知连线

POST /{recipient_userid}/notifications?access_token=... &template=...&href=...

参数

参数 描述

href

目标的相对路径或 GET 参数(例如 index.html?gift_id=123?gift_id=123)。此参数可用于根据应用设置来构建绝对目标网址。逻辑是:在网页上,如果存在 Facebook.com 中游戏的设置,目标网址将包含游戏应用网址 + href;如果不存在,则不会显示通知。绝对网址将包含目标网址的一些特殊追踪参数(fb_sourcenotif_idnotif_t),方便开发者自行追踪。

template

通知的自定义文本。详情请参阅下方的消息模板部分。

ref

将通知分为多个组,以便您可以在应用分析中单独追踪各个组。

处理返回值

如果调用成功,图谱 API 将给出以下响应:

{
  "success": true
}

注意:如果我们预测收信人与通知互动的可能性较低,可能不会对该收信人显示通知,即便图谱 API 调用成功也是如此。

如果调用不成功,图谱 API 响应将包含一条带有相应异常消息的错误提示。

如果您尝试向用户发送通知,但是该用户尚未验证应用,您将收到以下响应:

{
   "error": {
      "message": "(#200) Cannot send notifications to a user who has not installed the app",
      "type": "OAuthException",
      "code": 200
   }
}

如果您尝试标记的用户尚未验证应用,您将收到以下响应:

{
   "error": {
      "message": "(#200) Cannot tag users who have not installed the app",
      "type": "OAuthException",
      "code": 200
   }
}

如果模板文本包含的字符超过 180 个,图谱 API 将返回以下错误提示。请注意:超出 120 个字符的内容将被截断。

{
   "error": {
      "message": "(#100) template parameter cannot be longer than 180 characters.",
      "type": "OAuthException",
      "code": 100
   }
}

注意:即便用户关闭来自应用的通知,通知仍然能够成功发送,只是不会显示在用户界面中。

消息模板

通知消息采用自由格式文本。图谱 API 的 message 字段不得超过 180 个字符,并将截断 120 个字符之后的消息内容。

纯文本消息

此类通知可以通过以下图谱 API 调用生成:

POST /{recipient_userid}/notifications?
     access_token=...& 
     href=...& 
     template=You have people waiting to play with you, play now!

个性化消息模板

您可以使用 @[USER_ID] 添加用户编号,在实际显示通知时,系统将用用户的全名代替编号并予以突出显示。

上述通知可以通过包含用户编号的格式化模板来生成,如下方代码所示。

POST /{recipient_userid}/notifications?
     access_token=...& 
     href=...& 
     template=@[596824621] started a game with you, play now!

同样地,以下通知也使用了 @[USER_ID] 语法,但是在模板中提及了多名角色(用户)。

POST /{recipient_userid}/notifications?
     access_token=...& 
     href=...& 
     template=@[596824621] and @[10149999096285761] started a game with you!

图谱 API 将验证每一个 USER_ID,确保该编号是有效的 Facebook 用户,且对应用户已经验证应用。如果任意编号无效,API 调用将失败。

追踪表现

最低点击率

点击率 (CTR) 是衡量通知成效的最重要指标之一。拥有高点击率的通知比较有趣,可以吸引用户。在用户眼中,拥有低点击率的通知往往质量低下。久而久之,用户将倾向于忽略或屏蔽低点击率的通知,这将影响到您应用和其他开发者应用的表现。

为确保通知渠道始终能吸引 Facebook 用户,如果应用一周内发送超过 50,000 条通知,必须将每周点击率保持为至少 17%。数据显示,如果应用能将点击率保持在 17% 或更高,用户使用应用的时间更长。如果每周点击率未达到此水平,该应用可能会被暂时禁用。

如果遵循以下简单的最佳实践部分,大多数应用程序都可以轻松保持此点击率。

手动优化

消息模板本地化

如要发送非英文的通知,开发者需要手动追踪用户的语言设置。在用户登录后,开发者可以通过图谱 API 连线 /{user-id}?fields=locale 访问语言设置。对于 Facebook.com 上的游戏,开发者可以使用 HTTP POST 请求检索语言设置信息。获悉语言设置后,开发者可以手动创建符合用户语言设置的消息模板。

发送时机

开发者可以进一步优化要在用户活跃时段发送的通知。在用户登录后,开发者可以通过图谱 API 连线 /{user-id}?fields=timezone 访问时区。获悉时区信息后,通过使用 ref 参数,开发者可以更好地确定向用户发送通知的最佳时机并进行优化。

目标自动设置(Beta 测试)

通过目标自动设置功能,您可以在发送应用对用户通知的同时,利用 Facebook 的增强版定位功能。启用目标自动设置功能后,您无需花很大心思去保持 17% 的高点击率,因为 Facebook 会自动向最可能与应用互动的用户推送通知。

启用此功能后,您的通知可定位至更大规模的受众细分,且 Facebook 会自动向最可能与您的应用互动的用户推送通知。例如,我们发现一般情况下,存在了数天的旧通知表现不佳,因此我们会减少这类通知的推送量。在打开目标自动设置功能并提升通知发送量后,大部分开发者能感受到应用对用户通知的互动量有显著提高。

如需使用目标自动设置功能,您可以前往应用面板设置设置选项卡打开此功能。

请注意,如果应用程序过去未使用应用对用户通知,但最近实现此类通知,系统会自动为您启用目标自动设置功能。

最佳实践

鉴于通知的质量非常重要,Facebook 收信人可以轻松关闭不喜欢的通知或将其举报为垃圾信息。我们会利用这些信号来推送用户喜欢的通知,并减少推送用户不喜欢的通知。这有助于保证通知对每个用户都有价值。

用户不会将通知与他们在 Facebook 的其他体验区分开来,所以每条消息都影响重大。一条多余的消息可能会让用户开始忽略通知,或将通知完全关闭。

为帮助您创建清晰而有吸引力的通知,我们总结了以下最佳实践。

  1. 不向不活跃的用户发送通知。应用不应向过去 28 天内未使用应用的用户发送通知。数据显示,此群体的互动度明显较低。此外,他们将通知举报为垃圾信息的可能性最高。垃圾信息举报度高的应用可能会被禁用。
  2. 从少做起。即便您有一个大型应用,一开始也只应通过少数用户测试通知表现,以便保持在每周 50,000 条通知的分界值之下。这样,您可以测试通知,直至了解到最适合用户的内容。
  3. 每天仅向用户发送一条或两条通知。如果在同一天内发送超过两条通知,许多用户会停止响应或将应用通知标记为垃圾信息。
  4. 谨防受众疲劳。通常情况下,在短时间内向同一用户发送过多通知并非明智的做法。通过使用应用分析,开发者可以根据不同时间(2 小时、6 小时、1 天、3 天、1 周或甚至长达 2 周)的 ref 参数来比较结果,从而找到再次吸引用户的最佳时间点。
  5. 目标自动设置。如果您一周发送的通知数量超过 50,000 条,但难以将点击率保持在 17%,则建议您开启目标自动设置功能,让 Facebook 自动向最有可能与您应用互动的用户推送通知。