你好,感谢你的阅读!本博文是《Flex Mobile:将呼叫中心代理从桌面上解脱出来》的译文。
Twilio Flex是Twilio的云联络中心,它的魅力在于其完全可编程性。你不必等待供应商提供该功能,你可以自己开发它
默认情况下,Flex不提供开箱即用的功能,无法在移动设备上运行。然而,由于Flex结合了Twilio的许多产品,如TaskRouter、Conversations和Studio,你可以使用所有的API和SDK来完全定制Flex,以满足你的业务需求,并有自己的增强功能。
这篇博文展示了一个概念证明,通过允许团队成员离开他们的电脑,继续用他们的手机进行聊天和通话,体现了创新的理念。我介绍一下Flex Mobile,这是一个React Native应用,可以与Flex及其子系统无缝集成,包括Flex Insights,我们的报告工具。
让我们开始吧!
特点和功能
Flex Mobile是为谁服务的?
- 使用案例:Flex Mobile适用于那些团队成员在工作期间不总是在电脑前的组织。
- 团队:这个项目最适合于有React开发团队的公司。对于大多数使用Flex的公司来说,这不应该是一个问题,因为他们使用用React构建的Flex插件来扩展Flex功能。
如果你没有React开发团队,请联系我们优秀的Twilio合作公司来帮助你完成这个项目。
Flex Mobile可以直接用于生产吗?
Flex Mobile是一个概念证明,你需要一个开发团队或Twilio合作伙伴公司来开发和维护其功能。
这是一个很好的起点,特别是对于快速向你的开发团队介绍Flex的API和协调。
要求
你喜欢Flex Mobile的理念吗?在你开始之前,你需要一些账户,并应熟悉先决条件和价格。请通过以下所有步骤:
- Flex实例:你需要一个有Flex实例的Twilio账户。
- Flex UI 2.0:确保你有一个激活了UI 2.0的Flex实例
- Flex Conversations:请确保你已启用Flex Conversations。
- SSO IdP:检查您是否同意在Flex中使用定制的身份提供商(IdP)进行认证,而不是使用市场标准的SSO提供商。你只能为Flex使用一个IdP,所以这必须是一个用于移动认证的自定义IdP。
- Flex定价模式:如果您的团队成员想在有新的聊天记录时收到推送通知,他们需要在Flex中持续在线。因此,我们建议你使用命名的用户计费,而不是 "活跃用户时间"。
幕后花絮
让我们来看看这个项目是如何用Twilio产品结构的。
认证过程
这张图描述了Flex Mobile的认证过程的步骤。

- 该小组成员打开Flex移动应用程序
- 该团队成员在过去一小时内是否登录了Flex?如果是,就会使用存储在团队成员设备上的有效Flex令牌,该过程直接跳到最后一步。
- 该团队成员在过去7天内是否登录了Flex?如果是,团队成员设备上的有效长效令牌将被用来跳过手动认证过程。
- 否则,将启动手动认证程序。它使用Twilio Verify通过短信向团队成员发送一个一次性密码。
- 一旦团队成员被验证(通过长效令牌或通过手动验证过程),就会调用一个函数在同步系统中存储一个新的长效令牌并强制更新。这种在每次登录后更新长效令牌的做法很重要,以防团队成员有两部手机,并丢失(或出售)了其中一部。最后一个登录Flex的设备会自动禁用旧设备的认证。
- Sync将长效令牌存储7天。这意味着,只要团队成员每周登录,他们就永远不必再经历人工认证过程。
网络钩子
Webhooks负责在客户打电话或发短信给你的联络中心时处理来自Twilio的事件。例如,你可以用它们来发送推送通知或将电话转发给团队成员。

- 一旦客户发送消息或打电话,就会触发两个事件中的一个:
onMessageAdded(用于对话)或ReservationCreated(用于TaskRouter)。 - 这些事件调用一个函数(webhook)。如果团队成员当时没有 "在移动端可用",该过程就会停止,因为该团队成员(很可能)在桌面上使用Flex,不想在移动端接收通知。
- 这个函数评估它是一个聊天还是一个呼叫。
- 对于聊天,会向Firebase发送一个推送通知。
- 对于通话,该函数更新任务属性,以包括与团队成员的电话会议中的通话,为此Twilio通过公共电话网络在内部呼叫团队成员。
移动应用程序
该应用是一个基于Expo的React Native项目。Expo是一个神奇的开源平台,它使人们可以很容易地为Android和iOS构建通用的本地应用程序。
它使用与Flex相同的库和API,包括TaskRouter、Conversations和Flex Interactions API,使这个项目与Flex完全兼容,包括Flex Insights,开箱即可使用,无需任何特殊设置。
从技术上讲,Flex Mobile只不过是 "传统的Flex与一种叫做Flex on Mobile的新活动"。由于这个简单的概念,它与Flex完全兼容。
到目前为止,Flex Mobile只为Android设备开发和测试。它仍然可以在iOS上运行,但如果你想在苹果设备上实现该应用程序的全部功能,你需要自己为iOS的推送通知编程。
安装Flex Mobile
让我们开始吧。
克隆Flex Mobile资源库。它由4个文件夹组成,所有这些文件夹都需要单独安装和部署。
让我们仔细看一下这些文件夹中的每一个。
第1步,共4步:flex-plugin-sso。
- 这就是它的意义所在:处理认证的定制Flex插件。
- 这就是为什么它很重要:在移动设备上,我们需要长寿命的令牌。在桌面上,Flex有令牌刷新逻辑,每小时更新一次令牌。这种令牌刷新逻辑在桌面上运行完美,但在Flex Mobile上,我们需要考虑到应用程序在调用之间是完全关闭的。然而,当一个团队成员重新打开应用程序时,他们不应该每次都要经历认证过程。
- 安装:请按照这里的指示来安装Flex插件SSO。最后,你应该能够用你的手机号码添加自己,测试你是否能够登录Flex桌面(是的,桌面,移动用例还在后面)。
第2步,共4步:安装-脚本
-
事情是这样的:这个脚本需要为你的Flex实例运行一次。它只是创建了一个名为 "Flex for Mobile "的新活动。
-
为什么它很重要
-
Flex需要知道电话是否应该被发送到团队成员的手机或桌面。
-
Flex应该只在团队成员移动时向他们的手机发送推送通知。
-
主管需要能够在Flex Insights中创建自定义报告,将团队成员在桌面上的观点和指标与移动设备上的观点和指标分开,因为,例如,"平均处理时间 "和其他指标在这些设备上完全不同。
-
安装:按照这里的执行说明,这一步很简单。
第3步(共4步):反应-原生
-
这就是它的意义所在
有趣的是:在这个项目之前,我对React Native没有任何经验,但世博会让我更容易上手。如果你有React的经验,你应该能够处理React Native。
-
这就是为什么它很重要:这是实际的移动应用程序,在团队成员的手机上运行。
-
安装:按照这里的说明,在本地安装和运行。
第4步: twilio-functions
- 这就是它的意义所在:这些功能需要部署在Twilio功能上。
- 这就是为什么它很重要**:这些功能是推送通知和来电的基础。一旦团队成员处于 "可在移动设备上使用 "模式,他们就会被执行。如果团队成员处于任何其他活动模式("离线 "或 "可用"),这些功能不会被执行,因此当团队成员在Flex Desktop上工作时,不会发送推送通知。
- 安装:按照 这里的指示来设置这些功能。