通用最佳实践

设计 Messenger 体验与设计移动应用或网页应用有所不同。当然,尽管其间存在着一些通用的用户体验原则,但相比于移动应用和网页应用,Messenger 体验的设计工具和预期也与之大不相同,即使是与其他的消息平台相比,也是如此。

在传统应用中可能难以设计出来的互动,在这里可能得以轻松实现,反之亦然。对于如何设计和打造想要在 Messenger 中营造的体验,为了帮助您找到思路,我们根据自己的经验收集了一些最佳实践和指南,希望您能在开始使用 Messenger 开放平台时参考。

访问口令管理

如要与 Messenger 开放平台互动,需要使用具有 pages_messaging 权限的公共主页访问口令。有效的公共主页访问口令基本上会授予应用模拟公共主页的权限。公共主页访问口令通常由用户予以支持,这意味着用户可以控制并随时终止访问权限。

对于运行稳定的应用,用户支持的公共主页访问口令存在一种风险,即某些用户操作可能会造成访问口令失效,进而导致应用运行中断。为防止发生中断,建议使用由系统用户支持的长期访问口令。此举能有效地将访问口令支持方由个人转为企业。如要创建这种访问口令,应用和公共主页需由同一企业所有。

另一个最佳实践是处理以下图谱 API 错误代码190。该代码表示访问口令不再有效。企业应发送通知,警告相应公共主页或应用的管理员:需发出新口令重新启用应用功能,才能模拟公共主页。

{
    "error": {
        "message": "Access token is no longer valid",
        "type": "OAuthException",
        "code": 190,
        "fbtrace_id": "ANtXl05DDie3Dau970_10Ah"
    }
}

保护 Send API 调用和 Webhooks

强烈建议使用生产应用来保护您的 API 调用和传入 Webhooks,使其免受攻击,并减轻对您现有访问口令安全的破坏。

应用密钥是应用的一个属性,可从应用面板的设置 > 基本菜单中获取。在同一菜单中,应用管理员可以将应用密钥重置为新密钥。应用密钥具有以下用途:

  • 通过以下签名 HTTP 标头保护 Webhooks:X-Hub-Signature
  • 通过以下签名参数保护 API:appsecret_proof
  • 识别应用 API 调用中的应用访问口令

保护 Webhooks

使用应用密钥验证提供的签名,可保护传入 Webhooks。每个传入 Webhooks 均具有 HTTP 标头 X-Hub-Signature。传入负载的这个签名可用来确认发送者知道应用密钥,且预期接收者是您的应用。这有助于忽略对 Webhooks 注入的攻击,并防止因为不同应用设置同一回调网址而造成困惑。了解如何验证传入 Webhooks

保护 API 调用

通过在应用面板中启用必须提供应用密钥设置,并在 API 调用中加入 appsecret_proof 参数,可为 API 调用再增加一层保护。了解如何设置和实现应用密钥证明

设计策略

无论是使用自动化还是发送实时消息,都必须明确您想要为自己和通过 Messenger 参与互动的用户打造什么样的体验。发送任何消息之前,请花点时间:

  • 确定您的目标。体验的核心是什么?实用性、满意度或两者兼顾?明确策略及目标有助于您打造最佳体验。
  • 决定希望用户采取的操作。希望用户采取哪些操作?是否希望用户完成多项任务?如何在 Messenger 以外的地方完成这些任务?设计互动体验时,确定用户的所有导航路径。
  • 制定完善计划。用户完成任务后,可采取哪些方法保持他们的互动热情?考虑如何扩展功能,以优化体验并延长互动的生命周期。

集中精力做好几个重要方面;兼顾太多反而会让用户产生困惑,从而削弱体验。

对话与 GUI

所有 Messenger 体验在某种程度上都是对话型体验。您借助 Messenger 开放平台打造的每种互动都可视为聊天体验的延伸,而这对于手机用户而言再熟悉不过。因此,即使来自智能助手的回复是完全自动化的,相比于移动应用互动或网页应用互动,Messenger 对话更让人觉得熟悉和人性化。毕竟,对话式互动的人情味要更加浓厚。您可在对话中添加 Wit.ai 的内置自然语言处理功能,从而自动解析和解读所收消息中的意图,让用户与 Messenger 智能助手的交流像真正的对话。

但对于与应用互动的用户而言,逐字地打出每条请求和回复比点击按钮或选择列表选项要乏味得多,在仅有两到三个合理选项时更是如此。图形用户界面 (GUI) 数十年来的发展已经表明,在用户界面中直接操作对象十分高效实用,比如轻触可以打开图片、捏放地图能够放大显示等。

