CN114547523A - 在直播间中进行活动导航的方法、装置、设备及存储介质 - Google Patents

在直播间中进行活动导航的方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114547523A
CN114547523A CN202210192988.0A CN202210192988A CN114547523A CN 114547523 A CN114547523 A CN 114547523A CN 202210192988 A CN202210192988 A CN 202210192988A CN 114547523 A CN114547523 A CN 114547523A
Authority
CN
China
Prior art keywords
activity
active
navigation
page
webview
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
Application number
CN202210192988.0A
Other languages
English (en)
Inventor
马颂智
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bigo Technology Pte Ltd
Original Assignee
Bigo Technology Pte Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Bigo Technology Pte Ltd filed Critical Bigo Technology Pte Ltd
Priority to CN202210192988.0A priority Critical patent/CN114547523A/zh
Publication of CN114547523A publication Critical patent/CN114547523A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请公开了一种在直播间中进行活动导航的方法、装置、设备及存储介质,该方法包括:当检测到用户对直播间中的网页视图WebView的触发行为时,判断WebView是否具有导航配置;若WebView具有导航配置,则获取与用户相关的多个活动对象的活动配置数据,活动配置数据包括活动标签;调用乾坤架构根据各活动对象的活动配置数据分别为活动对象分配活动容器;获取各活动对象对应的活动页面资源,并将活动页面资源存入活动对象对应的活动容器中;从多个活动对象中确定需要显示的目标活动对象,并将目标活动对象的活动容器挂载到乾坤架构的主项目下;在WebView中打开活动导航页面。使用一个WebView来加载多个活动,多个活动基于web容器进行加载,使得占用内存更少。

Description

