写点什么

RPA 在物流企微私域场景的应用

  • 2024-10-09
    北京
  • 本文字数:3966 字

    阅读完需:约 13 分钟

作者:京东物流 卢旭

什么是 RPA

RPA 全称是机器人流程自动化(Robotic Process Automation),是一种利用软件机器人实现自动化业务过程的技术;RPA 系统通过模仿用户在电脑、手机等智能设备上的手动操作方式,在无需改变现有 IT 系统或应用程序代码的情况下,提供了一种新的自动化业务流程的方法。

有什么优势,解决什么问题

•降低成本:RPA 可完成基于流程化的重复性工作,将人从每日的重复工作中解放出来,准确高效地实现业务流程自动化;同时,可无人值守,让大家专注于价值更高和创造性的任务。也将提高员工满意度;


•速度更快,效率更高:机器人的工作速度比人类更快,更灵活,可定时工作,可 7*24 工作;它们使您的业务流程更加高效;消除人为误差;


•非侵入式技术:RPA 不需要大量资源来整合多个应用程序,它不需要更换现有的 IT 系统。它很容易适应公司不同部门的 IT 系统;


•改善客服服务:机器人全天候服务,能更快地解决客户的疑问,从而提高服务质量和整体客户满意度;


•模拟人机交互:可完成获取屏幕上的内容,理解屏幕上的内容,编辑屏幕上的内容,从而进行更智能的交互。


RPA 不仅解决了人力成本、效率、准确性等问题,还为企业数字化转型提供了有力支持。通过 RPA 的实施,公司可以更加专注于核心业务的发展,提升整体运营效率和竞争力。同时,RPA 产品还具备强大的可扩展性和可定制性,能够满足不同的个性化需求。

常见 RPA 应用领域

•企微私域运营:获取消息、发送消息、回复消息、群管理、建群、拉人、踢人、加好友、识别垃圾消息等等;


•人力资源:需要处理和管理大量数据,并详细记录组织内每位员工的情况。RPA 工具可以自动计算福利、存储文件、审核工时表、管理入职等,从而提高人力资源部门员工的工作效率;


•数据分析:RPA 有收集和分析数据的能力。自动化工具可以收集有关问题、成本、效率、生产力等任何方面的数据。这是企业发现改进领域和监控绩效的好方法。毕竟,数据是战略决策的关键;


•采购业务:采购团队通常要花费大量时间执行行政任务,这也是 RPA 可以应用的领域;它能够简化运营、降低人员成本并增加服务价值。发票处理和请购单审批只是使用自动化工具可以实现自动化的部分任务;


•电商领域应用场景:AI 智能客服,评论回复,营销推广,商品订单,物流仓储,财务运营等;


•其它应用场景:财务、政务、银行、保险、物流等领域应用也很广泛。

私域业务场景

•2023 年初,物流火种项目-私域启动,对于如何运营私域是一个问题,如何通过私域支持快递业务和其它业务;在业务发展中也有很多痛点;如何快速建群?如何给群发消息?如何运营这些群?如何保证 ROI?如何达成结果目标?随着群发展到数十万,群粉丝规模达到数百万,难以避免群内不产生非法消息和不合规消息,如何管理也是一个问题?基于业务需求和已知问题,我们调研了很多方案,最终决定主要依靠自研,才能更快更稳更好的满足业务需求;随着业务需求的增多,产品需求的完善,整体系统也逐渐成熟。后面将从业务架构和基本原理大致介绍我们的解决方案。

业务架构流程

•SCRM 系统从业务架构上主要包括:SCRM 后台运营系统、后台服务的指令服务和 AI 服务、机器人平台、企微助手、微信小程序等,如下图所求;运营同学在 SCRM 后台进行日常运营,配置各种任务,通过后台服务计算生成具体指令下达到企微小助手;企微小助手解析指令,不同指令执行不同操作,将消息发送到企微群里或个人,或将企微上获取的数据上传到后台服务;C 用户打开链接到微信小程序,用户在微信小程序也会触发一些指令(如建群),此时调用后台服务接口生成相关指令,然后再执行。



•经过不断的发展,目前服务全国数十万个社群,管理数百万用户粉丝,产生数十万的订单,每天处理数百万条消息,消息准确触达率 99.6%以上;面向社群的 RPA 主要功能包括:微信群发消息、建群、改群名、获取群码、加好友、删好友、群管理功能,其中消息类型包括:纯文本、图文、小程序卡片等,群管理功能包括拉人、踢人、群管理员、智能识别非法信息及警告回复等;覆盖业务场景从拉新、裂变、入群、促活、交易下单、风险监测等整个生命周期,将粉丝沉淀到私域,从私域中获取利益产生订单。目前只需要 3 人左右就能满足运营,简单重复的工作都由 RPA 完成。

技术架构简介

◦业务 APP:企微小助手,我们可以基于通用组件和基础服务实现其它小助手的功能


◦业务组件:企微监控服务包括定时服务、监控消息、解析消息、建群、获取群码、群管理、拉人踢人等,大部分服务与远程指令服务功能一一对应,如发送消息、回复消息、群管理、拉人踢人、建群、获取群码;


◦基础服务:无障碍解析服务包括解析节点、解析登录、解析窗口、执行点击、进退页面、解析滚动、权限处理等;网络服务包括基础库封装、日志拦截、版本管理等;日志服务包括日志打印,日志存储,日志分析,日志上传等。对于安卓无障碍服务基本原理,将在后面介绍。



无障碍服务基本原理