幸运的是,Messenger 也能提供整套组件,从纯文本消息到完备的 GUI,无所不包。这让您能够灵活地混合搭配,使打造的互动内容既能够让用户感受到聊天的简洁性和人性化,又能够充分发挥 GUI 的强大互动功能。

设计原则

以下是构建 Messenger 应用时可以参考的一些设计原则。这些原则并非面面俱到,但却是不错的入门知识。

力求精简

大部分用户会在手机上使用智能助手,这意味着他们容易受到外界的干扰:所处环境、其他应用,甚至 Messenger 中的其他对话。因此,您与用户的互动可能会中断,用户也可能会忘记自己刚才在做的事。解决这一问题的最简单方法是让互动保持简短。如果无法做到,请考虑如何让用户保持和重建对于互动背景的印象。

避免程式化

预计将收到一组特定的回复时,智能助手会进入程式化状态。例如,您可能会向一名用户展示搜索结果,并会理所当然地自动将用户发送的下一条消息视为对方精选出来的条目。但如果用户在这期间转而做其他事情了呢?比如在搜索的执行过程时,用户决定中断任务,会怎样呢?这无疑会让智能助手混淆和受挫。解决方法之一是让交流尽量保持简洁,并使智能助手保持常态,而不是处于中间状态。

混合使用对话和 GUI

Messenger 开放平台提供各种对话组件,从纯文本消息到结构化模板再到网页视图中的完整 GUI,无所不包。每种组件都有其优势和劣势,具体取决于使用场景。在 Messenger 中打造体验时,请认真考虑哪种形式能够带来最直接、最直观的体验。答案通常是混用对话互动和 GUI 互动。

遵守对话规范

请斟酌推敲对话消息使用的语言、叙述辞令和长度,甚至是智能助手的响应速度。如果您的 Messenger 智能助手同时支持人机互动和真人互动,请向用户指明互动类型,避免造成令人不快或困惑的体验。例如,不要将人机互动伪装成真人互动。

巧用结构

尽管识别自由输入的回复十分有价值,但实施起来却十分棘手,而且这对于与智能助手互动的用户而言太过乏味。可使用按钮快速回复以及固定菜单为用户输入设定结构。这样可帮助精简互动内容并让用户明确了解预期的对话进展。

给出预告

在处理请求时给出确认信息。使用输入提示告知用户,智能助手正在处理相关请求。在订阅内容中提供明确的订阅功能。不建议在未经同意的情况下更改交付内容或交付时间。

谨慎提供通知

无需为每条消息都推送通知。请对需要提供通知的情况深思熟虑,从而增加通知的影响力。

从失败中学习

如果无法理解用户的某个请求,请向其再次说明智能助手的能力,可以突出显示帮助功能,或使用按钮、快速回复和固定菜单来加以说明。记住,用户经常会以意料之外的方式回应智能助手。所以我们应从每一次失败的请求处理中学习,不断完善智能助手。

不建议单独创建关联的实体

一般而言,最好将 Messenger 智能助手与现有 Facebook 公共主页关联,而不要创建新的公共主页。这可以帮助用户更轻松地找到智能助手,并确信该智能助手确实属于您的企业。

语言和叙述辞令

由于互动发生在以对话为主的 Messenger 开放平台环境中,在解释智能助手所提供的体验及用户应该使用智能助手的原因时,您使用的言辞具有深远的影响。

这些内容编写最佳实践将帮助您在用户通过 Messenger 发现并了解您所提供的体验后,不断提升信任度。用户对互动方式的了解越深入,其持续参与互动的可能性就越大。

保持风格的一致性

虽然您使用平台工具在 Messenger 联系用户,但具体的互动情况应由您做主。语言风格能够体现出您的个性,建议一直使用亲切自然的语气。

  • 建议使用用户熟悉的语言。始终使用用户已经知道并能将之与您联系起来的词语和语句。
  • 不建议展现新的个性特征。这会让用户感到困惑,并怀疑是否在与正确的品牌互动。

设立预期

建议根据您概述的目标和任务编写消息,让用户明确了解他们可以采取的操作以及您希望他们采取的操作。尽可能详细地描述,向用户介绍 Messenger 智能助手的核心功能。

  • 建议告知用户您联系或回应他们的频率。了解您的服务时段和响应度可帮助他们了解您的时间安排。
  • 不建议在不支持(或今后也不会支持)实时消息的情况下暗示您可以实时沟通。直截了当地说明您提供的功能,以便用户作出相应的回应。