在直播间中进行活动导航的方法、装置、设备及存储介质
技术领域
本申请涉及业务处理技术领域,尤其涉及一种在直播间中进行活动导航的方法、一种在直播间中进行活动导航的装置、一种电子设备、一种计算机可读存储介质以及一种计算机程序产品。
背景技术
目前,直播间中展示活动的方式包括活动面板和轮播入口,其中,活动面板是指在直播间中展示的一定大小的webview(网页视图);轮播入口是指直播间中轮播展示的另一种大小的webview,一定时间间隔后会切换到下一个活动入口。在一些直播间中,如果同时期内有多个活动正在进行中,通过活动面板和轮播入口这两种展示位置不能在直播间内及时告知用户可参与多个活动,对公司营收有一定的影响。
相关技术中采用由客户端(ios/android)原生开发完成的半屏导航功能进行多个活动同时显示且支持切换的场景,其实现方式为:客户端为每个活动分配一个webview,当前显示的活动会放置到前台,其他活动则隐藏于后台。这种方式实现起来最为简单,同时弊端也是很明显的,这是因为同时为多个活动建立同等数量的webview,在性能上会占用大部分内存空间,容易导致客户端崩溃率上升。
发明内容
本申请提供了一种在直播间中进行活动导航的方法、装置、设备及存储介质,以解决客户端为每个活动分配一个webview导致的内存空间占用较大、客户端容易崩溃的问题。
根据本申请的一方面,提供了一种在直播间中进行活动导航的方法,所述方法包括:
当检测到用户对直播间中的网页视图WebView的触发行为时,判断所述WebView是否具有导航配置;
若所述WebView具有导航配置,则获取与所述用户相关的多个活动对象的活动配置数据,所述活动配置数据包括活动标签;
调用乾坤架构根据各活动对象的活动配置数据分别为所述活动对象分配活动容器;
获取各活动对象对应的活动页面资源,并将所述活动页面资源存入所述活动对象对应的活动容器中;
从所述多个活动对象中确定需要显示的目标活动对象,并将所述目标活动对象的活动容器挂载到所述乾坤架构的主项目下;
在所述WebView中打开活动导航页面,所述活动导航页面中包括导航栏区域以及活动内容显示区域,所述导航栏区域用于显示各活动对象的活动标签,所述活动内容显示区域用于显示基于所述乾坤架构生成的所述目标活动对象的活动内容。
根据本申请的另一方面,提供了一种在直播间中进行活动导航的装置,所述装置包括:
导航配置判断模块,用于当检测到用户对直播间中的网页视图WebView的触发行为时,判断所述WebView是否具有导航配置;
活动配置数据获取模块,用于若所述WebView具有导航配置,则获取与所述用户相关的多个活动对象的活动配置数据,所述活动配置数据包括活动标签;
活动容器分配模块,用于调用乾坤架构根据各活动对象的活动配置数据分别为所述活动对象分配活动容器;
资源获取模块,用于获取各活动对象对应的活动页面资源,并将所述活动页面资源存入所述活动对象对应的活动容器中;
容器挂载模块,用于从所述多个活动对象中确定需要显示的目标活动对象,并将所述目标活动对象的活动容器挂载到所述乾坤架构的主项目下;
活动导航页面显示模块,用于在所述WebView中打开活动导航页面,所述活动导航页面中包括导航栏区域以及活动内容显示区域,所述导航栏区域用于显示各活动对象的活动标签,所述活动内容显示区域用于显示基于所述乾坤架构生成的所述目标活动对象的活动内容。
根据本申请的另一方面,提供了一种电子设备,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任一实施例所述的一种在直播间中进行活动导航的方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本申请任一实施例所述的一种在直播间中进行活动导航的方法。
根据本申请的另一方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现本申请任一实施例所述的一种在直播间中进行活动导航的方法。
在本实施例中,当检测到用户对直播间中的WebView的触发行为时,如果判定该WebView具有导航配置,则可以获取与该用户相关的多个活动对象的活动配置数据,然后调用乾坤架构根据各活动对象的活动配置数据分别为各个活动对象分配活动容器,在获取各活动对象对应的活动页面资源以后,会将该活动页面资源存入其对应的活动容器中。对于需要显示的目标活动对象,通过将目标活动对象的活动容器挂载到乾坤架构的主项目下,就可以在WebView中打开活动导航页面的活动内容显示区域中显示目标活动对象的活动内容,同时在活动导航页面的导航栏区域中显示各活动对象的活动标签。这样采用一个WebView以及与活动对象同等数量的活动容器就可以实现多个活动对象展示在同个WebView中,WebView的环境是同一套,不同活动页面中相同的代码部分可以只运行一遍,便可在不同活动中使用,达到了资源的节流,且内存占用更少。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例一提供了一种在直播间中进行活动导航的方法的流程图;
图2是本申请实施例一提供了一种活动导航页面示意图;
图3是本申请实施例二提供的一种在直播间中进行活动导航的装置的结构示意图;
图4是实现本申请实施例的一种在直播间中进行活动导航的方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例一
图1为本申请实施例一提供了一种在直播间中进行活动导航的方法的流程图,可以应用于直播应用程序的客户端中,可以应用于在直播间中通过活动导航页面展示多个活动,且支持活动切换的场景。例如,圣诞节与元旦节的很多活动,在一些地区需要同时上线,再加上一些日常活动,用户和主播可参与的活动会有5-10个的范围,目前直播间内曝光活动的入口有活动面板以及轮播入口这2个位置,通过本实施例可以在这2个位置拉起半屏或全屏页面,在半屏或全屏页面中通过导航栏来显示不同的活动,并显示当前选中活动的活动内容,实现让用户在直播间便能参与多个活动的能力,提升了活动曝光率与活动参与率,从而提升公司营收。
如图1所示,该方法可以包括如下步骤:
步骤110,当检测到用户对直播间中的网页视图WebView的触发行为时,判断所述WebView是否具有导航配置。
其中,WebView是一个基于webkit引擎、展现web页面的控件。WebView除了具有一般View的属性和设置外,还可以对url请求、页面加载、渲染、页面交互、可和JavaScript交互调用等进行强大的处理。
直播间中的WebView至少可以包括活动面板WebView和轮播入口WebView,其中,活动面板WebView的尺寸会比轮播入口WebView的尺寸大点,例如,活动面板WebView的尺寸为180*250,轮播入口WebView的尺寸为160*160。对于轮播入口WebView而言,每过5秒会切换到下一个活动入口。
当用户点击活动面板WebView或轮播入口WebView中的页面时,则判定为检测到用户对直播间中的WebView的触发行为,然后可以进一步判断当前WebView是否具有导航配置。如果当前WebView具有导航配置,意味着可以通过当前WebView打开活动导航页面。其中,为了便于用户查看,活动导航页面可以为半屏导航页,其尺寸可以比当前WebView的尺寸略大。
在一种实施例中,步骤110进一步可以包括如下步骤:
获取所述WebView的入口页面的URL地址;从所述URL地址中读取导航配置参数的值;若所述导航配置参数的值为第一设定值,则判定所述WebView具有导航配置。
具体的,WebView的入口页面的URL地址的参数部分可以包括用于指示当前WebView是否具有导航配置的导航配置参数,如果该导航配置参数的值为第一设定值,则可以判定当前WebView具有导航配置。如果该导航配置参数的值为第二设定值,则可以判定当前WebView不具有导航配置。例如,假设导航配置参数为hasHalfScreen,若hasHalfScreen=1,则判定当前WebView具有导航配置;若hasHalfScreen=0,则判定当前WebView不具有导航配置。
步骤120,若所述WebView具有导航配置,则获取与所述用户相关的多个活动对象的活动配置数据。
示例性地,活动配置数据可以包括活动标签、活动ID、活动主题、活动图标等。
其中,活动对象的数量可以依据活动导航页面中的区域布局确定,例如,如果活动导航页面中可以显示8个活动对象,则可以获取8个活动对象的活动配置数据。
在一种实施例中,步骤120进一步可以包括如下步骤:
根据当前用户的用户标识生成活动配置请求,并将所述活动配置请求发送至服务器中;接收所述服务器基于所述活动配置请求返回的与所述用户相关的多个活动对象的活动配置数据。
在该实施例中,通过请求响应的方式,从服务器中获得与用户相关的多个活动对象的活动配置数据。其中,该多个活动对象可以是固定的活动对象,在这种情况下每个用户拉取的活动对象都是相同的。或者,该多个活动对象也可以是根据预设的业务逻辑为当前用户个性化推荐的活动对象(例如,计算当前用户与已有活动列表中各活动对象的匹配程度,然后选取匹配程度最大的前N个活动对象,获取其活动配置数据返回),本实施例对此不作限定。
在实际中,服务器在返回多个活动对象的活动配置数据时,还可以根据预设的业务逻辑从该多个活动对象中选择默认活动对象,并标记该默认活动对象。该默认活动对象可以为根据一定的策略选取的对象,也可以是开发人员预先标记的活动对象,或者是用户上一次打开活动导航页面时最后点击的活动对象,本实施例对此不作限定。
这样,客户端在接收到该多个活动对象的活动配置数据时,就可以根据该默认活动对象,对js文件中与默认活动对象的相关数据进行更新。例如,如果当前的WebView中具有导航配置,则其js文件中会包含该活动导航页面的URL,为了便于区分,此处称为导航URL地址。该导航URL地址的参数部分可以包含默认活动对象的相关信息,如活动标识、活动标签等。当确定默认活动对象以后,则可以对该js文件的相关信息进行更新。
步骤130,调用乾坤架构根据各活动对象的活动配置数据分别为所述活动对象分配活动容器。
在本实施例中,可以为每个活动对象都分配一个活动容器,通过活动容器来承载活动对象的活动页面资源,实现了对活动对象的活动页面资源的分离,为后续的活动切换提供了数据基础。
在实现时,本实施例的活动容器是基于微前端方案乾坤架构(qiankunjs)实现的,每个活动容器的运行要在乾坤中运行。其中,乾坤是一个微前端框架,它基于single-spa(一种微前端框架),具备js(JavaScript,一种编程语言)沙箱、样式隔离、HTML Loader(HTML加载)、预加载等微前端系统所需的能力,可以用于任意js框架。
其中,每个活动容器在构建时可以提供多个状态钩子予以乾坤调用状态的切换,例如,状态钩子可以包括bootstrap(初始化)、mount(挂载)、unmount(卸载)、update(更新)、destroy(销毁)等。
步骤140,获取各活动对象对应的活动页面资源,并将所述活动页面资源存入所述活动对象对应的活动容器中。
其中,活动页面资源可以包括html、js、css等资源。
在实现时,可以通过客户端或者乾坤架构的预加载功能来预加载各活动对象对应的活动页面资源,以尽可能地缩短活动显示时的白屏时长。
在一种实施例中,上述获取各活动对象对应的活动页面资源的步骤,进一步可以包括如下步骤:
调用所述乾坤架构的应用预加载方法,在空闲时间通过xhr请求从服务器中预加载所述活动对象的活动页面资源。
本实施例采用乾坤框架的html预加载功能,调用乾坤架构提供的应用预加载(prefetchApps)方法,在空闲时逐步通过xhr(XML Http Request,可扩展超文本传输)请求向服务器预加载各活动对象的活动页面资源。
在进行资源的预加载时,可以按照预设的次序来预加载各活动对象的活动页面资源,例如,默认活动对象的资源会加入预加载功能,位于该默认活动对象两侧的活动对象也会在默认活动对象之后加入预加载功能,以此类推。
在一种实现中,预加载的活动页面资源会存入客户端缓存中,则后续对该活动资源的请求,不再需要进行xhr请求,使得加载时间更短。后续可以从缓存中读取活动页面资源存入其活动对象对应的活动容器中。
在另一种实现中,也可以直接将活动页面资源存入其活动对象对应的活动容器中。
在另一种实施例中,上述获取各活动对象对应的活动页面资源的步骤,可以包括如下步骤:
拦截所述乾坤架构发起的所述xhr请求;将所述xhr请求中的资源头部信息与客户端本地缓存的资源进行匹配,若匹配成功,则从所述本地缓存中获取对应的活动页面资源,并将所述活动页面资源通过xhr响应返回。
本实施例对接客户端的预加载功能,在本实施例中,对乾坤框架发出的xhr请求进行拦截,然后从该xhr请求中提取出资源头部信息,接着将该资源头部信息与客户端本地缓存的资源进行匹配,以判断所请求的资源是否有本地缓存。如果匹配成功,则表示有本地缓存,则可以拉取客户端本地缓存中的活动页面资源,再通过xhr响应该拦截,以模拟浏览器xhr请求返回活动页面资源。本实施例通过在web容器应用层无注入代码的方式对具体活动代码请求进行拦截操作,由于无需从服务器中进行资源请求,提高了数据加载的效率。
步骤150,从所述多个活动对象中确定需要显示的目标活动对象,并将所述目标活动对象的活动容器挂载到所述乾坤架构的主项目下。
该步骤可以由乾坤架构确定目标活动对象,并进行活动的挂载。
在一种实施例中,步骤150进一步可以包括如下步骤:
获取所述WebView的入口页面的入口页面资源,并从所述入口页面资源中获取所述活动导航页面的导航URL地址;从所述导航URL地址中确定默认活动对象,作为所述目标活动对象。。
该实施例可以获取当前WebView的入口页面(如活动面板中显示的页面或者轮播入口中显示的页面)的入口页面资源,如js文件,然后从该入口页面资源中找到指向活动导航页面的导航URL地址,并从该导航URL地址的参数部分提取出默认活动对象的信息,将默认活动对象作为目标活动对象。
此外,当导航容器确定默认活动对象以后,可以获得该默认活动对象的活动序号,然后将该序号前后相邻序号的活动对象加入到预加载功能中,以便于在空闲阶段进行上述活动对象的资源的下载和渲染。
当确定目标活动对象以后,则可以触发该目标活动对象的mount方法,以将该目标活动对象的活动容器挂载到乾坤架构已有的主项目下。这样在进行活动内容展示时,乾坤框架就可以展示挂载在其主项目下的活动容器中的活动内容。
步骤160,在所述WebView中打开活动导航页面,其中,活动导航页面中可以包括导航栏区域以及活动内容显示区域,所述导航栏区域用于显示各活动对象的活动标签,所述活动内容显示区域用于显示基于所述乾坤架构生成的所述目标活动对象的活动内容。
例如,一种活动导航页面可以如图2所示(图2的导航页面以展示3个活动对象为例进行说明),可以包括A部分的导航栏区域以及B部分的活动内容显示区域。其中,导航栏区域用于显示各活动对象的活动标签,比如图2中的活动标签1、活动标签2、活动标签3等。活动内容显示区域用于显示基于乾坤架构生成的当前目标活动对象的活动内容。在实现时,导航栏区域是客户端基于活动标签进行渲染的,而活动内容显示区域是由乾坤框架渲染的。
在一种实施例中,目标活动对象还可以是用户发起活动切换操作后确定的活动对象,当检测到用户发起的活动切换操作时,可以将切换后需要显示的活动对象作为用户指定的目标活动对象。例如,在图2中,若用户由“活动标签1”切换至“活动标签2”,则可以将活动标签2对应的活动对象作为目标活动对象。
在一种实施例中,在用户发起活动切换操作以后,在将用户指定的目标活动对象的活动容器挂载到乾坤架构的主项目下之前,本实施例还可以包括如下步骤:
将前一个挂载在所述乾坤架构的主项目下的目标活动对象的活动容器卸载,并获取该活动对象的操作数据进行缓存,以便于下次再切换回该活动对象时,显示的活动内容与该活动对象上一次显示的活动内容相同。
在实现时,用户发起的活动切换操作会触发前一个活动对象的活动容器从主项目中卸载,在实现时可以通过触发前一个活动对象的unmount方法,将其活动容器从主项目中卸载。
需要说明的是,对于挂起的原活动对象对应的子项目,可以将该子项目的数据通过localstorage api存储在本地数据库中,以便于后续切换回该活动对象时的数据获取。
然后可以获取前一个活动对象的操作数据进行缓存,示例性地,该操作数据可以包括URL配置、当前浏览历史、用户操作的内容等。在实现缓存时,可以通过localstorageapi将操作数据存储在本地数据库中,也可以将操作数据存储在该活动对象对应的活动容器中,本实施例对此不作限定。后续再切换回该活动对象时,则可以将缓存的操作数据一并拉回,例如触发html原生的window.history.replaceState方法,将浏览历史一并插入到webview中;同时使用vuex(一种web数据管理插件)加载用户操作的数据变更。从而使得用户看到切换前的活动展示,不会意识到这是在同个页面中显示不同的活动效果。
在完成对前一个活动对象的处理以后,则可以对用户指定的目标活动对象进行处理,该处理包括判断该目标活动对象对应的活动页面资源是否加载或渲染完成。
如果该目标活动对象的活动页面资源还没下载则需要进行资源下载,此时会有一段白屏时长;若该目标活动对象的活动页面资源已下载但未渲染,则会先加载骨架屏,使得在用户交互上不会显示白屏;若该目标活动对象的活动页面资源已下载并已渲染,在切换时则可以流畅显示下一个活动的页面,并开始该活动页面的接口请求。
若目标活动对象对应的活动页面资源已经加载完成,则可以将其活动容器挂载到乾坤架构的主项目下,以实现活动导航页面的更新,在这种情况下,活动导航页面会显示目标活动对象以及其活动内容。
在一种实施例中,还可以包括如下步骤:
当检测到用户切换回所述默认活动对象时,将所述第二活动页面所在的子项目从所述主项目下卸载;获取所述默认活动对象在上一次的浏览历史和数据变更;将所述默认活动对象的第一活动页面、所述浏览历史以及所述数据变更作为子项目挂载在所述主项目下。
在一种实施例中,若入口页面包括轮播入口页面,该轮播入口页面用于每隔预设时间段轮播展示多个轮播活动入口,例如轮播展示6个轮播活动入口。则本实施例还可以包括如下步骤:
监控所述多个轮播活动入口的触发事件;确定预设时间段内没有监控到触发事件的目标轮播活动入口,并在所述轮播入口页面中将该目标轮播活动入口隐藏。
例如,该触发事件可以包括点击轮播活动入口的点击事件,或者,左右滑动轮播活动入口的滑动事件等。
如果某个轮播活动入口在预设时间段内没有监控到触发事件(例如3天没被点击),则表示用户对该轮播活动入口不感兴趣,此时可以隐藏该轮播活动入口。
在一种实施例中,还可以包括如下步骤:
判断当前触发的目标活动对象是否为被隐藏的所述目标轮播活动入口;若是,则重新在所述轮播入口页面中展示该目标轮播活动入口。
在该实施例中,某个活动对象如果在轮播入口中隐藏了,但在活动导航页面中依然存在,此时,如果用户在活动导航页面中点击该活动对象,则表示用户又对该活动对象感兴趣,此时可以在轮播入口页面中重新展示该活动对象的目标轮播活动入口。
在本实施例中,当检测到用户对直播间中的WebView的触发行为时,如果判定该WebView具有导航配置,则可以获取与该用户相关的多个活动对象的活动配置数据,然后调用乾坤架构根据各活动对象的活动配置数据分别为各个活动对象分配活动容器,在获取各活动对象对应的活动页面资源以后,会将该活动页面资源存入其对应的活动容器中。对于需要显示的目标活动对象,通过将目标活动对象的活动容器挂载到乾坤架构的主项目下,就可以在WebView中打开活动导航页面的活动内容显示区域中显示目标活动对象的活动内容,同时在活动导航页面的导航栏区域中显示各活动对象的活动标签。这样采用一个WebView以及与活动对象同等数量的活动容器就可以实现多个活动对象展示在同个WebView中,WebView的环境是同一套,不同活动页面中相同的代码部分可以只运行一遍,便可在不同活动中使用,达到了资源的节流,且内存占用更少。
另外,本实施例结合预加载功能,可以使得加载资源更早,切换时已经渲染的概率更高。
实施例二
图3为本申请实施例二提供的一种在直播间中进行活动导航的装置的结构示意图,可以包括如下模块:
导航配置判断模块310,用于当检测到用户对直播间中的网页视图WebView的触发行为时,判断所述WebView是否具有导航配置;
活动配置数据获取模块320,用于若所述WebView具有导航配置,则获取与所述用户相关的多个活动对象的活动配置数据,所述活动配置数据包括活动标签;
活动容器分配模块330,用于调用乾坤架构根据各活动对象的活动配置数据分别为所述活动对象分配活动容器;
资源获取模块340,用于获取各活动对象对应的活动页面资源,并将所述活动页面资源存入所述活动对象对应的活动容器中;
容器挂载模块350,用于从所述多个活动对象中确定需要显示的目标活动对象,并将所述目标活动对象的活动容器挂载到所述乾坤架构的主项目下;
活动导航页面显示模块360,用于在所述WebView中打开活动导航页面,所述活动导航页面中包括导航栏区域以及活动内容显示区域,所述导航栏区域用于显示各活动对象的活动标签,所述活动内容显示区域用于显示基于所述乾坤架构生成的所述目标活动对象的活动内容。
在一种实施例中,资源获取模块340具体用于:
调用所述乾坤架构的应用预加载方法,在空闲时间通过xhr请求从服务器中预加载所述活动对象的活动页面资源。
在另一种实施例中,资源获取模块340具体用于:
拦截所述乾坤架构发起的所述xhr请求;
将所述xhr请求中的资源头部信息与客户端本地缓存的资源进行匹配,若匹配成功,则从所述本地缓存中获取对应的活动页面资源,并将所述活动页面资源通过xhr响应返回。
在一种实施例中,容器挂载模块350具体用于:
获取所述WebView的入口页面的入口页面资源,并从所述入口页面资源中获取所述活动导航页面的导航URL地址;
从所述导航URL地址中确定默认活动对象,作为所述目标活动对象。
在另一种实施例中,容器挂载模块350还用于:
检测用户发起的活动切换操作;
根据所述活动切换操作,确定用户指定的目标活动对象。
在一种实施例中,当用户发起活动切换操作时,所述装置还包括如下模块:
卸载模块,用于在将所述目标活动对象的活动容器挂载到所述乾坤架构的主项目下之前,将前一个挂载在所述乾坤架构的主项目下的目标活动对象的活动容器卸载,并获取该活动对象的操作数据进行缓存,以便于下次再切换回该活动对象时,显示的活动内容与该活动对象上一次显示的活动内容相同。
在一种实施例中,所述入口页面包括轮播入口页面,所述轮播入口页面用于每隔预设时间段轮播展示多个轮播活动入口;
所述装置还可以包括模块:
监控所述多个轮播活动入口的触发事件;
隐藏模块,用于确定预设时间段内没有监控到触发事件的目标轮播活动入口,并在所述轮播入口页面中将该目标轮播活动入口隐藏。
在一种实施例中,所述装置还可以包括模块:
重新展示模块,用于判断当前触发的目标活动对象是否为被隐藏的所述目标轮播活动入口;若是,则重新在所述轮播入口页面中展示该目标轮播活动入口。
在一种实施例中,所述导航配置判断模块310具体用于:
获取所述WebView的入口页面的URL地址;
从所述URL地址中读取导航配置参数的值;
若所述导航配置参数的值为第一设定值,则判定所述WebView具有导航配置。
在一种实施例中,所述活动配置数据获取模块320具体用于:
根据当前用户的用户标识生成活动配置请求,并将所述活动配置请求发送至服务器中;
接收所述服务器基于所述活动配置请求返回的与所述用户相关的多个活动对象的活动配置数据。
本申请实施例所提供的一种在直播间中进行活动导航的装置可执行本申请任意实施例所提供的一种在直播间中进行活动导航的方法,具备执行方法相应的功能模块和有益效果。
实施例三
图4示出了可以用来实施本申请的方法实施例的电子设备10的结构示意图。电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如一种在直播间中进行活动导航的方法。
在一些实施例中,一种在直播间中进行活动导航的方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的一种在直播间中进行活动导航的方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行一种在直播间中进行活动导航的方法。
在本申请的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