•安卓无障碍功能实现的主要构成 可以分为以下三个部分:辅助的小助手 APP、被辅助的企微 APP 和系统服务 AccessibilityManagerService,三者关系如下图所示,小助手 APP 不需要直接跟被辅助的 APP 通信,而是通过 SystemService 中转通信,如下图所示:



•无障碍事件执行流程,主要分为以下几个关键步骤:


◦获取操作节点 AccessibilityNodeInfo


◦执行操作事件:通过 AccessibilityNodeInfo.performAction 执行,通过无障碍服务(AccessibilityService)中的方法如 getRootInActiveWindow() 获取当前界面布局,然后使用 findAccessibilityNodeInfosByText 或 findAccessibilityNodeInfosByViewId 等方法进行过滤和定位。事件传递给到对应的 Activity。


◦事件传递分发给给具体 View:事件到达 Activity,Activity 会进一步进行事件分发到 PhoneWindow,再分发到具体的 View;与普通模式下的事件分发类似,无障碍事件分发也依赖于三个重要方法:


dispatchHoverEvent(MotionEvent event):用来进行事件的分发,返回值取决于当前 View 的onHoverEvent()方法和子 View 的dispatchHoverEvent()方法的影响。


onInterceptHoverEvent(MotionEvent event):仅 ViewGroup 拥有的方法,用来判断是否拦截某个事件。


onHoverEvent(MotionEvent event):在dispatchHoverEvent()方法中进行调用,用来处理 hover 事件。


◦最终无障碍事件的执行:经过上述分发过程后,最终的无障碍事件会被传递给具体的 View 进行处理;performAction 方法返回一个布尔值,表示操作是否成功执行。成功执行通常返回 true,否则返回 false;


总体来说,无障碍事件执行流程主要包括获取操作节点、执行操作事件、事件传递分发给给具体 View 以及最终执行和结果等步骤。这一流程确保了无障碍服务能够准确地捕获和处理用户的输入事件,从而提供有效的辅助功能。主要流程图如下:



•安卓辅助功能服务 Accessibility Service 的基本原理流程:AccessibilityService 是 Android 系统提供给的一种服务,继承系统 Service 类;运行在后台并监听系统发出的事件;大致系统原理如下:


◦服务启动与注册:


▪当 Android 系统启动时,会启动大量系统服务,其中就包括AccessibilityManagerService(AMS)。


▪AMS 在创建时会注册一些系统广播,如应用状态变化广播PackageMonitor。当有应用安装、卸载或更新时,PackageMonitor会收到广播。


▪AMS 会获取对应应用中注册的 AccessibilityService,并保存该服务的信息。如果设置中开启了该服务,AMS 会启动该服务,并返回服务的代理AccessibilityService.IAccessibilityServiceClientWrapper


◦事件传递与通信:


▪应用进程的 UI 变化、获取焦点、点击按钮等事件都会通过AccessibilityManager发送给 AMS。


AccessibilityManager是 AMS 的代理,它负责将这些事件通过IAccessibilityServiceClientWrapper(模拟点击服务在 AMS 中的代理)的onAccessibilityEvent()方法发送给 AccessibilityService。


◦事件处理:


▪AccessibilityService 接收到 UI 信息后,会根据开发者的实现进行判断与处理。这通常包括解析事件类型、查找对应的 UI 元素(如按钮、文本框等),并执行相应的操作(如模拟点击、获取文本等)。


◦部分代码:


public class MyAccessibilityService extends AccessibilityService {  @Override  public void onCreate() {      super.onCreate();      // 初始化代码  } 
@Override public void onAccessibilityEvent(AccessibilityEvent event) { int eventType = event.getEventType(); switch (eventType) { case AccessibilityEvent.TYPE_VIEW_CLICKED: // 处理点击事件 break; // 其他事件类型... default: break; } }
@Override public void onInterrupt() { // 当服务被中断时调用 }
// 可能还有其他辅助方法,如查找UI元素、模拟点击等 }
复制代码


同时,还需要在应用的res/xml/目录下配置一个accessibility_service_config.xml文件,来声明 AccessibilityService 的相关属性,如监听的事件类型、反馈方式等。


◦安全性与进程间通信:


▪由于不同的应用运行在各自的进程中,Android 使用 AIDL(Android Interface Definition Language)来实现进程间通信(IPC)。这确保了 AccessibilityService 能够安全地与 AMS 和其他系统组件通信。


总结来说,Android AccessibilityService 通过监听系统事件、与 AMS 进行通信,并允许开发人员自定义事件处理逻辑,为那些有操作障碍的用户提供了更好的设备使用体验。

未来展望规划

经过一年多的发展,不管从产品体验上还是技术架构上存在着一些不足,需要面向用户优化用户体验,优化技术架构和性能,不断提升用户体验,满足业务运营需求。将借助 AI 提升 RPA 软件机器人的自主学习和决策能力,提升机器人的工作效率,使其能够处理更深层次的业务流程;与 AI 技术等深度融合,实现更深度的自动化和智能化,提供更智能的私域运营服务。

发布于: 2024-10-09阅读数: 2
用户头像

拥抱技术,与开发者携手创造未来! 2018-11-20 加入

我们将持续为人工智能、大数据、云计算、物联网等相关领域的开发者,提供技术干货、行业技术内容、技术落地实践等文章内容。京东云开发者社区官方网站【https://developer.jdcloud.com/】,欢迎大家来玩

评论

发布
暂无评论
RPA在物流企微私域场景的应用_京东科技开发者_InfoQ写作社区