提供背景信息

为了让用户了解您打造的智能助手体验,可以设定引导内容,在每一步为用户提供指引,告诉用户他们当前所处的阶段、智能助手正在向他们询问些什么信息以及接下来会发生什么。

  • 建议对用户采取的操作进行确认。这可以让用户觉得您的智能助手在“倾听”,使体验更能让人信赖。
  • 不建议让用户等待。如果用户提出请求,则应告知对方您已收到请求,以及您是否能够以及何时满足他们。

编写互动内容

在通过 Messenger 与用户互动之前,设想自己已经与用户进行过对话,然后开始构建提示和回复消息库。思考预期的互动推进方式,以及可能发生的所有实际情况。做完这些后,尝试完成以下事项:

创建关键词列表

与您的品牌关联的词语有哪些?用户可能会使用哪些方言谈论您或与您对话?识别所有可能发挥触发作用的关键词和同义词,可帮助您构建帮助指令、提示和回复。

  • 建议以国际化思维制定此表。考虑地区、语言和文化对词义理解的影响。考虑翻译对消息长度的影响。
  • 不建议捏造新词、引入新词汇或使用俗语。一些微妙的含义很难用文字表达清楚,因此在向用户介绍可以如何通过 Messenger 智能助手与您互动时,应尽量保持简洁。

制定互动消息

根据您想建立的任务、预期和背景,编写想要发送的所有提示和回复。编写时,考虑可用的消息类型。例如,对于纯文本消息或者包含按钮的消息,要分别考虑符合其特点的字词和显示位置。

  • 建议围绕意图编写消息内容:您想要实现什么目标、希望用户采取什么操作,以及用户可能想要您提供什么。这样更方便您设立预期并提供背景信息。
  • 建议为每条消息编写多个版本。这可以打造多样化体验,有助您避免使用重复内容和让客户疲于互动。如果您的智能助手一直在发送相同的内容,用户就可能会停止互动。
  • 不建议以单向思维开展对话。您的目标可能因交流对象而异。考虑用户可能如何回复,以及可能向您请求什么,然后制定相应的回复消息。
  • 不建议使用独立式问题。这可能导致互动方向失控,让用户以智能助手无法处理的方式来做出回应。如果您确实需要提问,可以在消息中添加包含具体回答的按钮,让用户选择答案。

每一次互动都有助于评估和改善当前体验和用于营造这一体验的消息。根据用户的回应确定如何以及在什么情况下扩展所提供的功能。