Claims (14)

1.一种在直播间中进行活动导航的方法,其特征在于,所述方法包括:
当检测到用户对直播间中的网页视图WebView的触发行为时,判断所述WebView是否具有导航配置;
若所述WebView具有导航配置,则获取与所述用户相关的多个活动对象的活动配置数据,所述活动配置数据包括活动标签;
调用乾坤架构根据各活动对象的活动配置数据分别为所述活动对象分配活动容器;
获取各活动对象对应的活动页面资源,并将所述活动页面资源存入所述活动对象对应的活动容器中;
从所述多个活动对象中确定需要显示的目标活动对象,并将所述目标活动对象的活动容器挂载到所述乾坤架构的主项目下;
在所述WebView中打开活动导航页面,所述活动导航页面中包括导航栏区域以及活动内容显示区域,所述导航栏区域用于显示各活动对象的活动标签,所述活动内容显示区域用于显示基于所述乾坤架构生成的所述目标活动对象的活动内容。
2.根据权利要求1所述的方法,其特征在于,所述获取各活动对象对应的活动页面资源,包括:
调用所述乾坤架构的应用预加载方法,在空闲时间通过可扩展超文本传输xhr请求从服务器中预加载所述活动对象的活动页面资源。
3.根据权利要求1所述的方法,其特征在于,所述获取各活动对象对应的活动页面资源,包括:
拦截所述乾坤架构发起的所述xhr请求;
将所述xhr请求中的资源头部信息与客户端本地缓存的资源进行匹配,若匹配成功,则从所述本地缓存中获取对应的活动页面资源,并将所述活动页面资源通过xhr响应返回。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述从所述多个活动对象中确定需要显示的目标活动对象,包括:
获取所述WebView的入口页面的入口页面资源,并从所述入口页面资源中获取所述活动导航页面的导航URL地址;
从所述导航URL地址中确定默认活动对象,作为所述目标活动对象。
5.根据权利要求4所述的方法,其特征在于,所述从所述多个活动对象中确定需要显示的目标活动对象,还包括:
检测用户发起的活动切换操作;
根据所述活动切换操作,确定用户指定的目标活动对象。
6.根据权利要求5所述的方法,其特征在于,在所述将所述目标活动对象的活动容器挂载到所述乾坤架构的主项目下之前,所述方法还包括:
将前一个挂载在所述乾坤架构的主项目下的目标活动对象的活动容器卸载,并获取该活动对象的操作数据进行缓存,以便于下次再切换回该活动对象时,显示的活动内容与该活动对象上一次显示的活动内容相同。
7.根据权利要求4所述的方法,其特征在于,所述入口页面包括轮播入口页面,所述轮播入口页面用于每隔预设时间段轮播展示多个轮播活动入口;
所述方法还包括:
监控所述多个轮播活动入口的触发事件;
确定预设时间段内没有监控到触发事件的目标轮播活动入口,并在所述轮播入口页面中将该目标轮播活动入口隐藏。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
判断当前触发的目标活动对象是否为被隐藏的所述目标轮播活动入口;
若是,则重新在所述轮播入口页面中展示该目标轮播活动入口。
9.根据权利要求1所述的方法,其特征在于,所述判断所述WebView是否具有导航配置,包括:
获取所述WebView的入口页面的URL地址;
从所述URL地址中读取导航配置参数的值;
若所述导航配置参数的值为第一设定值,则判定所述WebView具有导航配置。
10.根据权利要求1所述的方法,其特征在于,所述获取与所述用户相关的多个活动对象的活动配置数据,包括:
根据当前用户的用户标识生成活动配置请求,并将所述活动配置请求发送至服务器中;
接收所述服务器基于所述活动配置请求返回的与所述用户相关的多个活动对象的活动配置数据。
11.一种在直播间中进行活动导航的装置,其特征在于,所述装置包括:
导航配置判断模块,用于当检测到用户对直播间中的网页视图WebView的触发行为时,判断所述WebView是否具有导航配置;
活动配置数据获取模块,用于若所述WebView具有导航配置,则获取与所述用户相关的多个活动对象的活动配置数据,所述活动配置数据包括活动标签;
活动容器分配模块,用于调用乾坤架构根据各活动对象的活动配置数据分别为所述活动对象分配活动容器;
资源获取模块,用于获取各活动对象对应的活动页面资源,并将所述活动页面资源存入所述活动对象对应的活动容器中;
容器挂载模块,用于从所述多个活动对象中确定需要显示的目标活动对象,并将所述目标活动对象的活动容器挂载到所述乾坤架构的主项目下;
活动导航页面显示模块,用于在所述WebView中打开活动导航页面,所述活动导航页面中包括导航栏区域以及活动内容显示区域,所述导航栏区域用于显示各活动对象的活动标签,所述活动内容显示区域用于显示基于所述乾坤架构生成的所述目标活动对象的活动内容。
12.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-10中任一项所述的一种在直播间中进行活动导航的方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-10中任一项所述的一种在直播间中进行活动导航的方法。
14.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-10中任一项所述的一种在直播间中进行活动导航的方法。
CN202210192988.0A 2022-03-01 2022-03-01 在直播间中进行活动导航的方法、装置、设备及存储介质 Pending CN114547523A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210192988.0A CN114547523A (zh) 2022-03-01 2022-03-01 在直播间中进行活动导航的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210192988.0A CN114547523A (zh) 2022-03-01 2022-03-01 在直播间中进行活动导航的方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114547523A true CN114547523A (zh) 2022-05-27

