本申请涉及互联网技术领域,尤其涉及交互处理方法及装置。
背景技术:
随着互联网技术和电子设备技术的快速发展,电子设备的种类越来越多,例如vr设备、个人计算机、平板电脑或智能手机等等。由于不同类型的电子设备可能运行不同的操作系统、采用不同的编程语言编写交互指令,因此,对于提供某些服务的服务方来说,服务方通常需要针对不同类型的电子设备,开发不同的应用程序。
例如,以提供股票k线图的服务方为例,智能手机、个人计算和vr设备都可以访问服务方所提供的网站站点或者是安装服务方所提供的应用程序,以查阅服务方所提供的股票k线图。在查阅股票k线图的过程中,设备还可以发起左移、右移、缩放或上滑等交互指令,服务方会根据该交互指令对股票k线图进行相应的处理,并将处理后的数据提供给设备进行渲染展示。对于智能手机、个人计算机和vr(virtualreality,虚拟现实)设备所发起的交互指令,服务方需要针对不同设备开发不同的交互处理模块,以实现对不同设备的交互指令的检测和识别。由此可见,相关技术中的交互处理方式需要服务方投入较多的开发资源和成本。
技术实现要素:
为克服相关技术中存在的问题,本申请提供了交互处理方法及装置。
根据本申请实施例的第一方面,提供一种交互处理方法,所述方法针对每种设备类型,分别配置对应于该设备类型的指令处理规则;所述方法包括:
检测需展示交互数据的电子设备的设备类型;
获取与所述检测到的设备类型对应的指令处理规则;
根据所述指令处理规则获取所述电子设备发起的设备交互指令,并将所述设备交互指令转换为对应的统一交互指令;
调用与所述转换得到的统一交互指令对应的交互处理方式对所述交互数据进行处理,将处理后的交互数据提供给所述电子设备进行展示。
在一个可选的实现方式中,所述检测需展示交互对象的电子设备的设备类型,包括:
向所述电子设备发起设备类型询问请求;
接收所述电子设备根据所述询问请求反馈的设备类型描述信息,根据所述设备类型描述信息确定所述设备类型。
在一个可选的实现方式中,所述指令处理规则包括用于获取所述电子设备发起的设备交互指令的指令获取规则,以及用于将所述设备交互指令转换为对应的统一交互指令的指令集转换规则。
在一个可选的实现方式中,所述指令处理规则预先通过如下方式进行配置:
接收开发侧设备发送的设备类型、设备交互指令和统一交互指令三者的对应关系,根据所述对应关系配置所述指令处理规则。
在一个可选的实现方式中,所述统一交互指令的编码方式为:所述不同设备类型中的其中一种对设备交互指令的编码方式。
根据本申请实施例的第二方面,提供一种交互处理装置,所述装置针对每种设备类型,分别配置对应于该设备类型的指令处理规则;所述装置包括:
类型检测模块,用于:检测需展示交互数据的电子设备的设备类型;
规则获取模块,用于:获取与所述检测到的设备类型对应的指令处理规则;
指令转换模块,用于:根据所述指令处理规则获取所述电子设备发起的设备交互指令,并将所述设备交互指令转换为对应的统一交互指令;
交互处理模块,用于:调用与所述转换得到的统一交互指令对应的交互处理方式对所述交互数据进行处理,将处理后的交互数据提供给所述电子设备进行展示。
在一个可选的实现方式中,所述类型检测模块,还用于:
向所述电子设备发起设备类型询问请求;
接收所述电子设备根据所述询问请求反馈的设备类型描述信息,根据所述设备类型描述信息确定所述设备类型。
在一个可选的实现方式中,所述指令处理规则包括用于获取所述电子设备发起的设备交互指令的指令获取规则,以及用于将所述设备交互指令转换为对应的统一交互指令的指令集转换规则。
在一个可选的实现方式中,所述指令处理规则预先通过如下方式进行配置:
接收开发侧设备发送的设备类型、设备交互指令和统一交互指令三者的对应关系,根据所述对应关系配置所述指令处理规则。
在一个可选的实现方式中,所述统一交互指令的编码方式为:所述不同设备类型中的其中一种对设备交互指令的编码方式。
根据本申请实施例的第三方面,提供一种交互处理装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:
检测需展示交互数据的电子设备的设备类型;
获取与所述检测到的设备类型对应的指令处理规则;
根据所述指令处理规则获取所述电子设备发起的设备交互指令,并将所述设备交互指令转换为对应的统一交互指令;
调用与所述转换得到的统一交互指令对应的交互处理方式对所述交互数据进行处理,将处理后的交互数据提供给所述电子设备进行展示。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请实施例中,针对每种设备类型,分别配置对应于该设备类型的指令处理规则,因此能够针对不同类型的电子设备,将不同电子设备的设备交互指令转换为统一交互指令,由于预先配置有对应于该统一交互指令的交互处理方式,因此可以对所述交互数据进行处理,将处理后的交互数据提供给所述电子设备进行展示。本申请实施例中可以根据不同的终端设备和支持能力,达到相同的交互效果;对于开发人员来说,不需要针对不同设备开发不同的交互模块,因此能显著减少开发资源和成本,提高开发效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1a是本申请根据一示例性实施例示出的一种交互处理的场景示意图。
图1b是本申请根据一示例性实施例示出的一种交互处理方法的流程图。
图1c是本申请根据一示例性实施例示出的一种电子设备所展示的交互页面的示意图。
图1d是本申请根据一示例性实施例示出的一种设备交互指令和统一交互指令的处理示意图。
图2a是根据一示例性实施例示出的一种交互处理方法的应用场景图。
图2b是本申请根据一示例性实施例示出的架构示意图。
图2c是根据一示例性实施例示出的三种电子设备进行交互处理的示意图。
图2d是根据一示例性实施例示出的另一种交互处理方法的流程图。
图3是本申请根据一示例性实施例示出的交互处理装置所在电子设备的一种硬件结构图。
图4是本申请根据一示例性实施例示出的一种交互处理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
随着互联网技术和电子设备技术的快速发展,电子设备的种类越来越多,例如vr设备、个人计算机、平板电脑或智能手机等等。由于不同类型的电子设备可能运行不同的操作系统、采用不同的编程语言编写交互指令,因此,对于提供某些服务的服务方来说,服务方通常需要针对不同类型的电子设备,开发不同的应用程序。
相关技术中,很多服务都会涉及交互处理,作为一个例子,金融图表的服务方,可以向用户提供查看股票k线图等服务,电子设备在展示股票k线图时,用户可能需要对所展示的图表进行上滑、下滑或缩放等交互操作,电子设备可以根据用户的交互操作,获取交互处理后的图表数据并展示新的图表。在其他例子中,提供地图服务的服务方,可以提供查阅地图等服务,电子设备展示地图时,用户可能需要对所展示的地图进行上滑、下滑或缩放等交互操作,电子设备可以根据用户的交互操作,获取交互处理后的地图数据并展示新的地图。
对于服务方来说,服务方通常需要针对不同类型的电子设备,开发不同的应用程序,需要服务方投入较多的开发资源和成本。本申请实施例提供了一种交互处理方案,可以减少服务方的开发成本和开发资源,提高交互系统的开发效率。接下来对本申请实施例进行详细说明。
如图1a所示,是本申请根据一示例性实施例示出的一种交互处理的场景示意图,图1a中包括服务方,以及四个不同类型的电子设备,用户可以使用电子设备将服务方所提供的应用程序安装于电子设备中。
如图1b所示,图1b是本申请根据一示例性实施例示出的一种交互处理方法的流程图,该方法针对每种设备类型,分别配置对应于该设备类型的指令处理规则,该方法可以包括以下步骤101至104:
在步骤101中,检测需展示交互数据的电子设备的设备类型。
在步骤102中,获取与所述检测到的设备类型对应的指令处理规则。
在步骤103中,根据所述指令处理规则获取所述电子设备发起的设备交互指令,并将所述设备交互指令转换为对应的统一交互指令。
在步骤104中,调用与所述转换得到的统一交互指令对应的交互处理方式对所述交互数据进行处理,将处理后的交互数据提供给所述电子设备进行展示。
本实施例中,考虑到交互处理过程中,虽然是面向不同的设备,但不同设备下,用户所需要达到的交互操作目标是一致的。例如,如图1c所示,是一种电子设备所展示的交互页面的示意图,由于该交互页面的数据较多,电子设备只展示了部分数据,图表右侧数据在设备屏幕中未展示。假设用户需要查阅图表右侧数据,若电子设备是支持触摸功能的设备,用户可以是在触摸屏上向左滑动,电子设备检测到向左滑动的事件,确定需要展示图表右侧数据;若电子设备是个人计算机,用户可以是通过鼠标在页面上向左拖动、通过鼠标在页面上显示的滑动控件进行操作或者是通过键盘上的方向键向左移动等等,个人计算机检测到上述的其中一种事件,确定需要展示图表右侧数据;若电子设备是vr设备,用户可以是头部向右转动,vr设备检测到该事件,确定需要展示图表右侧数据。
基于上述分析可以确定对于同一交互数据,虽然是采用不同的电子设备,但用户所期望达到的交互操作目的是一致的。因此,针对相同交互数据的处理目标,本实施例中预先配置有统一交互指令,并针对统一交互指令,设定针对不同设备类型的指令处理规则,并配置有对应的交互处理方式。
举例来说,如图1d所示,示出了设备交互指令和统一交互指令的处理示意图,图1d中示出了四种电子设备所发起的代表左滑的交互指令,根据每种类型对应的指令处理规则,可以利用对应的指令处理规则之后为相同的统一交互指令,而该统一交互指令预先配置有对应的交互处理方式,因此可以调用该交互处理方式对交互数据进行处理。
其中,设备类型用于区分支持不同交互触发方式的设备,设备类型可以包括:支持重力感应功能的电子设备、vr设备、个人计算机、支持手势识别功能的电子设备等等,实际应用中可以根据需要灵活配置,本实施例对此不作限定。区分设备类型的目的,是由于不同类型的电子设备可能运行不同的操作系统、采用不同的编程语言对交互指令进行编码,因此预先针对不同设备类型,配置对应的指令处理规则,以调用相应的指令处理规则对电子设备发起设备交互指令进行处理。
当应用程序安装于电子设备中并启动后,可以先进行设备类型的检测。例如,可以依次检测设备是否为vr设备、是否为支持重力感应功能的设备、是否为支持手势识别功能的设备以及是否为接入鼠标的设备等等方式。在某些例子中,某些应用程序可能具有权限,能够直接读取电子设备的相关设备信息,例如mac地址、设备名称或设备型号等,从而确定电子设备的设备类型。在另一些例子中,电子设备的操作系统开放有设备信息读取接口,因此所述检测需展示交互对象的电子设备的设备类型,还包括:
向所述电子设备发起设备类型询问请求。
接收所述电子设备根据所述询问请求反馈的设备类型描述信息,根据所述设备类型描述信息确定所述设备类型。
本实施例中,可以通过电子设备所开放的接口,向电子设备发起设备类型询问请求,电子设备根据应用程序的请求,向应用程序发送设备类型描述信息,应用程序接收设备类型描述信息,根据所述设备类型描述信息确定所述设备类型,其中,设备类型描述信息可以是设备类型信息、mac地址、设备名称或设备型号等等。
在确定电子设备的设备类型后,即可调用与设备类型对应的指令处理规则,以获取电子设备所发起的设备交互指令,并转换为统一交互指令。其中,对于如何获取电子设备的设备交互指令,在某些例子中,可以由电子设备的操作系统捕获用户发起的交互操作,而操作系统开放有交互指令的相关接口,电子设备中的应用程序可以通过该开放的接口获取设备交互指令。具体的,如何通过接口获取设备交互指令,可以根据不同的操作系统的要求而灵活配置。
其中,统一交互指令根据实际的交互需要而设置一个或多个指令及各指令的组合,例如统一交互指令可以包括点击、长按、左滑、右滑、上滑、下滑、缩放或旋转中的一种或多种组合。具体的,统一交互指令的编码方式,实际应用中可以灵活配置,例如可以采用数字、字符或字符串等进行标识,例如,将代表点击的统一交互指令定义为abc,将代表长按的统一交互指令定义为xyz等等,本实施例对此不作限定。
为了减少开发成本,提高开发效率,在一个可选的实现方式中,所述统一交互指令的编码方式为:所述不同设备类型中的其中一种对设备交互指令的编码方式。本实施例中,由于每种设备类型针对设备交互指令已配置有对应的编码方式,因此可以选择其中一种作为统一交互指令的编码方式。举例来说,假设有四种设备类型,可以获取这四种设备类型针对设备交互指令的编码方式,并选择其中一种作为统一交互指令的编码方式,也即是其中一种设备类型的设备交互指令作为统一交互指令,因此可以减少开发成本,并且被选中的该种设备类型的设备交互指令可以不进行指令转换,从而显著提高交互处理效率。
由前述分析可知,不同操作系统的设备交互指令的获取方式可能不同,所述指令处理规则可用于获取设备交互指令,以及进行统一交互指令的转换。在某些例子中,有可能存在设备类型不同,但电子设备都运行于同一操作系统,对于相同的操作系统,设备交互指令的获取接口可能相同,但由于设备类型不同,可能支持不同的触发方式,例如,支持重力传感器的设备和支持手势事件的设备,上述设备都可能运行android操作系统,虽然是两种不同类型的设备,针对此种情况,所述指令处理规则包括用于获取所述电子设备发起的设备交互指令的指令获取规则,以及用于将所述设备交互指令转换为对应的统一交互指令的指令集转换规则。
本实施例中,开发人员可以根据需要灵活配置指令集转换规则,在一个可选的实现方式中,所述指令集转换规则预先通过如下方式进行配置:
接收开发侧设备发送的设备类型、设备交互指令和统一交互指令的对应关系,根据所述对应关系配置所述指令处理规则。
本实施例中,还可以向开发人员提供指令扩展功能,开发人员可以根据需要扩展统一交互指令。具体的,开发人员可以根据需要配置设备类型、设备交互指令和统一交互指令的对应关系,从而可以根据该对应关系预先配置所述指令处理规则。
由于配置了统一交互指令,因此开发人员在进行交互处理的开发时,可以无需考虑不同设备间的适配问题,因此能够显著地减少开发成本,提高工作量。实际应用中,可以针对图1b所示中的步骤101至103开发一统一交互指令sdk,并将该sdk(可以理解为一个独立的模块)提供给进行交互处理(对应步骤104)的开发人员。另外,针对采用如webview组件等可内嵌于多种不同设备的交互组件,则开发效率更能得到显著提高。举例来说,统一交互指令的处理可以作为一独立的sdk,该sdk可以基于webview(浏览器内核)技术,因此,通过上述处理,对于交互处理的过程,开发人员可以根据统一交互指令,只开发统一的模块,该统一的模块可以适用于不同的电子设备的交互处理过程;从个人计算机,到智能终端设备(如android,ios),到vr设备,对应的系统里都会内嵌webview组件,因此基于webview进行开发(包括内嵌webview内核的native应用或者直接基于浏览器的web应用),几乎适用于所有的终端设备。因此,开发人员可以基于webveiw,利用web开发技术(javascript,html,css等),通过引入本实施例提供的sdk,只开发一套应用程序,就可以在各种终端上部署,并且达到统一的交互处理效果。利用本实施例的方案,可以达到一套代码,多端部署,且自动适配支持多种设备的交互方式,达到同样的交互效果,并且可降低开发成本,可复用度较高。
接下来再通过一实施例对本申请实施例的交互处理方案进行详细说明。本实施例中,服务方可以为图表服务方,可以为用户提供可视化、可交互的图表数据。对于图表数据来说,用户通常对图表数据的操作通常有:左右滑动、上下滑动或缩放等。从个人计算机、智能手机、平板电脑或vr设备,本实施例可以针对终端的不同交互操作,基于web技术(如webview、webvrapi)来实现统一的图表交互,从而实现上述用户想要达到的操作效果。
如图2a所示,是根据一示例性实施例示出的一种交互处理方法的应用场景图,图2a中包括服务提供方的两组开发人员,开发人员a组负责交互指令的开发,开发人员b组负责交互处理的开发。
开发人员a组可以预先确定设备类型,并针对不同设备类型配置用于获取所述电子设备发起的设备交互指令的指令获取规则,以及用于将所述设备交互指令转换为对应的统一交互指令的指令集转换规则。
其中,统一交互指令中包括有基本的点击、长按、左滑、右滑、上滑、下滑、缩放或旋转中的一种或多种组合。若开发人员b组有更多需求,开发人员b组可以向开发人员a组提交指令需求,具体可以是设备类型、设备交互指令和统一交互指令三者的对应关系,开发人员a组根据开发人员b组的需求,进一步配置指令处理规则。
开发人员a组向开发人员b组提供统一交互指令sdk,应用开发人员可以直接利用sdk进行开发,也可以通过sdk的扩展模块扩展自定义的指令集。sdk的接入方式可以是在webview中直接引入在线资源(通过javascript文件的方式下发)的方式接入,也可以在应用打包发布阶段,作为离线资源直接打包到应用中发布。因此,该sdk支持的应用范围涵盖了基于具体操作系统的native应用,也能够支持基于浏览器的在线web应用等等,其适用范围非常广。
对于开发人员b组来说,其不需考虑不同设备的适配问题,只需要针对统一交互指令,配置其所需的交互处理方式。开发人员a组和开发人员b组的开发成果分别作为应用程序的子模块,在实际应用中,服务方可以根据需要,开发更多其他功能的子模块。最终,服务方的应用程序,可提供给不同的用户,安装于不同的电子设备中。该应用程序中包括有开发人员a组和开发人员b组开发的模块,如图2b所示,是本申请根据一示例性实施例示出的应用程序的架构示意图,图2c是根据一示例性实施例示出的三种电子设备进行交互处理的示意图,图2c中包括个人计算机、vr设备和智能手机,不同电子设备可执行如图1b或2d所示实施例中的方法,从而达到一套代码,多端部署,且自动适配支持多种设备的交互方式,达到同样的交互效果,并且可降低开发成本,可复用度较高。
具体的,结合图2b和图2d所示,当电子设备启动后,交互处理过程如下:
终端检测:检测是否是vr设备、支持重力传感器的终端设备、支持手势事件的终端设备或鼠标设备等。
指令接收模块:根据不同的设备类型,预先准备有vr指令接收模块、重力感应指令接收模块、手势事件指令接收模块或鼠标操作指令接收模块等;根据终端设备的类型,加载对应的指令接收模块。
统一指令集:根据不同的设备类型,预先准备统一交互指令集。
指令转义模块:根据前述加载的指令接收模块,将接收的指令转换为统一交互指令。
图表系统:接收统一交互指令,根据统一交互指令,进行图标组件绘制,输出在电子设备上供用户查阅。
与前述交互处理方法的实施例相对应,本申请还提供了交互处理装置及其所应用的电子设备的实施例。
本申请交互处理装置的实施例可以应用在电子设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在交互处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本申请交互处理装置所在电子设备的一种硬件结构图,除了图3所示的处理器310、内存330、网络接口320、以及非易失性存储器340之外,实施例中装置331所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
如图4所示,图4是本申请根据一示例性实施例示出的一种交互处理装置的框图,所述装置针对每种设备类型,分别配置对应于该设备类型的指令处理规则;所述装置包括:
类型检测模块41,用于:检测需展示交互数据的电子设备的设备类型。
规则获取模块42,用于:获取与所述检测到的设备类型对应的指令处理规则。
指令转换模块43,用于:根据所述指令处理规则获取所述电子设备发起的设备交互指令,并将所述设备交互指令转换为对应的统一交互指令。
交互处理模块44,用于:调用与所述转换得到的统一交互指令对应的交互处理方式对所述交互数据进行处理,将处理后的交互数据提供给所述电子设备进行展示。
在一个可选的实现方式中,所述类型检测模块41,还用于:
向所述电子设备发起设备类型询问请求;
接收所述电子设备根据所述询问请求反馈的设备类型描述信息,根据所述设备类型描述信息确定所述设备类型。
在一个可选的实现方式中,所述指令处理规则包括用于获取所述电子设备发起的设备交互指令的指令获取规则,以及用于将所述设备交互指令转换为对应的统一交互指令的指令集转换规则。
在一个可选的实现方式中,所述指令处理规则预先通过如下方式进行配置:
接收开发侧设备发送的设备类型、设备交互指令和统一交互指令的对应关系,根据所述对应关系配置所述指令处理规则。
在一个可选的实现方式中,所述统一交互指令的编码方式为:所述不同设备类型中的其中一种对设备交互指令的编码方式。
相应的,本申请还提供一种交互处理装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:
检测需展示交互数据的电子设备的设备类型;
获取与所述检测到的设备类型对应的指令处理规则;
根据所述指令处理规则获取所述电子设备发起的设备交互指令,并将所述设备交互指令转换为对应的统一交互指令;
调用与所述转换得到的统一交互指令对应的交互处理方式对所述交互数据进行处理,将处理后的交互数据提供给所述电子设备进行展示。
上述交互处理装置中各个模块的功能和作用的实现过程具体详见上述交互处理方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。