发明内容
为解决上述技术问题,本发明提供一种动态图片显示方法、装置及设备,能节省流量和减少设备性能消耗,提高用户体验。
根据本发明的一个方面,提供一种动态图片显示方法,包括:
根据显示参数获取待显示动态图片的类型;
根据所述待显示动态图片的类型选择视图组件;
通过所述选择的视图组件加载所述待显示动态图片并播放。
优选的,所述根据显示参数获取待显示动态图片的类型,包括:
从接收的显示参数中获取待显示动态图片的类型参数;
根据所述类型参数确定待显示动态图片的类型。
优选的,所述根据所述待显示动态图片的类型选择视图组件,包括:
在所述待显示动态图片的类型分别为Lottie、高级视频图形阵列SVGA或视频的情况下,分别对应选择Lottie组件、SVGA组件或视频组件。
优选的,所述通过所述选择的视图组件加载所述待显示动态图片并播放,包括:
从接收的显示参数中获取待显示动态图片的统一资源定位符;
将所述选择的视图组件进行实例化,并根据所述统一资源定位符加载所述待显示动态图片并播放。
优选的,所述方法还包括:
在获取到点击显示的动态图片的区域或相邻的推荐文字区域时,进入关联的业务界面。
根据本发明的另一个方面,提供一种动态图片显示方法,包括:
向服务器请求优先下发非视频类型的动态图片;
接收所述服务器根据所述请求发送的非视频类型的动态图片显示参数;
根据所述接收的显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
优选的,其中所述请求包括:优先下发Lottie类型的动态图片的显示参数;或,
在所述Lottie类型无法实现目标特性的情况下,下发SVGA类型的动态图片的显示参数;或,
在所述SVGA类型无法实现目标特性的情况下,下发视频类型的动态图片的显示参数。
根据本发明的另一个方面,提供一种动态图片显示方法,包括:
获取根据预置策略输入的动态图片,其中所述预置策略包括根据目标特性优先输入非视频类型的动态图片;
根据所述输入的动态图片的类型生成显示参数并下发给客户端,使得所述客户端根据显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
优选的,所述预置策略包括根据目标特性优先输入非视频类型的动态图片,包括:
所述预置策略包括根据目标特性优先选择输入Lottie类型的动态图片;或,
在所述Lottie类型无法实现目标特性的情况下,选择输入SVGA类型的动态图片;或,
在所述SVGA类型无法实现目标特性的情况下,选择输入视频类型的动态图片。
优选的,所述根据所述输入的动态图片的类型生成显示参数并下发给客户端,包括:
根据所述输入的动态图片的类型生成包含动态图片的类型和统一资源定位符的显示参数,并下发给客户端。
根据本发明的另一个方面,提供一种动态图片显示方法,包括:
获取输入的动态图片并生成所述动态图片的显示参数,其中所述动态图片包括视频类型或非视频类型;
根据预置策略选择向客户端发送所述动态图片的显示参数,其中所述预置策略包括根据目标特性优先发送非视频类型的动态图片的显示参数,使得所述客户端根据显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
优选的,所述预置策略包括根据目标特性优先发送非视频类型的动态图片的显示参数,包括:
所述预置策略包括根据目标特性优先发送Lottie类型的动态图片的显示参数;或,
在所述Lottie类型无法实现目标特性的情况下,选择发送SVGA类型的动态图片的显示参数;或,
在所述SVGA类型无法实现目标特性的情况下,选择发送视频类型的动态图片的显示参数。
根据本发明的另一个方面,提供一种动态图片显示装置,包括:
类型获取模块,用于根据显示参数获取待显示动态图片的类型;
组件选择模块,用于根据所述类型获取模块获取的待显示动态图片的类型选择视图组件;
显示播放模块,用于通过所述组件选择模块选择的视图组件加载所述待显示动态图片并播放。
优选的,所述类型获取模块从接收的显示参数中获取待显示动态图片的类型参数,根据所述类型参数确定待显示动态图片的类型;或,
所述显示播放模块从接收的显示参数中获取待显示动态图片的统一资源定位符,将所述选择的视图组件进行实例化,并根据所述统一资源定位符加载所述待显示动态图片并播放。
优选的,所述组件选择模块包括:
第一选择子模块,用于在所述待显示动态图片的类型为Lottie、的情况下,对应选择Lottie组件;或,
第二选择子模块,用于在所述待显示动态图片的类型为SVGA的情况下,对应选择SVGA组件;或,
第三选择子模块,用于在所述待显示动态图片的类型为视频的情况下,对应选择视频组件。
根据本发明的另一个方面,提供一种动态图片显示装置,包括:
请求模块,用于向服务器请求优先下发非视频类型的动态图片;
接收模块,用于接收所述服务器根据所述请求模块的请求发送的非视频类型的动态图片显示参数;
处理模块,用于根据所述接收模块接收的显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
根据本发明的另一个方面,提供一种动态图片显示装置,包括:
图片获取模块,用于获取根据预置策略输入的动态图片,其中所述预置策略包括根据目标特性优先输入非视频类型的动态图片;
参数处理模块,用于根据所述图片获取模块获取的动态图片的类型生成显示参数并下发给客户端,使得所述客户端根据显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
根据本发明的另一个方面,提供一种动态图片显示装置,包括:
处理模块,用于获取输入的动态图片并生成所述动态图片的显示参数,其中所述动态图片包括视频类型或非视频类型;
发送模块,用于根据预置策略选择向客户端发送所述处理模块生成的动态图片的显示参数,其中所述预置策略包括根据目标特性优先发送非视频类型的动态图片的显示参数,使得所述客户端根据显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
根据本发明的另一个方面,提供一种客户端设备:
所述客户端设备包括:
处理器,根据显示参数获取待显示动态图片的类型,根据所述待显示动态图片的类型选择视图组件,通过所述选择的视图组件加载所述待显示动态图片并播放;
存储器,存储所述显示参数和所述视图组件;或者,
所述客户端设备包括:
处理器,向服务器请求优先下发非视频类型的动态图片,接收所述服务器根据所述请求发送的非视频类型的动态图片显示参数,根据所述接收的显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放;
存储器,存储所述显示参数和所述视图组件。
根据本发明的另一个方面,提供一种服务器设备:
所述服务器设备包括:
处理器,用于获取根据预置策略输入的动态图片,其中所述预置策略包括根据目标特性优先输入非视频类型的动态图片,根据所述输入的动态图片的类型生成显示参数并下发给客户端,使得所述客户端根据显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放;
存储器,存储所述输入的动态图片和所述处理器生成的显示参数;或者,
所述服务器设备包括:
处理器,获取输入的动态图片并生成所述动态图片的显示参数,其中所述动态图片包括视频类型或非视频类型,根据预置策略选择向客户端发送所述动态图片的显示参数,其中所述预置策略包括根据目标特性优先发送非视频类型的动态图片的显示参数,使得所述客户端根据显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放;
存储器,存储所述输入的动态图片和所述处理器生成的显示参数。
可以发现,本发明实施例的技术方案,在客户端可以根据待显示动态图片的类型来选择视图组件,并通过选择的视图组件加载待显示动态图片并播放,这样就可以在客户端实现加载非视频类型的动态图片来显示,例如加载Lottie、SVGA等非视频类型的动态图片,因为非视频类型的动态图片耗费流量比视频少,所以能达到节省流量和减少设备性能消耗,提高用户体验的目的。
进一步的,客户端在获取待显示动态图片的类型之前,还可以向服务器请求优先下发非视频类型的动态图片的显示参数,其中所述请求包括:优先下发Lottie类型的动态图片的显示参数;或,在所述Lottie类型无法实现目标特性的情况下,下发高级视频图形阵列SVGA类型的动态图片的显示参数;或,在所述SVGA类型无法实现目标特性的情况下,下发视频类型的动态图片的显示参数。
本发明实施例的技术方案,可以由客户端向服务器请求优先下发非视频类型的动态图片,这样在接收所述服务器根据所述请求发送的非视频类型的动态图片显示参数后,就可以根据所述接收的显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。因为请求的是非视频类型的动态图片,而非视频类型的动态图片耗费流量比视频少,所以能达到节省流量和减少设备性能消耗,提高用户体验的目的。
进一步的,客户端发送的所述请求可以包括:优先下发Lottie类型的动态图片的显示参数;或,在所述Lottie类型无法实现目标特性的情况下,下发SVGA类型的动态图片的显示参数;或,在所述SVGA类型无法实现目标特性的情况下,下发视频类型的动态图片的显示参数。
本发明实施例的技术方案,可以在服务器端获取根据预置策略输入的动态图片,其中所述预置策略包括根据目标特性优先输入非视频类型的动态图片,根据所述输入的动态图片的类型生成显示参数并下发给客户端播放时使用。因为服务器端优先输入的是非视频类型的动态图片,而非视频类型的动态图片耗费流量比视频少,所以能达到节省流量和减少设备性能消耗,提高用户体验的目的。
进一步的,服务器端的预置策略可以包括根据目标特性优先选择输入Lottie类型的动态图片;或,在所述Lottie类型无法实现目标特性的情况下,选择输入SVGA类型的动态图片;或,在所述SVGA类型无法实现目标特性的情况下,选择输入视频类型的动态图片。
本发明实施例的技术方案,可以在服务器端获取输入的动态图片并生成所述动态图片的显示参数,根据预置策略选择向客户端发送所述动态图片的显示参数供播放时使用,其中所述预置策略包括根据目标特性优先发送非视频类型的动态图片的显示参数。因为服务器端优先向客户端发送的是非视频类型的动态图片,而非视频类型的动态图片耗费流量比视频少,所以能达到节省流量和减少设备性能消耗,提高用户体验的目的。
进一步的,服务器端的预置策略可以包括根据目标特性优先发送Lottie类型的动态图片的显示参数;或,在所述Lottie类型无法实现目标特性的情况下,选择发送SVGA类型的动态图片的显示参数;或,在所述SVGA类型无法实现目标特性的情况下,选择发送视频类型的动态图片的显示参数。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本发明提供一种动态图片显示方法,能节省流量和减少设备性能消耗,提高用户体验。
本发明方法主要是优先选择非视频类型动态图片播放,例如优先选择Lottie和SVGA(Super Video Graphics Array,高级视频图形阵列)这两套不同的矢量动画方案中的一个方案播放,能使用户得到最优的体验。其中,Lottie是支持Android(安卓)、iOS(苹果公司开发的移动操作系统)和React Native(一种开源的跨平台移动应用开发框架),并且只需简单的代码就可以实现复杂动画效果的库。SVGA是SVG(Scalable Vector Graphics,可缩放矢量图形)动画的一种文件格式,而SVG是可缩放矢量图形,是基于可扩展标记语言(标准通用标记语言的子集)用于描述二维矢量图形的一种图形格式。
以下结合附图详细描述本发明实施例的技术方案。
图1是根据本发明的一个实施例的一种动态图片显示方法的示意性流程图。
该方法可以应用于动态图片显示装置中,该动态图片显示装置可以位于客户端。
参照图1,所述方法包括:
在步骤101中,根据显示参数获取待显示动态图片的类型。
其中,可以从接收的显示参数中获取待显示动态图片的类型参数,根据所述类型参数确定待显示动态图片的类型。
在步骤102中,根据所述待显示动态图片的类型选择视图组件。
其中,可以在所述待显示动态图片的类型分别为Lottie、SVGA或视频的情况下,通过预先嵌入的动态图片组件分别对应选择Lottie组件、SVGA组件或视频组件
在步骤103中,通过所述选择的视图组件加载所述待显示动态图片并播放。
其中,可以从接收的显示参数中获取待显示动态图片的URL(Uniform ResourceLocator,统一资源定位符),将所述选择的视图组件进行实例化,并根据所述统一资源定位符加载所述待显示动态图片并播放。
可以发现,本发明实施例的技术方案,在客户端可以根据待显示动态图片的类型来选择视图组件,并通过选择的视图组件加载待显示动态图片并播放,这样就可以在客户端实现加载非视频类型的动态图片来显示,例如加载Lottie、SVGA等非视频类型的动态图片,因为非视频类型的动态图片耗费流量比视频少,例如Lottie和SVGA属于矢量动画,体积小,流量消耗较少,性能较好,而相关技术中使用视频则体积大,流量消耗较大,CPU和内存消耗较大,所以本发明方法能达到节省流量和减少设备性能消耗,提高用户体验的目的。
图2是根据本发明的一个实施例的一种动态图片显示方法的另一示意性流程图。
该方法可以应用于动态图片显示装置中,该动态图片显示装置可以位于客户端。该实施例中,可以由客户端主动向服务器请求优先下发非视频类型动态图片播放,例如优先下发Lottie和SVGA动态图片,能使用户得到最优的体验。也就是说,客户端可以主动要求服务器按需求提供所需的动态图片。
参照图2,所述方法包括:
在步骤201中,向服务器请求优先下发非视频类型的动态图片。
其中,所述请求可以包括:优先下发Lottie类型的动态图片的显示参数;或,在所述Lottie类型无法实现目标特性的情况下,下发SVGA类型的动态图片的显示参数;或,在所述SVGA类型无法实现目标特性的情况下,下发视频类型的动态图片的显示参数。
在步骤202中,接收所述服务器根据所述请求发送的非视频类型的动态图片显示参数。
其中,服务器发送的动态图片显示参数可以包含动态图片的类型和统一资源定位符。
在步骤203中,根据所述接收的显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
其中,可以从接收的显示参数中获取动态图片的类型参数来确定动态图片的类型,从接收的显示参数中获取待显示动态图片的URL来加载动态图片。
可以发现,本发明实施例的技术方案,可以由客户端向服务器请求优先下发非视频类型的动态图片,这样在接收所述服务器根据所述请求发送的非视频类型的动态图片显示参数后,就可以根据所述接收的显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。因为请求的是非视频类型的动态图片,而非视频类型的动态图片耗费流量比视频少,所以能达到节省流量和减少设备性能消耗,提高用户体验的目的。
图3是根据本发明的一个实施例的一种动态图片显示方法的另一示意性流程图。
该方法可以应用于动态图片显示装置中,相对于图1和图2的动态图片显示装置位于客户端,该实施例的动态图片显示装置位于服务器端。该实施例中,可以由服务器主动要求优先输入非视频类型动态图片播放,例如优先输入Lottie和SVGA动态图片,能使用户得到最优的体验。也就是说,服务器可以要求设计师向服务器输入所需的动态图片,例如可以输入三种类型的动态图片,或优先输入Lottie和SVGA两种类型动态图片。
参照图3,所述方法包括:
在步骤301中,获取根据预置策略输入的动态图片,其中所述预置策略包括根据目标特性优先输入非视频类型的动态图片。
其中,所述预置策略可以包括:
根据目标特性优先选择输入Lottie类型的动态图片;或,
在所述Lottie类型无法实现目标特性的情况下,选择输入SVGA类型的动态图片;或,
在所述SVGA类型无法实现目标特性的情况下,选择输入视频类型的动态图片。
在步骤302中,根据所述输入的动态图片的类型生成显示参数并下发给客户端,使得所述客户端根据显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
其中,可以根据所述输入的动态图片的类型生成包含动态图片的类型和统一资源定位符的显示参数,并下发给客户端。
可以发现,本发明实施例的技术方案,可以在服务器端获取根据预置策略输入的动态图片,其中所述预置策略包括根据目标特性优先输入非视频类型的动态图片,根据所述输入的动态图片的类型生成显示参数并下发给客户端播放时使用。因为服务器端优先输入的是非视频类型的动态图片,而非视频类型的动态图片耗费流量比视频少,所以能达到节省流量和减少设备性能消耗,提高用户体验的目的。
图4是根据本发明的一个实施例的一种动态图片显示方法的另一示意性流程图。
该方法可以应用于动态图片显示装置中,该实施例的动态图片显示装置可以位于服务器端。该实施例中,可以由服务器优先向客户端下发非视频类型动态图片播放,例如优先下发Lottie和SVGA动态图片,能使用户得到最优的体验。也就是说,在服务器可以定制优先选择下发非视频类型动态图片的策略。
参照图4,所述方法包括:
在步骤401中,获取输入的动态图片并生成所述动态图片的显示参数,其中所述动态图片包括视频类型或非视频类型。
其中,可以根据所述输入的动态图片的类型生成包含动态图片的类型和统一资源定位符的显示参数。
在步骤402中,根据预置策略选择向客户端发送所述动态图片的显示参数,其中所述预置策略包括根据目标特性优先发送非视频类型的动态图片的显示参数,使得所述客户端根据显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
其中,所述预置策略可以包括:
根据目标特性优先发送Lottie类型的动态图片的显示参数;或,
在所述Lottie类型无法实现目标特性的情况下,选择发送SVGA类型的动态图片的显示参数;或,
在所述SVGA类型无法实现目标特性的情况下,选择发送视频类型的动态图片的显示参数。
可以发现,本发明实施例的技术方案,可以在服务器端获取输入的动态图片并生成所述动态图片的显示参数,根据预置策略选择向客户端发送所述动态图片的显示参数供播放时使用,其中所述预置策略包括根据目标特性优先发送非视频类型的动态图片的显示参数。因为服务器端优先向客户端发送的是非视频类型的动态图片,而非视频类型的动态图片耗费流量比视频少,所以能达到节省流量和减少设备性能消耗,提高用户体验的目的。
图5是根据本发明的一个实施例的一种动态图片显示方法的应用例示意性流程图。图5流程中通过客户端与服务器的配合,相对于图1-4更详细描述了本发明的方案。
本发明实施例公开了一种在显示界面的运营内容卡片中嵌套动态图片的实现方案,可以由服务器端下发动态图片相关数据到客户端,客户端根据动态图片的类型采用对应的视图组件加载动态图片并播放动效。其中客户端一般支持的动态图片类型包括:视频、Lottie和SVGA。这三种类型中,视频体积大,流量消耗较大,CPU和内存消耗较大,但能支持的效果最多;Lottie和SVGA属于矢量动画,体积小,流量消耗较少,性能较好,但部分特效的支持度较差。也就是说,在流量消耗和性能上是Lottie最好、SVGA次之、视频最差,在特效支持上是视频最好、SVGA次之、Lottie最差。
一般的,Lottie目前能支持的AE(Adobe After Effects,一款图形视频处理软件)功能包括:形状属性、填充属性、笔画属性、位置属性、二维变换、透明度遮罩、路径蒙版、文本、嵌入位图;Lottie目前不能支持的AE功能包括:三维变换、亮度遮罩、相加减的路径蒙版及蒙版属性调整、图层效果、表达式、AE全部的特效效果器、下发位图;因此Lottie更适合应用于矢量动态的制作。
SVGA能支持的功能包括位图下发,另外其他支持和不支持的AE功能与Lottie基本一致,区别在于SVGA在性能上更适合制作位图+矢量的混合动态,因此能实现的效果比Lottie更多一点。
需说明的是,当遇到其他Lottie或SVGA无法实现的复杂效果,例如火花飞溅,头发飘动等,则需要使用视频格式例如MP4(Moving Picture Experts Group 4,动态图像专家组)格式去实现。
参照图5,所述方法包括:
在步骤501中,服务器获取根据预置策略由设计师输入的动态图片。
其中,预置策略可以包括:根据目标特性优先选择输入Lottie类型的动态图片;或,在所述Lottie类型无法实现目标特性的情况下,选择输入SVGA类型的动态图片;或,在所述SVGA类型无法实现目标特性的情况下,选择输入视频类型的动态图片。
在该步骤中,服务器获取设计师输入的动态图片进行存储。该实施例中的服务器,可以要求设计师输入动态图片文件时,根据期望实现的目标特性,优先选择非视频类型,例如Lottie和SVGA类型,如果特效上不能支持目标特性再选择视频类型,这样后续服务器就能以最优的决策下发动态图片到客户端,使客户端能优先播放Lottie和SVGA类型的动态图片,达到一个最优的体验效果。也就是说,根据服务器的需求,设计师向服务器输入动态图片文件时,根据实际条件优先选择Lottie,如果Lottie不能支持需要的特性,则选择SVGA,如果SVGA也不能支持需要的特性,则选择视频,例如MP4。
在步骤502中,服务器根据输入的动态图片的类型生成显示参数。
该步骤中,运营后台可以配置运营内容卡片数据,而服务器则根据设计师输入的动态图片的文件类型生成相应的URL和类型参数,也即生成显示参数。
例如,服务器对于输入的不同类型的动态图片,可以分别生成如下URL和类型参数:
视频:URL:http://xxx.mp4 类型参数:1
Lottie:URL:http://xxx.json 类型参数:2
SVGA:URL:http://xxx.svg 类型参数:3
需说明的是,其中xxx是例子,上述的类型参数值是以数值举例说明但不局限于此,也可以是其他标识。
在步骤503中,服务器根据客户端的请求下发包含动态图片的显示参数的运营数据。
其中,服务器下发的运营数据可以包括:1)动态图片的显示参数,包括URL和类型参数;2)游戏id(标识)、游戏名称、游戏类型、游戏推荐度、小编推荐导语等内容。
需说明的是,运营数据的下发既可以由用户的客户端主动刷新获取,也可以由服务器每天定时下发一次更新内容。
在步骤504中,客户端根据接收的显示参数选择视图组件,通过选择的视图组件加载动态图片并播放。
本发明实施例中,客户端可以在运营内容卡片内预先嵌入动态图片组件,可以参见图14所示。其中,动态图片组件是一个能够支持视频、Lottie、SVGA这三种文件类型的视图组件。本发明实施例的动态图片组件,包括视频组件、Lottie组件、SVGA组件这三个子组件但不局限于此。
本发明实施例中,客户端收到服务器下发的运营数据后,获取其中的动态图片的显示参数,将动态图片的URL和类型参数通过端内传输方式传递给客户端内的动态图片组件,例如可以转换为端的数据结构后传递给动态图片组件。动态图片组件根据显示参数中的类型参数确定动态图片的类型,根据动态图片的类型选择视图组件,然后实例化相应的视图组件。
如果动态图片的类型是视频,则实例化视频组件,使用视频片URL加载视频并播放视频;如果动态图片的类型是Lottie,则实例化Lottie组件,使用对应图片的URL加载json(JavaScript Object Notation,JS对象标记)格式的Lottie文件并播放动画,同时缓存到本地;如果动态图片的类型是SVGA,则实例化SVGA组件,使用对应图片的URL加载SVGA文件并播放动画,同时缓存到本地。
举例说明,如果动态图片组件判断出类型参数可以进行如下处理:
类型参数为1,将视频组件实例化并将动态图片URL传给视频组件加载视频;
类型参数为2,将Lottie组件实例化并将动态图片URL传给Lottie组件加载Lottie;
类型参数为3,将SVGA组件实例化并将动态图片URL传给SVGA组件加载SVGA。
需说明的是,视频、Lottie、SVGA组件三个实例化逻辑可以包装在动态图片组件里,动态图片组件相当于一个代理容器,管理三种文件的加载和缓存。视频、Lottie、SVGA组件的实例化处理可以采用现有相关技术实现,本发明不加以限定。
还需说明的是,本发明实施例是以服务器设置预置策略,要求设计师根据预置策略优先输入非视频类型动态图片举例说明但不局限于此,也可以是如图2方法由客户端主动向服务器请求优先下发非视频类型动态图片,或者如图4方法由服务器优先向客户端下发非视频类型动态图片。
还需说明的是,如果服务器下发给客户端的是包括多种类型的动态图片的显示参数,客户端也可以优先选择非视频类型的动态图片的显示参数,从而根据其中的URL下载非视频类型的动态图片播放。
参见图14-15,图14是根据本发明的一个实施例的一种动态图片显示界面的示意性图,图15是根据本发明的一个实施例的一种动态图片显示界面的应用例示意图。
图14中,是一个运营内容卡片布局图,显示界面包括上方的动态图片组件区域,下方的运营内容区域,包括运营内容1和运营内容2,需说明的是,上述区域划分只是举例说明。动态图片组件区域的动态图片组件一般可以预先嵌入。
图15的应用例中,动态图片组件区域显示的是矢量动画方案的动态图像而非视频,该图是通过一个Lottie或SVGA类型的动态图片来向用户推荐休闲游戏“英雄联盟”,这与现有相关技术中通过播放视频类型的动态图片并不相同,因为加载Lottie、SVGA等非视频类型的动态图片,即优先选择性能最好的Lottie和SVGA文件代替视频文件,所以耗费流量比视频少,不但可以节省流量,而且还能为用户带来更好的体验。
还需说明的是,本发明实施例的显示界面,与现有传统的点击视频调起播放组件不同,本发明实施例中,如果用户点击动态图片卡片将直接进入业务界面例如直接进入游戏专区,而且无论是点击动态图像位置(英雄联盟处),还是点击下方的小编导语都将直接进入游戏专区。
上述详细介绍了本发明的一种动态图片显示方法,以下介绍本发明对应的动态图片显示装置、设备及系统。
图6是根据本发明的一个实施例的一种动态图片显示装置的示意性方框图。该动态图片显示装置可以位于客户端。
参照图6,一种动态图片显示装置60,包括:类型获取模块61、组件选择模块62、显示播放模块63。
类型获取模块61,用于根据显示参数获取待显示动态图片的类型。
组件选择模块62,用于根据所述类型获取模块61获取的待显示动态图片的类型选择视图组件。
显示播放模块63,用于通过所述组件选择模块62选择的视图组件加载所述待显示动态图片并播放。
其中,所述类型获取模块61可以从接收的显示参数中获取待显示动态图片的类型参数,根据所述类型参数确定待显示动态图片的类型。
其中,所述显示播放模块63可以从接收的显示参数中获取待显示动态图片的统一资源定位符,将所述选择的视图组件进行实例化,并根据所述统一资源定位符加载所述待显示动态图片并播放。
其中,所述组件选择模块62可以包括:第一选择子模块621、第二选择子模块622或第三选择子模块623。第一选择子模块621,用于在所述待显示动态图片的类型为Lottie、的情况下,对应选择Lottie组件;第二选择子模块622,用于在所述待显示动态图片的类型为SVGA的情况下,对应选择SVGA组件;第三选择子模块623,用于在所述待显示动态图片的类型为视频的情况下,对应选择视频组件。
图7是根据本发明的一个实施例的一种动态图片显示装置的另一示意性方框图。该动态图片显示装置可以位于客户端。
参照图7,一种动态图片显示装置70,包括:请求模块71、接收模块72、处理模块73。
请求模块71,用于向服务器请求优先下发非视频类型的动态图片。
其中,所述请求可以包括:优先下发Lottie类型的动态图片的显示参数;或,在所述Lottie类型无法实现目标特性的情况下,下发SVGA类型的动态图片的显示参数;或,在所述SVGA类型无法实现目标特性的情况下,下发视频类型的动态图片的显示参数。
接收模块72,用于接收所述服务器根据所述请求模块71的请求发送的非视频类型的动态图片显示参数。
处理模块73,用于根据所述接收模块72接收的显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
其中,可以从接收的显示参数中获取动态图片的类型参数来确定动态图片的类型,从接收的显示参数中获取待显示动态图片的URL来加载动态图片。
图8是根据本发明的一个实施例的一种动态图片显示装置的另一示意性方框图。该动态图片显示装置可以位于服务器端。
参照图8,一种动态图片显示装置80,包括:图片获取模块81、参数处理模块82。
图片获取模块81,用于获取根据预置策略输入的动态图片,其中所述预置策略包括根据目标特性优先输入非视频类型的动态图片。
其中,所述预置策略可以包括:
根据目标特性优先选择输入Lottie类型的动态图片;或,
在所述Lottie类型无法实现目标特性的情况下,选择输入SVGA类型的动态图片;或,
在所述SVGA类型无法实现目标特性的情况下,选择输入视频类型的动态图片。
参数处理模块82,用于根据所述图片获取模块81获取的动态图片的类型生成显示参数并下发给客户端,使得所述客户端根据显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
其中,可以根据所述输入的动态图片的类型生成包含动态图片的类型和统一资源定位符的显示参数,并下发给客户端。
图9是根据本发明的一个实施例的一种动态图片显示装置的另一示意性方框图。该动态图片显示装置可以位于服务器端。
参照图9,一种动态图片显示装置90,包括:处理模块91、发送模块92。
处理模块91,用于获取输入的动态图片并生成所述动态图片的显示参数,其中所述动态图片包括视频类型或非视频类型。
发送模块92,用于根据预置策略选择向客户端发送所述处理模块91生成的动态图片的显示参数,其中所述预置策略包括根据目标特性优先发送非视频类型的动态图片的显示参数,使得所述客户端根据显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
其中,所述预置策略可以包括:
根据目标特性优先发送Lottie类型的动态图片的显示参数;或,
在所述Lottie类型无法实现目标特性的情况下,选择发送SVGA类型的动态图片的显示参数;或,
在所述SVGA类型无法实现目标特性的情况下,选择发送视频类型的动态图片的显示参数。
图10是根据本发明的一个实施例的一种客户端设备的示意性方框图。
参照图10,一种客户端设备110,包括:处理器111和存储器112。
处理器111,根据显示参数获取待显示动态图片的类型,根据所述待显示动态图片的类型选择视图组件,通过所述选择的视图组件加载所述待显示动态图片并播放;存储器112,存储所述显示参数和所述视图组件。
或者,
处理器111,向服务器请求优先下发非视频类型的动态图片,接收所述服务器根据所述请求发送的非视频类型的动态图片显示参数,根据所述接收的显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放;存储器112,存储所述显示参数和所述视图组件。
图11是根据本发明的一个实施例的一种服务器设备的示意性方框图;
参照图11,一种服务器设备120,包括:处理器121、存储器122。
处理器121,用于获取根据预置策略输入的动态图片,其中所述预置策略包括根据目标特性优先输入非视频类型的动态图片,根据所述输入的动态图片的类型生成显示参数并下发给客户端,使得所述客户端根据显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放;存储器122,存储所述输入的动态图片和所述处理器121生成的显示参数。
或者,
处理器121,获取输入的动态图片并生成所述动态图片的显示参数,其中所述动态图片包括视频类型或非视频类型,根据预置策略选择向客户端发送所述动态图片的显示参数,其中所述预置策略包括根据目标特性优先发送非视频类型的动态图片的显示参数,使得所述客户端根据显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放;存储器122,存储所述输入的动态图片和所述处理器121生成的显示参数。
图12是根据本发明的一个实施例的一种计算机设备的示意性方框图。
参照图12,一种计算机设备130,包括:
处理器131;以及
存储器132,其上存储有可执行代码,当所述可执行代码被所述处理器131执行时,使所述处理器131执行以下所述的方法:
根据显示参数获取待显示动态图片的类型;
根据所述待显示动态图片的类型选择视图组件;
通过所述选择的视图组件加载所述待显示动态图片并播放。
或者,使所述处理器131执行以下所述的方法:
向服务器请求优先下发非视频类型的动态图片;
接收所述服务器根据所述请求发送的非视频类型的动态图片显示参数;
根据所述接收的显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
或者,使所述处理器131执行以下所述的方法:
获取根据预置策略输入的动态图片,其中所述预置策略包括根据目标特性优先输入非视频类型的动态图片;
根据所述输入的动态图片的类型生成显示参数并下发给客户端,使得所述客户端根据显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
或者,使所述处理器131执行以下所述的方法:
获取输入的动态图片并生成所述动态图片的显示参数,其中所述动态图片包括视频类型或非视频类型;
根据预置策略选择向客户端发送所述动态图片的显示参数,其中所述预置策略包括根据目标特性优先发送非视频类型的动态图片的显示参数,使得所述客户端根据显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
图13是根据本发明的一个实施例的一种动态图片显示系统的示意性方框图。
参照图13,一种动态图片显示系统140,包括客户端141、服务器142。
服务器142,向客户端141发送待显示图片的显示参数;客户端141,根据从服务器142接收的显示参数获取待显示动态图片的类型,根据所述待显示动态图片的类型选择视图组件,通过所述选择的视图组件加载所述待显示动态图片并播放。
或者,
客户端141,向服务器142请求优先下发非视频类型的动态图片,接收所述服务器142根据所述请求发送的非视频类型的动态图片显示参数,根据所述接收的显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放;服务器142,根据客户端141的请求优先发送非视频类型的动态图片显示参数。
或者,
服务器142,获取根据预置策略输入的动态图片,其中所述预置策略包括根据目标特性优先输入非视频类型的动态图片,根据所述输入的动态图片的类型生成显示参数并下发给客户端141;客户端141,根据从服务器142接收的显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
或者,
服务器142,获取输入的动态图片并生成所述动态图片的显示参数,其中所述动态图片包括视频类型或非视频类型,根据预置策略选择向客户端141发送所述动态图片的显示参数,其中所述预置策略包括根据目标特性优先发送非视频类型的动态图片的显示参数;客户端141,根据从服务器142接收的显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
本发明实施例还提供一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行以下所述的方法:
根据显示参数获取待显示动态图片的类型;
根据所述待显示动态图片的类型选择视图组件;
通过所述选择的视图组件加载所述待显示动态图片并播放。
或者,执行以下所述的方法:
向服务器请求优先下发非视频类型的动态图片;
接收所述服务器根据所述请求发送的非视频类型的动态图片显示参数;
根据所述接收的显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
或者,执行以下所述的方法:
获取根据预置策略输入的动态图片,其中所述预置策略包括根据目标特性优先输入非视频类型的动态图片;
根据所述输入的动态图片的类型生成显示参数并下发给客户端,使得所述客户端根据显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
或者,执行以下所述的方法:
获取输入的动态图片并生成所述动态图片的显示参数,其中所述动态图片包括视频类型或非视频类型;
根据预置策略选择向客户端发送所述动态图片的显示参数,其中所述预置策略包括根据目标特性优先发送非视频类型的动态图片的显示参数,使得所述客户端根据显示参数获取动态图片的类型,根据所述动态图片的类型选择视图组件,并通过所述选择的视图组件加载所述动态图片并播放。
上文中已经参考附图详细描述了根据本发明的技术方案。
此外,根据本发明的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本发明的上述方法中限定的上述各步骤的计算机程序代码指令。
或者,本发明还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当所述可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使所述处理器执行根据本发明的上述方法的各个步骤。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本发明的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。