Family

ID=81662019

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210192988.0A Pending CN114547523A (zh) 2022-03-01 2022-03-01 在直播间中进行活动导航的方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114547523A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115297336A (zh) * 2022-07-06 2022-11-04 北京达佳互联信息技术有限公司 任务处理方法、装置及电子设备、存储介质和程序产品

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115297336A (zh) * 2022-07-06 2022-11-04 北京达佳互联信息技术有限公司 任务处理方法、装置及电子设备、存储介质和程序产品
CN115297336B (zh) * 2022-07-06 2024-03-19 北京达佳互联信息技术有限公司 任务处理方法、装置及电子设备、存储介质和程序产品

Similar Documents

Publication Publication Date Title
US9021367B2 (en) Metadata capture for screen sharing
EP1807771B1 (en) Method and system for communicating and exchanging data between browser frames
US20140143644A1 (en) Web browser page transition acceleration
WO2009140386A1 (en) Apparatus and methods for interacting with multiple information forms across multiple types of computing devices
US20140344670A1 (en) Method and system for on-demand delivery of predefined in-context web content
CN109361948B (zh) 界面管理方法、智能终端及可读存储介质
CN109525855A (zh) 用于处理信息的方法和装置
CN109885793A (zh) 页面数据采集方法及装置、电子设备、存储介质
CN106897318A (zh) 移动终端设备上应用页面的展示方法及装置
CN108319474B (zh) 一种页面信息生成方法、装置和设备
US10541854B2 (en) Component loading based on user interactions
CN109800370A (zh) 网页页面的显示方法、装置、计算机设备及存储介质
CN114547523A (zh) 在直播间中进行活动导航的方法、装置、设备及存储介质
US10725797B2 (en) Service-driven dynamic user interface technology
CN110442819A (zh) 数据处理方法、装置、存储介质及终端
CN108959393B (zh) 动态图片处理方法、装置及存储介质
CN109101429B (zh) 一种机顶盒的浏览器页面调试的方法及装置
US11190573B2 (en) Techniques for improving implementation of a remote browser within a local browser
CN111131359A (zh) 用于生成信息的方法和装置
CN111125503A (zh) 用于生成信息的方法和装置
CN110688282B (zh) 网页性能数据的监测、监测任务分发方法及装置
CN114385124A (zh) 基于Vue框架的独立页面的跳转方法、装置及设备
CN105531661A (zh) 全屏内容查看界面进入
CN112287261A (zh) 资源加载方法和电子设备
CN113760273A (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