CN111949358A - 动态显示的方法、装置、可读介质和电子设备 - Google Patents
动态显示的方法、装置、可读介质和电子设备 Download PDFInfo
- Publication number
- CN111949358A CN111949358A CN202010833846.9A CN202010833846A CN111949358A CN 111949358 A CN111949358 A CN 111949358A CN 202010833846 A CN202010833846 A CN 202010833846A CN 111949358 A CN111949358 A CN 111949358A
- Authority
- CN
- China
- Prior art keywords
- page
- initial application
- target
- floating
- carrier
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 95
- 238000007667 floating Methods 0.000 claims abstract description 153
- 239000013077 target material Substances 0.000 claims abstract description 104
- 239000000463 material Substances 0.000 claims description 53
- 230000003993 interaction Effects 0.000 claims description 31
- 230000001960 triggered effect Effects 0.000 claims description 26
- 238000013507 mapping Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 16
- 230000002452 interceptive effect Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 238000009877 rendering Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 4
- 239000000725 suspension Substances 0.000 abstract description 23
- 238000011161 development Methods 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000969 carrier Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036316 preload Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及一种动态显示的方法、装置、可读介质和电子设备,该方法包括:从资源服务器获取目标资源包,目标资源包中包括:待显示在初始应用页面上的目标素材和目标素材对应的执行逻辑,创建悬浮页面,和与悬浮页面绑定的页面载体,通过页面载体在悬浮页面内加载目标资源包,基于执行逻辑在页面载体上对目标素材进行绘制,以在悬浮页面内显示目标素材,在初始应用页面上方展示悬浮页面和对应的页面载体。本公开从资源服务器中获取目标资源包,并创建绑定了页面载体的悬浮页面,使得悬浮页面独立于初始应用页面,动态显示目标资源包中的目标素材,能够在不影响初始应用页面的前提下,灵活控制悬浮页面的显示,从而提高资源显示的性能和开发效率。
Description
技术领域
本公开涉及电子信息技术领域,具体地,涉及一种动态显示的方法、装置、可读介质和电子设备。
背景技术
随着电子信息技术的不断发展,应用市场上出现了各种各样的应用程序,以满足用户多样化的需求。在应用程序的运营过程中,可能会有很多推广内容,以提高用户的参与度。推广内容的显示通常包括两种方式:一种是在应用程序内嵌入显示推广内容的代码,另一种是以网页的形式来显示推广内容。在应用程序内嵌入代码,需要对应用程序进行新的开发,带来较大的工作量,并且如果存在多个应用程序采用相同推广内容的情况,需要针对不同的应用程序分别进行开发,开发效率低。通过网页来显示的方式,在打开网页的同时,会影响到当前运行的应用程序的正常运行,显示性能较差。
发明内容
提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
第一方面,本公开提供一种动态显示的方法,所述方法包括:
从资源服务器获取目标资源包,所述目标资源包中包括:待显示在初始应用页面上的目标素材和所述目标素材对应的执行逻辑;
创建悬浮页面,和与所述悬浮页面绑定的页面载体;
通过所述页面载体在所述悬浮页面内加载所述目标资源包;
基于所述执行逻辑在所述页面载体上对所述目标素材进行绘制,以在所述悬浮页面内显示所述目标素材;
在所述初始应用页面上方展示所述悬浮页面和对应的所述页面载体。
第二方面,本公开提供一种动态显示的装置,所述装置包括:
获取模块,用于从资源服务器获取目标资源包,所述目标资源包中包括:待显示在初始应用页面上的目标素材和所述目标素材对应的执行逻辑;
创建模块,用于创建悬浮页面,和与所述悬浮页面绑定的页面载体;
加载模块,用于通过所述页面载体在所述悬浮页面内加载所述目标资源包;
绘制模块,用于基于所述执行逻辑在所述页面载体上对所述目标素材进行绘制,以在所述悬浮页面内显示所述目标素材;
展示模块,用于在所述初始应用页面上方展示所述悬浮页面和对应的所述页面载体。
第三方面,本公开提供一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现本公开第一方面所述方法的步骤。
第四方面,本公开提供一种电子设备,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现本公开第一方面所述方法的步骤。
通过上述技术方案,本公开首先从资源服务器中获取包括了待显示在初始应用页面上的目标素材和目标素材对应的执行逻辑的目标资源包,之后创建悬浮页面,和与悬浮页面绑定的页面载体,再通过页面载体在悬浮页面内加载目标资源包,并基于执行逻辑在页面载体上对目标素材进行绘制,使得悬浮页面内显示目标素材,最后在初始应用页面上方展示悬浮页面和对应的页面载体。本公开从资源服务器中获取目标资源包,并创建绑定了页面载体的悬浮页面,使得悬浮页面独立于初始应用页面,动态显示目标资源包中的目标素材,能够在不影响初始应用页面的前提下,灵活控制悬浮页面的显示,从而提高资源显示的性能和开发效率。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。在附图中:
图1是根据一示例性实施例示出的终端设备与服务器的部署示意图;
图2是根据一示例性实施例示出的一种动态显示的方法的流程图;
图3是一种显示界面上初始应用页面和悬浮页面的展示示意图;
图4是根据一示例性实施例示出的另一种动态显示的方法的流程图;
图5是根据一示例性实施例示出的另一种动态显示的方法的流程图;
图6是根据一示例性实施例示出的另一种动态显示的方法的流程图;
图7是根据一示例性实施例示出的另一种动态显示的方法的流程图;
图8是根据一示例性实施例示出的另一种动态显示的方法的流程图;
图9是根据一示例性实施例示出的另一种动态显示的方法的流程图;
图10是根据一示例性实施例示出的另一种动态显示的方法的流程图;
图11是根据一示例性实施例示出的另一种动态显示的方法的流程图;
图12是根据一示例性实施例示出的一种动态显示的装置的框图;
图13是根据一示例性实施例示出的另一种动态显示的装置的框图;
图14是根据一示例性实施例示出的另一种动态显示的装置的框图;
图15是根据一示例性实施例示出的另一种动态显示的装置的框图;
图16是根据一示例性实施例示出的另一种动态显示的装置的框图;
图17是根据一示例性实施例示出的另一种动态显示的装置的框图;
图18是根据一示例性实施例示出的另一种动态显示的装置的框图;
图19是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
在介绍本公开提供的动态显示的方法、装置、可读介质和电子设备之前,首先对本公开各个实施例所涉及的应用场景进行介绍。该应用场景可以包括终端设备和服务器,终端设备和服务器之间可以进行数据传输。服务器可以包括后文所提及的,为悬浮页面提供服务的资源服务器,和为初始应用提供服务的应用服务器,资源服务器与应用服务器之间也可以进行数据传输,如图1所示。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。服务器可以包括但不限于:实体服务器,服务器集群或云端服务器等,资源服务器和应用服务器可以属于同一个服务器,也可以属于不同的服务器。本公开所提供的实施例中,执行主体可以为上述任一终端设备。
图2是根据一示例性实施例示出的一种动态显示的方法的流程图,如图2所示,该方法包括以下步骤:
步骤101,从资源服务器获取目标资源包,目标资源包中包括:待显示在初始应用页面上的目标素材和目标素材对应的执行逻辑。
举例来说,终端设备的显示界面上,当前显示的是初始应用页面,其中,初始应用页面可以理解为终端设备上当前正在运行的初始应用对应的页面,即初始应用页面所展示的内容由初始应用控制。初始应用页面开始在显示界面上显示时,即初始应用在终端设备上启动时,可以向资源服务器发出请求,以从资源服务器获取初始应用页面对应的目标资源包,目标资源包可以是一个,也可以是多个。可以理解为,资源服务器中存储了大量的资源包,目标资源包为适用于初始应用页面的资源包,其中包括了待显示在初始应用页面上的目标素材和目标素材对应的执行逻辑。目标资源包可以是.bundle的文件。目标素材例如可以包括:图片、视频、文本中的至少一种,例如目标素材可以是适用于初始应用页面的推广图片,也可以是适用于初始应用页面的附加视频等,还可以是适用于初始应用页面的宣传文本等,本公开对显示内容不作具体限定。执行逻辑可以为用于控制目标素材显示的,可执行的代码,例如可以是JavaScript(缩写:JS)脚本。
步骤102,创建悬浮页面,和与悬浮页面绑定的页面载体。
示例的,在获取到目标资源包之后,可以创建一个悬浮页面,和与该悬浮页面绑定的页面载体。悬浮页面可以悬浮在初始应用页面的上方,与初始应用的进程互不影响,不会干扰初始应用的进程,即不会干扰初始应用页面内显示的内容。
可以将悬浮页面理解为一个新的应用,但这个新的应用并不需要在终端设备上进行安装,也不需要借助网页(例如:WebView),就能执行目标资源包中的执行逻辑,页面载体可以理解为用于承载悬浮页面中显示内容的载体。通过页面载体对目标资源包中的目标素材进行绘制,从而在悬浮页面内显示目标素材。例如,悬浮页面和页面载体可以基于ReactNative来创建,React Native能够在多种操作***上,使用原生UI(英文:User Interface,中文:用户界面)组件来创建一个移动应用。然后将页面载体与悬浮页面绑定,也可以理解为悬浮页面持有页面载体。
步骤103,通过页面载体在悬浮页面内加载目标资源包。
步骤104,基于执行逻辑在页面载体上对目标素材进行绘制,以在悬浮页面内显示目标素材。
步骤105,在初始应用页面上方展示悬浮页面和对应的页面载体。
示例的,在将页面载体与悬浮页面绑定之后,可以通过页面载体在悬浮页面内加载之前获取的目标资源包,加载过程可以理解为页面载体将目标资源包内的目标素材和执行逻辑读取到内存中。这样,页面载体接可以按照执行逻辑来对目标素材进行绘制,从而在悬浮页面内显示目标素材。最后,可以在初始应用页面上方,展示悬浮页面和对应的页面载体。展示悬浮页面和对应的页面载体的方式,可以理解为在显示界面当前图层的上方,建立一个新图层,在这个新图层上展示悬浮页面和对应的页面载体,其中,当前图层即为初始应用页面所在的图层,也就是说新图层覆盖在初始应用页面所在的图层的上方。悬浮页面指示了新图层中能够展示内容的区域,页面载体用于在悬浮页面所指示的区域内呈现绘制后的目标素材。需要说明的是,悬浮页面可以展示在新图层上的任意位置,例如可以展示在新图层的右下角处,进一步的,用户还可以调节悬浮页面的大小,还可以对悬浮页面进行拖拽,以使悬浮页面显示在新图层上的不同位置。这样,可以在不影响初始应用页面的前提下,使悬浮页面独立于初始应用页面,动态显示目标素材。需要说明的是,当步骤101中获取到了多个目标资源包时,可以创建多个悬浮页面和对应的页面载体,可以通过每个悬浮页面对应的页面载体加载对应的目标资源包,以使该悬浮页面对应的页面载体,按照对应的目标资源包中包括的执行逻辑对其中的目标素材进行绘制,以在该悬浮页面内显示对应的目标资源包中的目标素材。
其中,初始应用可以是任一类型的应用,例如游戏应用、购物应用、旅游应用、视频应用、社交应用、导航应用等,本公开对此不做具体限定。以初始应用为游戏应用来举例,目标资源包的内容可以是个人空间的展示,其中包括了用户拍摄的视频,那如图3所示:悬浮页面内可以显示游戏的用户基本信息和头像,还可以显示用户拍摄的视频(即图3中的视频1、视频2、视频3),还可以显示管理视频的按钮“拍摄视频”、“删除视频”等。初始应用也可以是旅游应用,目标资源包的内容可以是营销活动,比如:A地至B地,双飞6日游,5799元,那么悬浮页面内可以显示A地的图片和B地的图片,并在两幅图片的交界位置显示“A地至B地,双飞6日游,5799元”的字样,还可以显示有“立即参团”的按钮。
相比于现有技术中,在应用内嵌入新的代码来显示内容,开发效率低,并且很难复用于多个应用,进一步的,每次需要更新显示的内容,都需要用户对应用进行更新,操作复杂,降低了用户体验。而本公开中悬浮页面不依赖于初始应用页面,使得悬浮页面能够与初始应用页面解耦,从而使得悬浮页面可以独立开发、更新,并且不需要和初始应用页面进行适配,就可以在各种应用页面上复用,有效提高了开发效率和适用范围。相比于现有技术中,通过网页来显示内容,会导致初始应用的进程被暂停,初始应用页面无法正常显示内容,显示性能较差,并且通过网页来显示内容,安全度较低,很可能导致初始应用无法通过各种发布渠道的审核。而本公开中悬浮页面能够独立于初始应用页面,动态显示目标资源包中的目标素材,能够保证初始应用页面正常显示的前提下,灵活控制悬浮页面的显示,提高了显示性能,而且无需借助网页,安全度高,适用范围广。
综上所述,本公开首先从资源服务器中获取包括了待显示在初始应用页面上的目标素材和目标素材对应的执行逻辑的目标资源包,之后创建悬浮页面,和与悬浮页面绑定的页面载体,再通过页面载体在悬浮页面内加载目标资源包,并基于执行逻辑在页面载体上对目标素材进行绘制,使得悬浮页面内显示目标素材,最后在初始应用页面上方展示悬浮页面和对应的页面载体。本公开从资源服务器中获取目标资源包,并创建绑定了页面载体的悬浮页面,使得悬浮页面独立于初始应用页面,动态显示目标资源包中的目标素材,能够在不影响初始应用页面的前提下,灵活控制悬浮页面的显示,从而提高资源显示的性能和开发效率。
图4是根据一示例性实施例示出的另一种动态显示的方法的流程图,如图4所示,步骤102的实现方式可以包括:
步骤1021,动态生成页面容器,并根据目标资源包动态生成页面载体。
步骤1022,将页面载体与页面容器进行绑定。
步骤1023,将页面容器作为悬浮页面。
举例来说,可以动态生成页面容器,同时根据目标资源包动态生成页面载体。页面容器用于承载页面载体,页面载体用于实现目标素材的显示。针对iOS***来说,iOS***中针对React Native封装了一套SDK(英文:Software Development Kit,中文:软件开发工具包),可以用于对目标资源包进行加载、显示、热更新等操作。在获取目标资源包之后,可以创建一个单例UIWindow作为悬浮页面,UIWindow能够进行手势监听,用户可以对UIWindow进行拖拽,以使UIWindow显示在显示界面的不同位置。然后,可以根据目标资源包为UIWindow创建一个UIViewController,作为页面载体。其中,UIViewController内封装了React Native提供的RCTRootView。
针对Android***来说,Android***中针对React Native也封装了一套SDK,同样可以用于对目标资源包进行加载、显示、热更新等操作。在初始应用页面开始在显示界面上显示时,即初始应用在终端设备上启动时,可以先动态生成ViewGroup作为悬浮页面,同时根据目标资源包动态生成React Native提供的ReactRootView作为页面载体,再将ReactRootView与ViewGroup进行绑定。可以为ViewGroup定制Android***的原生能力,以在不改动ReactRootView的基础上,为ReactRootView定制Android***的一些原生能力。例如,可以为ViewGroup定制手势监听能力,用户可以对ViewGroup进行拖拽,以使ViewGroup显示在显示界面的不同位置。
在另一种实现方式中,步骤102的实现方式可以为
响应于初始应用触发的指示指令,创建悬浮页面,和与悬浮页面绑定的页面载体,指示指令为初始应用内的第一指定对象的状态满足预设条件时触发的,初始应用为初始应用页面对应的应用。
示例的,在获取到目标资源包之后,可以立即创建悬浮页面和对应的页面载体,即在初始应用页面开始在显示界面上显示时创建。也可以在获取到初始应用页面触发的指示指令之后再进行创建。其中,指示指令为当初始应用内的第一指定对象的状态满足预设条件时,初始应用发出的指令。可以理解为,初始应用中包括有多个对象(其中,对象可以展示在初始应用页面上,也可以不在初始应用页面上展示),用于指示初始应用的各种状态,在第一指定对象的状态满足预设条件时,初始应用会触发指示指令。以初始应用为游戏应用,初始应用页面为游戏页面,第一指定对象为a对象为例,a对象用于指示用户完成游戏副本的数量,预设条件为大于3,那么当用户完成游戏副本的数量超过3个时,会触发指示指令,以在初始应用页面的上方,创建悬浮页面和对应的页面载体。再比如,第一指定对象为b对象,b对象用于指示用户当前查看页面,预设条件为用户当前查看页面为游戏大厅,那么当用户浏览游戏大厅时,会触发指示指令,以在初始应用页面的上方,创建悬浮页面和对应的页面载体。这样,可以根据初始应用中不同对象的状态,控制何时创建悬浮页面和对应的页面载体,进一步提高了悬浮页面的灵活程度。
图5是根据一示例性实施例示出的另一种动态显示的方法的流程图,如图5所示,在步骤102之后,该方法还可以包括:
步骤106,监听初始应用页面的生命周期,并根据初始应用页面的生命周期更新悬浮页面的生命周期,悬浮页面的生命周期与初始应用页面的生命周期相同。
举例来说,在生成悬浮页面之后,可以监听初始应用页面的生命周期,即监听悬浮页面的宿主的生命周期。在悬浮页面的生命周期发生变化时,同步更新悬浮页面的生命周期(同时也更新悬浮页面内承载的页面载体的生命周期)。以Android***来举例,在生成ViewGroup之后,当监听到初始应用页面的生命周期发生变化时,可以将React Native提供的ReactInstanceManager的生命周期更新为与初始应用页面的生命周期一致,其中ReactInstanceManager用于管理ReactRootView的生命周期。这样,使得ReactRootView的生命周期与初始应用页面的生命周期同步,进而使得ViewGroup和初始应用页面的生命周期的同步。这样可以使悬浮页面和初始应用页面无干扰同时运行,而不打断初始应用页面的生命周期。
图6是根据一示例性实施例示出的另一种动态显示的方法的流程图,如图6所示,在步骤103之前,该方法还可以包括以下步骤:
步骤107,根据目标资源包对页面载体进行初始化。
步骤108,通过页面载体对目标资源包进行预加载。
在一种实现方式中,为了进一步优化悬浮页面的显示性能,可以在将悬浮页面与页面载体进行绑定之前,根据目标资源包对页面载体进行初始化,然后由页面载体对目标资源包进行预加载。可以理解为,为了避免在显示悬浮页面时,由于加载目标资源包的时间过长,导致显示出现时延,可以通过以空间换时间的方法,在生成页面载体之后,就对页面载体进行初始化,并通过页面载体对目标资源包进行预加载,提前先将目标资源包缓存起来。这样能够提高步骤103中页面载体加载目标资源包的速度,降低加载产生的时延,从而提高悬浮页面的显示性能。
图7是根据一示例性实施例示出的另一种动态显示的方法的流程图,如图7所示,目标素材包括至少一组素材集,在步骤101之后,该方法还可以包括:
步骤109,从资源服务器获取素材映射表,素材映射表包括每组素材集与初始应用内的对象的对应关系。
步骤110,将素材映射表发送至初始应用,以使初始应用响应于指定对象被触发,根据素材映射表确定指定对象对应的指定素材集,初始应用为初始应用页面对应的应用。
相应的,步骤104的实现方式可以为:
基于执行逻辑在页面载体上对指定素材集进行绘制,以在悬浮页面内显示指定素材集。
举例来说,终端从资源服务器获取的目标资源包中,目标素材可以分为一组或多组素材集,一组素材集对应一种显示页面。可以理解为目标资源包中可以包括一种或多种显示页面。相应的,还可以从资源服务器获取素材映射表。素材映射表中包括了每组素材集与初始应用内的对象的对应关系(其中,对象可以展示在初始应用页面上,也可以不在初始应用页面上展示)。可以理解为,资源服务器为每组素材集生成一个对应的OpenURL(中文:开放链接),一个OpenURL能够唯一标识一组素材集。那么素材映射表中可以包括不同的OpenURL与初始应用内不同对象的对应关系。例如,素材映射表中包括2条记录:第一链接(对应第一素材集)对应对象aa,第二链接(对应第二素材集)对应对象bb。终端在获取素材映射表之后,可以将素材映射表发送至初始应用,使得初始应用在接收到素材映射表后,将不同的对象与对应的OpenURL进行绑定。例如将对象aa与第一链接进行绑定,将对象bb与第二链接进行绑定。这样,初始应用在对象aa被触发时,可以确定第一链接,并将第一链接发送给悬浮页面。悬浮页面对第一链接进行解析,也确定第一素材集,并基于执行逻辑在页面载体上对第一素材集进行绘制,以在悬浮页面内显示第一素材集。这样,可以根据初始应用内触发的不同对象,在悬浮页面内显示不同的页面,进一步提高了悬浮页面的灵活程度。
图8是根据一示例性实施例示出的另一种动态显示的方法的流程图,如图8所示,在步骤101之前,该方法还可以包括:
步骤111,根据初始应用页面的状态信息,确定目标资源包,状态信息包括初始应用页面的用户信息,和/或应用信息。
举例来说,终端设备可以先获取初始应用页面的状态信息,确定适用于初始应用页面的目标资源包,然后再从资源服务器获取目标资源包。状态信息可以包括初始应用页面的用户信息,例如:账号信息、等级信息、会员信息等,还可以包括应用信息,例如:初始应用的名称、初始应用的版本号、初始应用的本次登陆时长。
可以理解为,资源服务器中存储了大量的资源包,每个资源包可以设置有相应的配置参数,配置参数可以包括该资源包适用的应用,还可以包括该资源包生效的时间,也可以包括该资源包适用的权限。资源服务器中可以维护一个资源包信息列表,用于存储每个资源包的标识和该资源包的配置参数,如表1所示:
表1
适用的应用 | 资源包的标识 | 生效起始时间 | 生效结束时间 |
A应用 | A.bundle | 2020-06-10 | 2020-06-30 |
B应用 | A.bundle | 2020-06-15 | 2020-06-30 |
C应用 | B.bundle | 2020-05-20 | 2020-06-20 |
A应用 | B.bundle | 2020-05-21 | 2020-06-25 |
终端设备可以先从资源服务器获取资源包信息列表,然后将状态信息与资源包信息列表中的每个资源包的配置参数进行比较,从而确定配置参数与状态信息匹配的目标资源包的标识,再根据目标资源包的标识,从资源服务器获取目标资源包。例如,初始应用页面的状态信息中包括:A应用,当前时间为2020年6月19日,那么在表1中可以确定存在两个目标资源包,相应的目标资源包的标识为:A.bundle和B.bundle。
这样,资源服务器可以统一管理适用于不同应用的多个目标资源包,开发人员可以将新开发的资源包,或者更新后的资源包,直接上传资源服务器,还可以从资源服务器上删除资源包,从而实现对资源包的增加、删除、更新操作,不需要和应用进行适配,也不需要用户对应用进行更新,可以在各种应用页面上进行复用,提高了开发效率和适用范围。
图9是根据一示例性实施例示出的另一种动态显示的方法的流程图,如图9所示,在步骤101之前,该方法还可以包括:
步骤112,将初始应用页面的状态信息发送至资源服务器,以使资源服务器确定状态信息对应的目标资源包,状态信息包括初始应用页面的用户信息,和/或应用信息。
在另一种实现方式中,终端设备可以先获取初始应用页面的状态信息,然后将状态信息发送至资源服务器,由资源服务器来确定适用于初始应用页面的目标资源包。状态信息可以包括初始应用页面的用户信息,例如:账号信息、等级信息、会员信息等,还可以包括应用信息,例如:初始应用的名称、初始应用的版本号、初始应用的本次登陆时长。同样的,资源服务器中可以维护一个资源包信息列表,用于存储每个资源包的标识和该资源包的配置参数,资源服务器在接收到状态信息后,将状态信息与资源包信息列表中的每个资源包的配置参数进行比较,从而确定配置参数与状态信息匹配的目标资源包的标识,再根据目标资源包的标识,向终端设备发送目标资源包。
图10是根据一示例性实施例示出的另一种动态显示的方法的流程图,如图10所示,在步骤105之后,该方法还可以包括以下步骤:
步骤113,获取通过在目标区域内进行指定操作触发的互动指令,目标区域为悬浮页面所展示的区域。
步骤114,通过页面载体根据互动指令和执行逻辑,对悬浮页面内显示的目标素材进行更新。
举例来说,在展示悬浮页面和对应的页面载体之后,用户还可以在悬浮页面所展示的目标区域内进行指定操作,来触发互动指令。指定操作例如可以是单击操作、双击操作、长按操作、拖拽操作或者放大手势操作等,还可以是晃动终端设备、翻转终端设备等操作。在获取到互动指令后,可以根据互动指令和执行逻辑来对悬浮页面内的目标素材进行更新。例如,为了增加悬浮页面内显示内容的互动性,可以在用户晃动终端设备时,控制目标素材显示抖动的特效。还可以在用户单击悬浮页面中某个按钮时,将该按钮的颜色从代表未被点击的绿色替换为代表已被点击的灰色。
相比于通过网页来显示内容的方式,网页通常无法使用终端设备的原生数据,例如终端设备上设置的陀螺仪、气压计采集的数据,导致无法实现与用户的多种互动。而本公开中通过独立于初始应用页面的悬浮页面,可以直接使用终端设备的原生数据,来完成与用户的各种互动,进一步提高了悬浮页面的灵活程度,扩展了悬浮页面的适用场景。
图11是根据一示例性实施例示出的另一种动态显示的方法的流程图,如图11所示,步骤114可以包括:
步骤1141,根据互动指令和执行逻辑,更新页面载体上的第二指定对象的状态。或者,
步骤1142,根据互动指令和执行逻辑,更新第二指定对象的状态,并根据更新后的第二指定对象的状态,更新初始应用内第三指定对象的状态,第三指定对象为初始应用内,与第二指定对象对应的对象。或者,
步骤1143,根据互动指令和执行逻辑,更新第二指定对象的状态,并将更新后的第二指定对象的状态发送至资源服务器,以使资源服务器将更新后的第二指定对象的状态发送至应用服务器,应用服务器用于根据更新后的第二指定对象的状态,更新第四指定对象的状态,并将更新后的第四指定对象的状态发送至初始应用,以使初始应用记录更新后的第四指定对象的状态。
其中,初始应用为初始应用页面对应的应用,应用服务器为初始应用提供服务,第四指定对象为初始应用内,与第二指定对象对应的对象。
具体的,根据互动指令和执行逻辑来更新悬浮页面内显示的目标素材,可以包括三种实现场景。场景一,互动指令的影响范围只限于悬浮页面内,即互动指令只修改悬浮页面内第二指定对象的状态,而第二指定对象的状态,不会影响初始应用。那么可以根据互动指令和执行逻辑,只更新悬浮页面内第二指定对象的状态。例如,互动指令是在用户翻转终端设备时触发的,执行逻辑中规定在终端设备被翻转时,控制目标素材的显示尺寸(即第二指定对象)进行改变,那么可以根据互动指令和执行逻辑,将目标素材的显示尺寸由横屏尺寸更新为竖屏尺寸(或者由竖屏尺寸更新为横屏尺寸)。
场景二,互动指令的影响范围除了悬浮页面内,还会影响到初始应用,即互动指令既需要修改悬浮页面内第二指定对象的状态,还需要修改初始应用内第三指定对象的状态,其中,第三指定对象为初始应用内,与第二指定对象对应的对象,第三指定对象可以展示在初始应用页面上,也可以不在初始应用页面上展示。那么可以根据互动指令和执行逻辑,更新第二指定对象的状态,并根据更新后的第二指定对象的状态,更新初始应用内第三指定对象的状态,从而实现初始应用和悬浮页面之间的简单互动。例如,互动指令是在用户单击悬浮页面内的“一键试用皮肤”按钮触发的,执行逻辑中规定该按钮被触发时,改变该按钮的颜色(即第二指定对象),同时会通知初始应用,将用户当前的皮肤(即第三指定对象)更新为试用皮肤。由于只是试用皮肤,仅作为展示用,不需要将用户更换了试用皮肤同步到初始应用对应的服务器(即后文所提及的应用服务器)。那么可以根据互动指令和执行逻辑,将“一键试用皮肤”按钮的颜色从代表未被点击的绿色替换为代表已被点击的灰色,并通知初始应用,从而使得初始应用控制初始应用页面中用户当前的皮肤更新为试用皮肤。
场景三,互动指令的影响范围除了悬浮页面内,还会影响到初始应用,即互动指令既需要修改悬浮页面内第二指定对象的状态,还需要修改初始应用内第四指定对象的状态,其中,第四指定对象为初始应用内,与第二指定对象对应的对象,第四指定对象可以展示在初始应用页面上,也可以不在初始应用页面上展示。进一步的,初始应用内第四指定对象的状态需要与,为初始应用提供服务的应用服务器保持同步。那么可以根据互动指令和执行逻辑,更新第二指定对象的状态,并将更新后的第二指定对象的状态发送至资源服务器。资源服务器接收到更新后的第二指定对象的状态后,将其发送至应用服务器,以使应用服务器根据更新后的第二指定对象的状态,更新第四指定对象的状态。最后,应用服务器将更新后的第四指定对象的状态发送至初始应用,以使初始应用记录更新后的第四指定对象的状态,即对初始应用内第四指定对象的状态进行更新。这样,能够使初始应用内第四指定对象的状态,和应用服务器上存储的第四指定对象的状态保持一致,从而实现初始应用和悬浮页面之间的互动。
例如,互动指令是在用户单击悬浮页面内的“领取装备”按钮触发的,执行逻辑中规定该按钮被触发时,改变该按钮的状态(即第二指定对象),并将用户的装备列表(即第四指定对象)中增加Y装备。那么可以根据互动指令和执行逻辑,将“领取装备”按钮的状态从“未被点击状态”,更新为“已被点击状态”,并将“已被点击状态”发送至资源服务器,资源服务器再将“已被点击状态”转发至应用服务器,应用服务器根据“已被点击状态”,将用户的装备列表中增加Y装备。最后,应用服务器将增加了Y装备的装备列表发送至初始应用,使得初始应用中的装备列表中增加Y装备,还可以使初始应用控制初始应用页面中装备列表中显示Y装备。
本公开所提供的动态显示的方法,能够适用于多种操作***,下面针对iOS***和Android***的实现方式,进行举例说明。
针对终端设备上运行的是iOS***的情况下,终端设备从资源服务器上获取目标资源包之后,可以创建一个单例UIWindow作为悬浮页面,然后,可以根据目标资源包为UIWindow创建一个UIViewController,作为页面载体。其中,UIViewController内封装了RCTRootView。进一步的,UIViewController可以通过React Native提供的RCTBridge,在UIWindow内加载目标资源包,从而使RCTRootView能够执行目标资源包中的执行逻辑,对目标资源包中的目标素材进行绘制,以在UIWindow内显示目标素材,最后在初始应用页面上方展示UIWindow和UIViewController。
针对终端设备上运行的是Android***的情况下,终端设备从资源服务器上获取目标资源包之后,可以动态生成ViewGroup作为悬浮页面,根据目标资源包动态生成ReactRootView,作为页面载体,并将ReactRootView与ViewGroup进行绑定。示例的,当需要对目标资源包进行展示时(例如可以是初始应用页面开始在显示界面上显示时,也可以是在获取到指示指令后),可以将ViewGroup作为悬浮页面,通过ReactRootView加载目标资源包,并通过ReactRootView执行执行逻辑对目标素材进行绘制,以在悬浮页面内显示目标素材。由于ReactRootView符合FrameLayout(帧布局)的特性,每添加一个页面,都是覆盖在前一页面的上层,因此可以采用向初始应用页面动态注入布局的方式,将ReactRootView动态地植入初始应用页面。可以理解为ReactRootView将初始应用页面作为宿主,可以在不入侵宿主的前提下,实现与宿主无干扰同时运行。
综上所述,本公开首先从资源服务器中获取包括了待显示在初始应用页面上的目标素材和目标素材对应的执行逻辑的目标资源包,之后创建悬浮页面,和与悬浮页面绑定的页面载体,再通过页面载体在悬浮页面内加载目标资源包,并基于执行逻辑在页面载体上对目标素材进行绘制,使得悬浮页面内显示目标素材,最后在初始应用页面上方展示悬浮页面和对应的页面载体。本公开从资源服务器中获取目标资源包,并创建绑定了页面载体的悬浮页面,使得悬浮页面独立于初始应用页面,动态显示目标资源包中的目标素材,能够在不影响初始应用页面的前提下,灵活控制悬浮页面的显示,从而提高资源显示的性能和开发效率。
图12是根据一示例性实施例示出的一种动态显示的装置的框图,如图12所示,该装置200包括:
获取模块201,用于从资源服务器获取目标资源包,目标资源包中包括:待显示在初始应用页面上的目标素材和目标素材对应的执行逻辑。
创建模块202,用于创建悬浮页面,和与悬浮页面绑定的页面载体。
加载模块203,用于通过页面载体在悬浮页面内加载目标资源包。
绘制模块204,用于基于执行逻辑在页面载体上对目标素材进行绘制,以在悬浮页面内显示目标素材。
展示模块205,用于在初始应用页面上方展示悬浮页面和对应的页面载体。
在一种实现方式中,目标素材可以包括:图片、视频、文本中的至少一种。
图13是根据一示例性实施例示出的另一种动态显示的装置的框图,如图13所示,创建模块202可以包括:
生成子模块2021,用于动态生成页面容器,并根据目标资源包动态生成页面载体。
绑定子模块2022,用于将页面载体与页面容器进行绑定。
确定子模块2023,用于将页面容器作为悬浮页面。
在另一种实现方式中,创建模块202可以用于:
响应于初始应用触发的指示指令,创建悬浮页面,和与悬浮页面绑定的页面载体,指示指令为初始应用内的第一指定对象的状态满足预设条件时触发的,初始应用为初始应用页面对应的应用。
图14是根据一示例性实施例示出的另一种动态显示的装置的框图,如图14所示,该装置200还包括:
监听模块206,用于在创建悬浮页面,和与悬浮页面绑定的页面载体之后,监听初始应用页面的生命周期,并根据初始应用页面的生命周期更新悬浮页面的生命周期,悬浮页面的生命周期与初始应用页面的生命周期相同。
图15是根据一示例性实施例示出的另一种动态显示的装置的框图,如图15所示,该装置200还包括:
初始化模块207,用于在通过页面载体在悬浮页面内加载目标资源包之前,根据目标资源包对页面载体进行初始化。
预加载模块208,用于通过页面载体对目标资源包进行预加载。
图16是根据一示例性实施例示出的另一种动态显示的装置的框图,如图16所示,目标素材可以包括至少一组素材集。
获取模块201,还用于在从资源服务器获取目标资源包之后,从资源服务器获取素材映射表,素材映射表包括每组素材集与初始应用内的对象的对应关系。
该装置200还可以包括:
发送模块209,用于将素材映射表发送至初始应用,以使初始应用响应于指定对象被触发,根据素材映射表确定指定对象对应的指定素材集,初始应用为初始应用页面对应的应用。
绘制模块204可以用于:
基于执行逻辑在页面载体上对指定素材集进行绘制,以在悬浮页面内显示指定素材集。
图17是根据一示例性实施例示出的另一种动态显示的装置的框图,如图17所示,该装置200还包括:
确定模块210,用于在从资源服务器获取目标资源包之前,根据初始应用页面的状态信息,确定目标资源包,状态信息包括初始应用页面的用户信息,和/或应用信息。
在另一种实现方式中,确定模块210,可以用于在从资源服务器获取目标资源包之前,将初始应用页面的状态信息发送至资源服务器,以使资源服务器确定状态信息对应的目标资源包,状态信息包括初始应用页面的用户信息,和/或应用信息。
图18是根据一示例性实施例示出的另一种动态显示的装置的框图,如图18所示,获取模块201,还用于获取通过在目标区域内进行指定操作触发的互动指令,目标区域为悬浮页面所展示的区域。
该装置200还包括:
更新模块211,用于通过页面载体根据互动指令和执行逻辑,对悬浮页面内显示的目标素材进行更新。
在一种实现方式中,更新模块211可以用于:
根据互动指令和执行逻辑,更新页面载体上的第二指定对象的状态。或者,
根据互动指令和执行逻辑,更新第二指定对象的状态,并根据更新后的第二指定对象的状态,更新初始应用内第三指定对象的状态,第三指定对象为初始应用内,与第二指定对象对应的对象。或者,
根据互动指令和执行逻辑,更新第二指定对象的状态,并将更新后的第二指定对象的状态发送至资源服务器,以使资源服务器将更新后的第二指定对象的状态发送至应用服务器,应用服务器用于根据更新后的第二指定对象的状态,更新第四指定对象的状态,并将更新后的第四指定对象的状态发送至初始应用,以使初始应用记录更新后的第四指定对象的状态。
初始应用为初始应用页面对应的应用,应用服务器为初始应用提供服务,第四指定对象为初始应用内,与第二指定对象对应的对象。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,本公开首先从资源服务器中获取包括了待显示在初始应用页面上的目标素材和目标素材对应的执行逻辑的目标资源包,之后创建悬浮页面,和与悬浮页面绑定的页面载体,再通过页面载体在悬浮页面内加载目标资源包,并基于执行逻辑在页面载体上对目标素材进行绘制,使得悬浮页面内显示目标素材,最后在初始应用页面上方展示悬浮页面和对应的页面载体。本公开从资源服务器中获取目标资源包,并创建绑定了页面载体的悬浮页面,使得悬浮页面独立于初始应用页面,动态显示目标资源包中的目标素材,能够在不影响初始应用页面的前提下,灵活控制悬浮页面的显示,从而提高资源显示的性能和开发效率。
下面参考图19,其示出了适于用来实现本公开实施例的电子设备(例如图1中的终端设备或服务器)300的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图19示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图19所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储装置308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图19示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,终端设备、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:从资源服务器获取目标资源包,所述目标资源包中包括:待显示在初始应用页面上的目标素材和所述目标素材对应的执行逻辑;创建悬浮页面,和与所述悬浮页面绑定的页面载体;通过所述页面载体在所述悬浮页面内加载所述目标资源包;基于所述执行逻辑在所述页面载体上对所述目标素材进行绘制,以在所述悬浮页面内显示所述目标素材;在所述初始应用页面上方展示所述悬浮页面和对应的所述页面载体。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该模块本身的限定,例如,获取模块还可以被描述为“获取目标资源包的模块”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,示例1提供了一种动态显示的方法,包括:从资源服务器获取目标资源包,所述目标资源包中包括:待显示在初始应用页面上的目标素材和所述目标素材对应的执行逻辑;创建悬浮页面,和与所述悬浮页面绑定的页面载体;通过所述页面载体在所述悬浮页面内加载所述目标资源包;基于所述执行逻辑在所述页面载体上对所述目标素材进行绘制,以在所述悬浮页面内显示所述目标素材;在所述初始应用页面上方展示所述悬浮页面和对应的所述页面载体。
根据本公开的一个或多个实施例,示例2提供了示例1的方法,所述创建悬浮页面,和与所述悬浮页面绑定的页面载体,包括:动态生成页面容器,并根据所述目标资源包动态生成所述页面载体;将所述页面载体与所述页面容器进行绑定;将所述页面容器作为所述悬浮页面。
根据本公开的一个或多个实施例,示例3提供了示例1的方法,所述创建悬浮页面,和与所述悬浮页面绑定的页面载体,包括:响应于初始应用触发的指示指令,创建所述悬浮页面,和与所述悬浮页面绑定的所述页面载体,所述指示指令为所述初始应用内的第一指定对象的状态满足预设条件时触发的,所述初始应用为所述初始应用页面对应的应用。
根据本公开的一个或多个实施例,示例4提供了示例1的方法,在所述创建悬浮页面,和与所述悬浮页面绑定的页面载体之后,所述方法还包括:监听所述初始应用页面的生命周期,并根据所述初始应用页面的生命周期更新所述悬浮页面的生命周期,所述悬浮页面的生命周期与所述初始应用页面的生命周期相同。
根据本公开的一个或多个实施例,示例5提供了示例1的方法,在所述通过所述页面载体在所述悬浮页面内加载所述目标资源包之前,所述方法还包括:根据所述目标资源包对所述页面载体进行初始化;通过所述页面载体对所述目标资源包进行预加载。
根据本公开的一个或多个实施例,示例6提供了示例1的方法,所述目标素材包括至少一组素材集,在所述从资源服务器获取目标资源包之后,所述方法还包括:从所述资源服务器获取素材映射表,所述素材映射表包括每组素材集与初始应用内的对象的对应关系;将所述素材映射表发送至所述初始应用,以使所述初始应用响应于指定对象被触发,根据所述素材映射表确定所述指定对象对应的指定素材集,所述初始应用为所述初始应用页面对应的应用;所述基于所述执行逻辑在所述页面载体上对所述目标素材进行绘制,以在所述悬浮页面内显示所述目标素材,包括:基于所述执行逻辑在所述页面载体上对所述指定素材集进行绘制,以在所述悬浮页面内显示所述指定素材集。
根据本公开的一个或多个实施例,示例7提供了示例1的方法,在所述从资源服务器获取目标资源包之前,所述方法还包括:根据所述初始应用页面的状态信息,确定所述目标资源包,所述状态信息包括所述初始应用页面的用户信息,和/或应用信息。
根据本公开的一个或多个实施例,示例8提供了示例1的方法,在所述从资源服务器获取目标资源包之前,所述方法还包括:将所述初始应用页面的状态信息发送至所述资源服务器,以使所述资源服务器确定所述状态信息对应的所述目标资源包,所述状态信息包括所述初始应用页面的用户信息,和/或应用信息。
根据本公开的一个或多个实施例,示例9提供了示例1至示例8中的方法,在所述在所述初始应用页面上方展示所述悬浮页面和对应的所述页面载体之后,所述方法还包括:获取通过在目标区域内进行指定操作触发的互动指令,所述目标区域为所述悬浮页面所展示的区域;通过所述页面载体根据所述互动指令和所述执行逻辑,对所述悬浮页面内显示的所述目标素材进行更新。
根据本公开的一个或多个实施例,示例10提供了示例9的方法,所述通过所述页面载体根据所述互动指令和所述执行逻辑,对所述悬浮页面内显示的所述目标素材进行更新,包括:根据所述互动指令和所述执行逻辑,更新所述页面载体上的第二指定对象的状态;或者,根据所述互动指令和所述执行逻辑,更新所述第二指定对象的状态,并根据更新后的所述第二指定对象的状态,更新初始应用内第三指定对象的状态,所述第三指定对象为所述初始应用内,与所述第二指定对象对应的对象;或者,根据所述互动指令和所述执行逻辑,更新所述第二指定对象的状态,并将更新后的所述第二指定对象的状态发送至所述资源服务器,以使所述资源服务器将更新后的所述第二指定对象的状态发送至应用服务器,所述应用服务器用于根据更新后的所述第二指定对象的状态,更新第四指定对象的状态,并将更新后的所述第四指定对象的状态发送至所述初始应用,以使所述初始应用记录更新后的所述第四指定对象的状态;所述初始应用为所述初始应用页面对应的应用,所述应用服务器为所述初始应用提供服务,所述第四指定对象为所述初始应用内,与所述第二指定对象对应的对象。
根据本公开的一个或多个实施例,示例11提供了示例1至示例8中的方法,所述目标素材包括:图片、视频、文本中的至少一种。
根据本公开的一个或多个实施例,示例12提供了一种动态显示的装置,包括:获取模块,用于从资源服务器获取目标资源包,所述目标资源包中包括:待显示在初始应用页面上的目标素材和所述目标素材对应的执行逻辑;创建模块,用于创建悬浮页面,和与所述悬浮页面绑定的页面载体;加载模块,用于通过所述页面载体在所述悬浮页面内加载所述目标资源包;绘制模块,用于基于所述执行逻辑在所述页面载体上对所述目标素材进行绘制,以在所述悬浮页面内显示所述目标素材;展示模块,用于在所述初始应用页面上方展示所述悬浮页面和对应的所述页面载体。
根据本公开的一个或多个实施例,示例13提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现示例1至示例11中所述方法的步骤。
根据本公开的一个或多个实施例,示例14提供了一种电子设备,包括:存储装置,其上存储有计算机程序;处理装置,用于执行所述存储装置中的所述计算机程序,以实现示例1至示例11中所述方法的步骤。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
Claims (14)
1.一种动态显示的方法,其特征在于,所述方法包括:
从资源服务器获取目标资源包,所述目标资源包中包括:待显示在初始应用页面上的目标素材和所述目标素材对应的执行逻辑;
创建悬浮页面,和与所述悬浮页面绑定的页面载体;
通过所述页面载体在所述悬浮页面内加载所述目标资源包;
基于所述执行逻辑在所述页面载体上对所述目标素材进行绘制,以在所述悬浮页面内显示所述目标素材;
在所述初始应用页面上方展示所述悬浮页面和对应的所述页面载体。
2.根据权利要求1所述的方法,其特征在于,所述创建悬浮页面,和与所述悬浮页面绑定的页面载体,包括:
动态生成页面容器,并根据所述目标资源包动态生成所述页面载体;
将所述页面载体与所述页面容器进行绑定;
将所述页面容器作为所述悬浮页面。
3.根据权利要求1所述的方法,其特征在于,所述创建悬浮页面,和与所述悬浮页面绑定的页面载体,包括:
响应于初始应用触发的指示指令,创建所述悬浮页面,和与所述悬浮页面绑定的所述页面载体,所述指示指令为所述初始应用内的第一指定对象的状态满足预设条件时触发的,所述初始应用为所述初始应用页面对应的应用。
4.根据权利要求1所述的方法,其特征在于,在所述创建悬浮页面,和与所述悬浮页面绑定的页面载体之后,所述方法还包括:
监听所述初始应用页面的生命周期,并根据所述初始应用页面的生命周期更新所述悬浮页面的生命周期,所述悬浮页面的生命周期与所述初始应用页面的生命周期相同。
5.根据权利要求1所述的方法,其特征在于,在所述通过所述页面载体在所述悬浮页面内加载所述目标资源包之前,所述方法还包括:
根据所述目标资源包对所述页面载体进行初始化;
通过所述页面载体对所述目标资源包进行预加载。
6.根据权利要求1所述的方法,其特征在于,所述目标素材包括至少一组素材集,在所述从资源服务器获取目标资源包之后,所述方法还包括:
从所述资源服务器获取素材映射表,所述素材映射表包括每组素材集与初始应用内的对象的对应关系;
将所述素材映射表发送至所述初始应用,以使所述初始应用响应于指定对象被触发,根据所述素材映射表确定所述指定对象对应的指定素材集,所述初始应用为所述初始应用页面对应的应用;
所述基于所述执行逻辑在所述页面载体上对所述目标素材进行绘制,以在所述悬浮页面内显示所述目标素材,包括:
基于所述执行逻辑在所述页面载体上对所述指定素材集进行绘制,以在所述悬浮页面内显示所述指定素材集。
7.根据权利要求1所述的方法,其特征在于,在所述从资源服务器获取目标资源包之前,所述方法还包括:
根据所述初始应用页面的状态信息,确定所述目标资源包,所述状态信息包括所述初始应用页面的用户信息,和/或应用信息。
8.根据权利要求1所述的方法,其特征在于,在所述从资源服务器获取目标资源包之前,所述方法还包括:
将所述初始应用页面的状态信息发送至所述资源服务器,以使所述资源服务器确定所述状态信息对应的所述目标资源包,所述状态信息包括所述初始应用页面的用户信息,和/或应用信息。
9.根据权利要求1-8中任一项所述的方法,其特征在于,在所述在所述初始应用页面上方展示所述悬浮页面和对应的所述页面载体之后,所述方法还包括:
获取通过在目标区域内进行指定操作触发的互动指令,所述目标区域为所述悬浮页面所展示的区域;
通过所述页面载体根据所述互动指令和所述执行逻辑,对所述悬浮页面内显示的所述目标素材进行更新。
10.根据权利要求9所述的方法,其特征在于,所述通过所述页面载体根据所述互动指令和所述执行逻辑,对所述悬浮页面内显示的所述目标素材进行更新,包括:
根据所述互动指令和所述执行逻辑,更新所述页面载体上的第二指定对象的状态;或者,
根据所述互动指令和所述执行逻辑,更新所述第二指定对象的状态,并根据更新后的所述第二指定对象的状态,更新初始应用内第三指定对象的状态,所述第三指定对象为所述初始应用内,与所述第二指定对象对应的对象;或者,
根据所述互动指令和所述执行逻辑,更新所述第二指定对象的状态,并将更新后的所述第二指定对象的状态发送至所述资源服务器,以使所述资源服务器将更新后的所述第二指定对象的状态发送至应用服务器,所述应用服务器用于根据更新后的所述第二指定对象的状态,更新第四指定对象的状态,并将更新后的所述第四指定对象的状态发送至所述初始应用,以使所述初始应用记录更新后的所述第四指定对象的状态;
所述初始应用为所述初始应用页面对应的应用,所述应用服务器为所述初始应用提供服务,所述第四指定对象为所述初始应用内,与所述第二指定对象对应的对象。
11.根据权利要求1-8中任一项所述的方法,其特征在于,所述目标素材包括:图片、视频、文本中的至少一种。
12.一种动态显示的装置,其特征在于,所述装置包括:
获取模块,用于从资源服务器获取目标资源包,所述目标资源包中包括:待显示在初始应用页面上的目标素材和所述目标素材对应的执行逻辑;
创建模块,用于创建悬浮页面,和与所述悬浮页面绑定的页面载体;
加载模块,用于通过所述页面载体在所述悬浮页面内加载所述目标资源包;
绘制模块,用于基于所述执行逻辑在所述页面载体上对所述目标素材进行绘制,以在所述悬浮页面内显示所述目标素材;
展示模块,用于在所述初始应用页面上方展示所述悬浮页面和对应的所述页面载体。
13.一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理装置执行时实现权利要求1-11中任一项所述方法的步骤。
14.一种电子设备,其特征在于,包括:
存储装置,其上存储有计算机程序;
处理装置,用于执行所述存储装置中的所述计算机程序,以实现权利要求1-11中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010833846.9A CN111949358A (zh) | 2020-08-18 | 2020-08-18 | 动态显示的方法、装置、可读介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010833846.9A CN111949358A (zh) | 2020-08-18 | 2020-08-18 | 动态显示的方法、装置、可读介质和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111949358A true CN111949358A (zh) | 2020-11-17 |
Family
ID=73342135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010833846.9A Pending CN111949358A (zh) | 2020-08-18 | 2020-08-18 | 动态显示的方法、装置、可读介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949358A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112269959A (zh) * | 2020-11-19 | 2021-01-26 | 北京有竹居网络技术有限公司 | 展示内容的控制方法、装置、可读介质和电子设备 |
CN114090938A (zh) * | 2021-11-29 | 2022-02-25 | 北京字节跳动网络技术有限公司 | 页面处理方法及设备 |
WO2023065707A1 (zh) * | 2021-10-21 | 2023-04-27 | 深圳前海微众银行股份有限公司 | 一种页面显示方法及装置 |
WO2023202407A1 (zh) * | 2022-04-19 | 2023-10-26 | 华为技术有限公司 | 应用的显示方法、装置及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853712A (zh) * | 2012-11-28 | 2014-06-11 | 金蝶软件(中国)有限公司 | 一种浮动层窗口的显示方法及浏览器 |
CN103986962A (zh) * | 2014-06-03 | 2014-08-13 | 合一网络技术(北京)有限公司 | 显示悬浮式播放窗口的方法和*** |
CN104572967A (zh) * | 2014-12-30 | 2015-04-29 | 北京奇虎科技有限公司 | 一种在页面绘制图形的方法和装置 |
CN105915933A (zh) * | 2016-06-27 | 2016-08-31 | 北京奇虎科技有限公司 | 利用寄生工具包实现的视频推送方法及装置 |
CN109246464A (zh) * | 2018-08-22 | 2019-01-18 | Oppo广东移动通信有限公司 | 用户界面显示方法、装置、终端及存储介质 |
CN109753617A (zh) * | 2019-01-14 | 2019-05-14 | 广州虎牙信息科技有限公司 | 一种页面显示方法、设备和存储介质 |
CN110083289A (zh) * | 2019-04-23 | 2019-08-02 | 努比亚技术有限公司 | 一种按钮显示方法、可穿戴设备和计算机可读存储介质 |
CN110221734A (zh) * | 2018-03-01 | 2019-09-10 | 华为技术有限公司 | 信息显示方法、图形用户接口及终端 |
CN110471611A (zh) * | 2019-08-20 | 2019-11-19 | 广州视源电子科技股份有限公司 | 键盘启动的方法、装置、终端设备和存储介质 |
CN111143725A (zh) * | 2019-11-15 | 2020-05-12 | 北京字节跳动网络技术有限公司 | 页面生成方法、装置和电子设备 |
CN111221599A (zh) * | 2018-11-23 | 2020-06-02 | 奇酷互联网络科技(深圳)有限公司 | 一种悬浮窗显示的方法、移动终端及存储介质 |
-
2020
- 2020-08-18 CN CN202010833846.9A patent/CN111949358A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853712A (zh) * | 2012-11-28 | 2014-06-11 | 金蝶软件(中国)有限公司 | 一种浮动层窗口的显示方法及浏览器 |
CN103986962A (zh) * | 2014-06-03 | 2014-08-13 | 合一网络技术(北京)有限公司 | 显示悬浮式播放窗口的方法和*** |
CN104572967A (zh) * | 2014-12-30 | 2015-04-29 | 北京奇虎科技有限公司 | 一种在页面绘制图形的方法和装置 |
CN105915933A (zh) * | 2016-06-27 | 2016-08-31 | 北京奇虎科技有限公司 | 利用寄生工具包实现的视频推送方法及装置 |
CN110221734A (zh) * | 2018-03-01 | 2019-09-10 | 华为技术有限公司 | 信息显示方法、图形用户接口及终端 |
CN109246464A (zh) * | 2018-08-22 | 2019-01-18 | Oppo广东移动通信有限公司 | 用户界面显示方法、装置、终端及存储介质 |
CN111221599A (zh) * | 2018-11-23 | 2020-06-02 | 奇酷互联网络科技(深圳)有限公司 | 一种悬浮窗显示的方法、移动终端及存储介质 |
CN109753617A (zh) * | 2019-01-14 | 2019-05-14 | 广州虎牙信息科技有限公司 | 一种页面显示方法、设备和存储介质 |
CN110083289A (zh) * | 2019-04-23 | 2019-08-02 | 努比亚技术有限公司 | 一种按钮显示方法、可穿戴设备和计算机可读存储介质 |
CN110471611A (zh) * | 2019-08-20 | 2019-11-19 | 广州视源电子科技股份有限公司 | 键盘启动的方法、装置、终端设备和存储介质 |
CN111143725A (zh) * | 2019-11-15 | 2020-05-12 | 北京字节跳动网络技术有限公司 | 页面生成方法、装置和电子设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112269959A (zh) * | 2020-11-19 | 2021-01-26 | 北京有竹居网络技术有限公司 | 展示内容的控制方法、装置、可读介质和电子设备 |
CN112269959B (zh) * | 2020-11-19 | 2024-05-24 | 北京有竹居网络技术有限公司 | 展示内容的控制方法、装置、可读介质和电子设备 |
WO2023065707A1 (zh) * | 2021-10-21 | 2023-04-27 | 深圳前海微众银行股份有限公司 | 一种页面显示方法及装置 |
CN114090938A (zh) * | 2021-11-29 | 2022-02-25 | 北京字节跳动网络技术有限公司 | 页面处理方法及设备 |
WO2023093476A1 (zh) * | 2021-11-29 | 2023-06-01 | 北京字节跳动网络技术有限公司 | 页面处理方法及设备 |
WO2023202407A1 (zh) * | 2022-04-19 | 2023-10-26 | 华为技术有限公司 | 应用的显示方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046021B (zh) | 一种页面显示方法、装置、***、设备和存储介质 | |
WO2022156368A1 (zh) | 推荐信息展示方法及装置 | |
CN111949358A (zh) | 动态显示的方法、装置、可读介质和电子设备 | |
CN109460233B (zh) | 页面的原生界面显示更新方法、装置、终端设备及介质 | |
CN111399729A (zh) | 图像的绘制方法、装置、可读介质和电子设备 | |
CN111026491B (zh) | 界面显示方法、装置、电子设备、服务器及存储介质 | |
CN110990105A (zh) | 界面显示方法、装置、电子设备及存储介质 | |
CN110070593B (zh) | 图片预览信息的显示方法、装置、设备及介质 | |
CN110990075A (zh) | 快应用的启动方法、装置、设备及存储介质 | |
CN112764612A (zh) | 互动方法、装置、电子设备和存储介质 | |
CN112217671B (zh) | 基于拆分部署的前端微服务进行界面显示的方法及设备 | |
CN114491349B (zh) | 页面显示方法、装置、电子设备、存储介质和程序产品 | |
CN114610428B (zh) | 信息流的显示方法、装置、设备、存储介质及程序 | |
CN106843794B (zh) | 一种基于安卓的分屏显示方法和*** | |
CN113934349B (zh) | 交互方法、装置、电子设备和存储介质 | |
CN114168018A (zh) | 数据交互方法、装置、电子设备、存储介质和程序产品 | |
CN112749362A (zh) | 控件创建方法、装置、设备及存储介质 | |
CN114679628B (zh) | 一种弹幕添加方法、装置、电子设备和存储介质 | |
CN111078325B (zh) | 应用程序运行方法、装置、电子设备及存储介质 | |
CN114817630A (zh) | 卡片的显示方法、装置、电子设备、存储介质和程序产品 | |
CN111324376A (zh) | 功能配置方法、装置、电子设备及计算机可读介质 | |
CN111046265B (zh) | 卡片数据显示方法、装置、设备及存储介质 | |
CN112256370A (zh) | 信息显示方法、装置和电子设备 | |
CN115878115A (zh) | 页面渲染方法、装置、介质和电子设备 | |
CN115097984B (zh) | 交互方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |