用户可以在不同的渠道(Facebook messenger 或 Skype)上恢复聊天吗?会话不应该丢失的地方

Posted

技术标签:

【中文标题】用户可以在不同的渠道(Facebook messenger 或 Skype)上恢复聊天吗?会话不应该丢失的地方【英文标题】:Can a User resume the chat on different channels(Facebook messenger or Skype) ? where the session should not be lost 【发布时间】:2017-12-05 06:16:00 【问题描述】:

我想通过加入 Facebook Messenger、Alexa、Native 应用程序、网络聊天等多个渠道来制作一个机器人,以获得无缝且无摩擦的体验。

用户应该能够在应用程序内打开和启动聊天会话并关闭它但不会丢失会话,这样我就可以轻松地从应用程序内发起与机器人或代理的聊天会话。

例如如果我是在 Facebook Messenger bot 上聊天的用户,一段时间后我关闭它并在网页上打开聊天机器人,那么我应该能够在该频道上恢复相同的聊天表示用户的聊天会话不应丢失。

【问题讨论】:

您必须在后端记录会话并结合所有集成的帐户链接,这绝对可以通过几个编码之夜。 嗨,还有更新吗?期待您的消息。 【参考方案1】:

首先,机器人应用程序连接到多个渠道,每个渠道都有不同的用户。正如@christophe-willemsen 所说,您需要建立自己的帐户系统并链接到您的机器人连接的所有渠道。使用它,您需要将会话数据与用户配对。

然后,您可以利用Manage state data 来存储和访问用户数据。并利用Advance the waterfall 管理对话框内的瀑布步骤。

快速参考:

let savedSession;
var bot = new builder.UniversalBot(connector, [(session) => 
    if (savedSession) 
        var [savedDialog] = savedSession.dialogStack().slice(-2, -1);
        console.log(savedDialog);
        session.replaceDialog(savedDialog.id, savedDialog.state)
     else 
        savedSession = session;
        session.beginDialog('form');
    
]);

bot.dialog('form', [...waterfall steps...])

【讨论】:

以上是关于用户可以在不同的渠道(Facebook messenger 或 Skype)上恢复聊天吗?会话不应该丢失的地方的主要内容,如果未能解决你的问题,请参考以下文章

互联网金融不同渠道评估实例

微信渠道二维码怎么使用?

同一对话机器人框架中的 3 个不同频道

在 android 应用程序中从 google 和 facebook 注销

App页面上的数据如何追踪和统计的?现成的工具都有哪些?

APP推广的渠道与运营模式分析