营销消息(定期通知

为了打造高质量用户体验,您应该向用户发送他们希望收到的高质量营销消息。

用户应该会对接收的营销消息有所预期。通过确保做到以下事项,您可以设立这种预期:

  • 在您的订阅请求(包括标题和图像)中加入用户希望收到的营销消息类型,例如订单更新、商品推荐或特定优惠
  • 向用户发送多个订阅请求时,每个订阅请求应清楚表明用户希望收到的不同特定类型的营销消息

营销消息应该与用户可能认为有价值的使用场景相关并针对该场景进行量身打造

用户可针对消息体验提供反馈,比如屏蔽您的消息,这可能会导致您在使用营销消息时受限。您应该定期检查您的订阅请求和营销消息,以了解它们是否符合上述最佳实践。如果您在使用营销消息时受到流量或功能限制,请设法在消息体验中提升消息对用户的价值及与用户之间的相关性。

关于亲切对话的建议

亲切自然是一种写作风格。它不会影响您打造的体验、所使用的消息类型,也不会影响您实际沟通的内容。虽然要打造亲切自然的语言风格,通常都建议使用通俗易懂的日常用语,但并不意味着可以随心所欲地编写消息,以致对核心功能的介绍有失公允、伪造实用工具或降低信任度。

如要确定是否有在现有消息中应用亲切自然的语气,请考虑您互动对象的身份,以及您想要他们完成的具体任务。如果您在与商务受众沟通或要求用户确认个人信息,用语太过随意就会让用户提高警惕,阻碍对方与您互动。

亲切自然的语气应以提升体验为目标,而不是界定体验。如果想要尝试在互动消息中采用这类语气,可以按照以下简单的方法来编写,避免更改消息的原意:

使用主动语态

主动句描述的是句子的主语在执行动作。被动句描述的则是对句子的主语执行的动作(主语被动化)。主动语态更直接,句子也更简洁。与“CNN 提供即时新闻”相比,“即时新闻由 CNN 提供”不够清楚简洁。

使用缩略形式

让消息读起来亲切自然的一个简单方法是,使用字词或词组的缩略形式。例如,“快来参加新潮人士的聚会”感觉太过机械化,而“快来参加潮人聚会”则让人感觉简洁亲切。

规范使用第一人称和第二人称

将消息中的说话人称谓标准化,确定是使用第一人称单数(“我”,表示以个人口吻说话)还是使用第一人称复数(“我们”或“公司”,表示以公司的口吻说话)。使用第二人称(你、您)称呼用户,表示您是在与他们交流,而不是滔滔不绝地自说自话

检查语法

虽然您可能会以比平时更随意的方式进行交流,但也必须遵守基本的书写规则。要做到既亲切自然,又要能引起用户认真对待。没有错别字且句子结构正确,可以有助用户关注您打造的体验,并令您能够清楚说明自己实际想要表达的意思。

正确使用标点

确定如何以及在何处使用句号、省略号、感叹号等标点也是在 Messenger 打造体验需要考虑的内容。留心各个标点对消息整体语气的影响,大胆地在消息中使用标点来表达热情、疑问或其他情绪。

斟酌语气

编写亲切自然的消息并不意味着创建全新的品牌。语言风格代表您的个性特征,而语气则是您表达此个性特征的方式。亲切自然仅仅意味着让互动消息更加亲切。不确定编写的消息是否合宜?大声念出自己的回应消息,感受它们的效果。

请查看以下示例,了解如何在保持沟通内容不变的情况下,在各个发送渠道中使用不同的语气发送订单确认消息:

网站 邮箱 Messenger

您的订单已处理。以下是您的购买摘要:

  • 跑鞋
  • 羊绒衫

我们会在商品发货后更新您的账户。

我们已收到您的订单。您购买的商品包括:

  • 跑鞋
  • 羊绒衫

我们会在这些商品发货后向您发送确认电子邮件。

感谢您的订购!我们会在您购买的跑鞋和羊绒衫发货后通知您。

具有真情实感和相关性的消息是最理想的。您最了解自己的品牌和体验,所以应该根据自己的判断去做决定,只要您觉得适合自己和受众即可,同时也要积极在使用过程中作出调整。

更新和提醒

及时发送与您营造的体验相关的消息,让用户随时了解最新信息。用户完成某操作后,可以发送确认消息,并告知必要后续步骤。如果您要构建订阅机制,建议尽量在每天的同一时间推送动态更新。

告知用户您已处理他们的信息或请求。发送购买收据、核实问题答案、确认偏好等。

为用户提供明确的订阅方式。具体说明他们会收到什么消息及接收频率,同时提供退订或更新偏好的方式。

不要在未获得同意的情况下更改所发送的消息类型。如果用户选择接收特定提醒,则应尊重他们的偏好。

推送通知可以让用户预览您的动态更新和提醒,并在您发送新消息时通知他们,即使他们没在使用 Messenger,此功能也不会受到影响。此外,通知也是吸引用户再次参与互动的简单方式之一。

主动出击。向选择使用您体验的用户发送通知,告知他们有未读消息。

建议适时静音发送。如果发送的消息太多,则可以静音发送没有时效性的通知。

不建议发送太多通知。如果用户收到的消息过多而疲于应对,则可能会决定忽略整个对话或屏蔽您的活动。

失败状态

虽然一些工具可以自动实现互动,但请记住,您仍然是在与真实的用户交流。这意味着用户可能会按不同的方式理解您提供的消息和目的。收到您不了解或不能识别的请求时,建议保持坦诚。可以请对方提供清楚的信息,并告知您可以如何提供帮助,或无法提供帮助。

建议重复与用户沟通。如果用户请求的内容超出您的体验服务范围,则重新说明您提供的功能,告诉他们有关帮助指令的信息,或使用按钮提供选项并将他们重定向至别处。

建议将每一次失败看作是一个反馈,并从中找到行之有效的方案,了解哪些做法没有效果,以及可以如何逐步改进使用 Messenger 与用户沟通的方式。

不要期望用户能够理解透彻。无论您经过多精心的策划、预判有多少问题或者作出了多少回应,用户都会或多或少会忽略一些细节,询问您意料之外的问题,建议您了解用户尚未明确的内容量以及因此产生的困惑。

不建议多次发送相同的失败消息。限制用户收到失败回应的次数,同时改变每条消息的用语,这样可以减少沟通障碍。

互动消息有助于您保持用户参与互动。无论是用于发起会话还是用于保持会话继续进行,都可以使用互动消息不断地说明您所提供体验的运作方式及体验提供的价值。