CN115687827B - 原生页面与h5页面路径连通方法、装置、设备及介质 - Google Patents
原生页面与h5页面路径连通方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115687827B CN115687827B CN202211430077.3A CN202211430077A CN115687827B CN 115687827 B CN115687827 B CN 115687827B CN 202211430077 A CN202211430077 A CN 202211430077A CN 115687827 B CN115687827 B CN 115687827B
- Authority
- CN
- China
- Prior art keywords
- page
- data item
- native
- path
- current
- 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.)
- Active
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本申请提供了一种原生页面与H5页面路径连通方法、装置、设备及介质,该方法包括:在内存中分别创建第一原生数据项、第二原生数据项、第一H5数据项及第二H5数据项;确定H5页面对应的目标容器;监听目标容器的生命周期变化情况,基于监听结果从第二H5数据项中获取前向H5页面地址,从第一H5数据项中获取当前H5页面路径;确定前向H5页面地址是否存在;若前向H5页面地址不存在,从第一原生数据项中获取当前原生页面路径,利用当前H5页面路径以及当前原生页面路径实现原生页面与H5页面的路径连通。通过采用上述原生页面与H5页面路径连通方法、装置、设备及介质,解决了无法完整获取整个浏览周期内的用户行为路径的问题。
Description
技术领域
本申请涉及互联网技术领域,具体而言,涉及一种原生页面与H5页面路径连通方法、装置、设备及介质。
背景技术
随着互联网技术的快速发展,在移动端应用开发过程中越来越多地采用混合开发模式,即采用原生与H5的混合开发模式,混合开发模式具有响应速度快、便于集成等优点。采用混合开发模式开发的移动端应用在进行页面浏览数据采集时,通常是针对原生页面的浏览事件和H5页面的浏览事件分别进行独立的数据采集,得到两份数据。
然而,采用上述方法采集数据时,由于分别对原生页面的浏览事件和H5页面的浏览事件进行独立的数据采集,难以将用户的浏览路径连通起来,导致在混合开发模式下,仅能获取原生页面或者H5页面的部分用户行为路径,无法完整获取用户在整个浏览周期内的行为路径。
发明内容
有鉴于此,本申请的目的在于提供一种原生页面与H5页面路径连通方法、装置、设备及介质,以解决在混合开发模式下,无法完整获取用户在整个浏览周期内的行为路径的问题。
第一方面,本申请实施例提供了一种原生页面与H5页面路径连通方法,包括:
在内存中分别创建第一原生数据项、第二原生数据项、第一H5数据项以及第二H5数据项,第一原生数据项用于存储当前原生页面路径,第二原生数据项用于存储前向原生页面地址,第一H5数据项用于存储当前H5页面路径,第二H5数据项用于存储前向H5页面地址;
确定H5页面对应的目标容器,在目标容器上加载页面视图,在页面视图上展示H5页面;
监听目标容器的生命周期变化情况,基于监听结果从第二H5数据项中获取前向H5页面地址,从第一H5数据项中获取当前H5页面路径;
确定前向H5页面地址是否存在;
若前向H5页面地址不存在,从第一原生数据项中获取当前原生页面路径,将当前原生页面路径作为当前H5页面的前向H5页面地址,利用当前H5页面路径以及当前原生页面路径实现原生页面与H5页面的路径连通。
可选地,方法还包括:监听原生页面的生命周期中的原生重新返回方法以及原生暂停方法,确定原生重新返回方法以及原生暂停方法是否被触发;若原生重新返回方法触发,触发原生页面浏览事件,分别从第一原生数据项以及第二原生数据项中获取当前原生页面路径以及前向原生页面地址;若原生暂停方法触发,触发原生页面压后台事件,分别从第一原生数据项以及第二原生数据项中获取当前原生页面路径以及前向原生页面地址。
可选地,监听目标容器的生命周期变化情况,包括:监听目标容器的生命周期对应的H5重新返回方法以及H5暂停方法,确定H5重新返回方法以及H5暂停方法是否被触发。
可选地,基于监听结果从第二H5数据项中获取前向H5页面地址,从第一H5数据项中获取当前H5页面路径,包括:若H5重新返回方法触发,触发H5页面浏览事件,从第二H5数据项中获取前向H5页面地址,从第一H5数据项中获取当前H5页面路径;若H5暂停方法触发,触发H5页面压后台事件,从第二H5数据项中获取前向H5页面地址,从第一H5数据项中获取当前H5页面路径。
可选地,在若H5暂停方法触发,触发H5页面压后台事件,从第二H5数据项中获取前向H5页面地址,从第一H5数据项中获取当前H5页面路径之后,还包括:将获取的当前H5页面路径存储到第二原生数据项中,第二原生数据项是与第一原生数据项同时创建的,第二原生数据项用于存储前向原生页面地址;确定第一原生数据项中的取值是否发生改变;若第一原生数据项中的取值发生改变,清空所述第二H5数据项中的数据。
可选地,在确定前向H5页面地址是否存在之后,还包括:获取当前时间;将当前时间存储在第三H5数据项中。
可选地,在触发H5页面压后台事件之后,还包括:获取当前时间以及第三H5数据项中存储的时间;将获取的当前时间与第三H5数据项中存储的时间之差作为H5页面浏览时长。
第二方面,本申请实施例还提供了一种原生页面与H5页面路径连通装置,所述装置包括:
数据项创建模块,用于在内存中分别创建第一原生数据项、第二原生数据项、第一H5数据项以及第二H5数据项,第一原生数据项用于存储当前原生页面路径,第二原生数据项用于存储前向原生页面地址,第一H5数据项用于存储当前H5页面路径,第二H5数据项用于存储前向H5页面地址;
容器选取模块,用于确定H5页面对应的目标容器,在目标容器上加载页面视图,在页面视图上展示H5页面;
容器监听模块,用于监听目标容器的生命周期变化情况,基于监听结果从第二H5数据项中获取前向H5页面地址,从第一H5数据项中获取当前H5页面路径;
地址确定模块,用于确定前向页面地址是否存在;
路径连通模块,用于若前向H5页面地址不存在,从第一原生数据项中获取当前原生页面路径,将当前原生页面路径作为当前H5页面的前向H5页面地址,利用当前H5页面路径以及当前原生页面路径实现原生页面与H5页面的路径连通。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述的原生页面与H5页面路径连通方法的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述的原生页面与H5页面路径连通方法的步骤。
本申请实施例带来了以下有益效果:
本申请实施例提供的一种原生页面与H5页面路径连通方法、装置、设备及介质,能够同时保存当前原生页面路径、当前H5页面路径以及前向H5页面地址,如果监控发现从第二H5数据项中获取的前向H5页面地址不存在,则说明是由原生页面跳转至H5页面的,于是从第一原生数据项中获取前向H5页面地址,以实现原生页面到H5页面的路径连通,与现有技术中的原生页面与H5页面路径连通方法相比,解决了无法完整获取整个浏览周期内的用户行为路径的问题。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的原生页面与H5页面路径连通方法的流程图;
图2示出了本申请实施例所提供的原生页面与H5页面路径连通装置的结构示意图;
图3示出了本申请实施例所提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的每个其他实施例,都属于本申请保护的范围。
值得注意的是,在本申请提出之前,随着互联网技术的快速发展,在移动端应用开发过程中越来越多地采用混合开发模式,即采用原生与H5的混合开发模式,混合开发模式具有响应速度快、便于集成等优点。采用混合开发模式开发的移动端应用在进行页面浏览数据采集时,通常是针对原生页面的浏览事件和H5页面的浏览事件分别进行独立的数据采集,得到两份数据。然而,采用上述方法采集数据时,由于分别对原生页面的浏览事件和H5页面的浏览事件进行独立的数据采集,难以将用户的浏览路径连通起来,导致在混合开发模式下,仅能获取原生页面或者H5页面的部分用户行为路径,无法完整获取用户在整个浏览周期内的行为路径。
基于此,本申请实施例提供了一种原生页面与H5页面路径连通方法,以提高获取的用户在整个浏览周期内的行为路径的完整性。
请参阅图1,图1为本申请实施例所提供的一种原生页面与H5页面路径连通方法的流程图。如图1所示,本申请实施例提供的原生页面与H5页面路径连通方法,包括:
步骤S101,在内存中分别创建第一原生数据项、第二原生数据项、第一H5数据项以及第二H5数据项。
该步骤中,第一原生数据项是内存中创建的保存原生页面地址的数据项,第一原生数据项用于存储当前原生页面路径。
第二原生数据项是内存中创建的保存原生页面地址的数据项,第二原生数据项用于存储前向原生页面地址。
第一H5数据项是内存中创建的保存H5页面地址的数据项,第一H5数据项用于存储当前H5页面路径。
第二H5数据项是内存中创建的保存H5页面地址的数据项,第二H5数据项用于存储前向H5页面地址。
当前原生页面路径可指当前显示的原生页面的页面地址。
前向原生页面地址可指在当前原生页面之前显示的原生页面的地址,当前原生页面是由前向原生页面地址跳转而来的。
当前H5页面路径可指当前显示的H5页面的页面地址。
前向H5页面地址可指在当前H5页面之前显示的H5页面的地址,当前H5页面是由前向H5页面地址跳转而来的。
具体的,在采用混合开发模式的移动端应用中,注册、登录等页面通常为原生页面,业务相关的网页通常是H5页面,原生页面相比于H5页面具备加载速度快,交互性强等特点,但是开发成本高,无法跨平台,需要针对不同平台进行各自的独立开发;H5页面具有跨平台、开发成本低等特点,但是每次打开H5页面都需要重新加载获取数据。因此,在一款应用的整个浏览周期中,通常是先进入原生界面,然后由原生界面跳转至H5页面。
这里,可在内存中创建多个数据项,以记录用户在访问原生页面和H5页面时的行为路径,在当前页面路径或者前向页面地址发生改变时,将及时对各个数据项中的地址进行更新,以准确记录用户行为的变化情况。
在一可选实施例中,方法还包括:监听原生页面的生命周期中的原生重新返回方法以及原生暂停方法,确定原生重新返回方法以及原生暂停方法是否被触发;若原生重新返回方法触发,触发原生页面浏览事件,分别从第一原生数据项以及第二原生数据项中获取当前原生页面路径以及前向原生页面地址;若原生暂停方法触发,触发原生页面压后台事件,分别从第一原生数据项以及第二原生数据项中获取当前原生页面路径以及前向原生页面地址。
这里,原生重新返回方法可指onActivityResume方法,或者是viewWillAppear方法,用于监听原生页面的生命周期,其中,onActivityResume方法对应于安卓操作系统,viewWillAppear方法对应于IOS操作系统。
原生暂停方法可指onActivityPaused方法,或者是applicationWillResignActive方法,用于监听原生页面的生命周期,其中,onActivityPaused方法对应于安卓操作系统,applicationWillResignActive方法对应于IOS操作系统。
具体的,以移动端是安卓操作系统为例,分别监听onActivityResume方法以及onActivityPaused方法,如果onActivityResume方法触发,表明原生页面可见,移动端正在展示原生页面,于是触发原生页面浏览事件,如果onActivityPaused方法触发,表明原生页面不可见,可能是移动端息屏或者移动端显示的是主界面,于是触发原生页面压后台事件。
以移动端是IOS系统为例,分别监听viewWillAppear方法以及applicationWillResignActive方法,如果viewWillAppear方法触发,表明原生页面可见,移动端正在展示原生页面,于是触发原生页面浏览事件,如果applicationWillResignActive方法触发,表明原生页面不可见,可能是移动端息屏或者移动端显示的是主界面,于是触发原生页面压后台事件。
原生页面压后台事件用于将当前显示的原生页面压入后台,使用户不可见。
原生页面浏览事件用于将原生页面显示出来,使用户可见。
步骤S102,确定H5页面对应的目标容器,在目标容器上加载页面视图,在页面视图上展示H5页面。
该步骤中,容器可指容器控件,示例性的,对于安卓系统来说容器可以是Activity容器,对于IOS系统来说容器可以是Control容器。
目标容器可指用于展示H5页面的容器,目标容器本身是原生页面。
网页视图可指WebView组件,网页视图用于承载H5页面。
在本申请实施例中,移动端中的某个应用是通过多个容器来进行页面展示的,从这些容器中选取一个容器作为目标容器,并对目标容器进行标识,例如:确定目标容器的容器名称,在目标容器中加载WebView组件。当用户点击该应用中的某个按钮或者页面元素以触发展示某个H5页面时,利用目标容器的容器名称找到该目标容器,将该H5页面通过目标容器上的WebView组件展示出来。其中,移动端可以是安装安卓操作系统的移动端,也可以是安装IOS操作系统的移动端。
其中,原生页面是以原生系统内核开发的页面,为了避免产生冗余数据,需要屏蔽目标容器对应的原生浏览事件的触发,即,对目标容器的原生浏览事件不再触发,也不采集目标容器的原生浏览事件对应的当前页面路径、前向页面地址等数据。
步骤S103,监听目标容器的生命周期变化情况,基于监听结果从第二H5数据项中获取前向H5页面地址,从第一H5数据项中获取当前H5页面路径。
该步骤中,目标容器的生命周期变化情况可指目标容器的可见与不可见的变化情况,生命周期变化情况用于反映承载H5页面的目标容器是否处于显示状态。
在本申请实施例中,如果监听到目标容器是不可见的,例如:在移动端息屏或者返回主界面后,此时的目标容器均是不可见的,则触发页面压后台事件;如果监听到目标容器可见,则触发页面浏览事件。
在一可选实施例中,监听目标容器的生命周期变化情况,包括:监听目标容器的生命周期对应的H5重新返回方法以及H5暂停方法,确定H5重新返回方法以及H5暂停方法是否被触发。
这里,H5重新返回方法可指onActivityResume方法或者viewWillAppear方法,用于监听目标容器的生命周期,其中,onActivityResume方法对应于安卓操作系统,viewWillAppear方法对应于IOS操作系统。
H5暂停方法可指onActivityPaused方法或者applicationWillResignActive方法,用于监听目标容器的生命周期,其中,onActivityPaused方法对应于安卓操作系统,applicationWillResignActive方法对应于IOS操作系统。
在一可选实施例中,监听网页视图的加载情况,基于监听结果触发H5页面压后台事件以及H5页面浏览事件。
这里,加载情况可指网页视图中加载的H5页面的变化情况,加载情况用于确定是否有新的H5页面被显示在网页视图中。
H5页面压后台事件用于将当前显示的H5页面压入后台,使用户不可见。
H5页面浏览事件用于将H5页面显示出来,使用户可见。
在本申请实施例中,监听网页视图的页面完成加载方法,确定前端页面地址是否发生改变,若前端H5页面地址发生改变,依次触发H5页面压后台事件以及H5页面浏览事件,H5页面压后台事件是先于H5页面浏览事件触发的。其中,页面完成加载方法可指onPageFinished方法或者locationHash方法,onPageFinished对应于安卓操作系统,locationHash对应于IOS操作系统,前端H5页面地址可指应用当前显示的H5页面的地址,前端页面地址可由页面完成加载方法获取。
此外,如果是由H5页面跳转到H5页面,即触发H5页面浏览事件之后,需要对第一H5数据项、第二H5数据项以及第三H5数据项中取值的更新。这里,可将内存中第一H5数据项的取值作为第二H5数据项的取值;将前端H5页面地址作为第一H5数据项的取值;获取当前时间,将当前时间存储在内存的第三H5数据项中。这样,就实现了对第一H5数据项、第二H5数据项以及第三H5数据项中取值的更新。
需要说明的是,监听网页视图的加载情况能够更准确地确定不同H5页面之间的跳转情况,但对于原生页面与H5页面之间的跳转情况并不影响。
在一可选实施例中,基于监听结果从第二H5数据项中获取前向H5页面地址,从第一H5数据项中获取当前H5页面路径,包括:若H5重新返回方法触发,触发H5页面浏览事件,从第二H5数据项中获取前向H5页面地址,从第一H5数据项中获取当前H5页面路径;若H5暂停方法触发,触发H5页面压后台事件,从第二H5数据项中获取前向H5页面地址,从第一H5数据项中获取当前H5页面路径。
具体的,以移动端是安卓操作系统为例,分别监听onActivityResume方法以及onActivityPaused方法,如果onActivityResume方法触发,表明目标容器可见,移动端正在展示H5页面,于是触发H5页面浏览事件,如果onActivityPaused方法触发,表明目标容器不可见,可能是移动端息屏或者移动端显示的是主界面,于是触发H5页面压后台事件。
以移动端是IOS系统为例,分别监听viewWillAppear方法以及applicationWillResignActive方法,如果viewWillAppear方法触发,表明目标容器可见,移动端正在展示H5页面,于是触发页面浏览事件,如果applicationWillResignActive方法触发,表明目标容器不可见,可能是移动端息屏或者移动端显示的是主界面,于是触发页面压后台事件。
在一可选实施例中,在若H5暂停方法触发,触发H5页面压后台事件,从第二H5数据项中获取前向H5页面地址,从第一H5数据项中获取当前H5页面路径之后,还包括:将获取的当前H5页面路径存储到第二原生数据项中,第二原生数据项是与第一原生数据项同时创建的,第二原生数据项用于存储前向原生页面地址;确定第一原生数据项中的取值是否发生改变;若第一原生数据项中的取值发生改变,清空第二H5数据项中的数据。
具体的,在若H5暂停方法触发,触发H5页面压后台事件时,说明目标容器当前对于用户来说是不可见的,此时,可能是移动端息屏或者返回移动端主界面,也可能是由H5页面跳转到原生页面。
如果是移动端息屏或者返回移动端主界面,则不影响原生页面与H5页面之间的跳转,因为返回到息屏前打开的应用时,还会显示息屏之前的页面。
如果是由H5页面跳转到原生页面,需要将获取到的当前H5页面路径存储到内存的第二原生数据项中,记录是由哪个当前H5页面路径跳转到原生页面,即,通过改变第二原生数据项中的取值实现对前向原生页面地址进行更新。然后,确定第一原生数据项中的取值是否发生改变,如果发生改变,则说明是由H5页面跳转到原生页面,于是清空第二H5数据项中的数据,这样,当再由原生页面跳转到H5页面时,通过第二H5数据项中的数据可以确定前向H5页面地址不存在,于是可将当前原生页面路径作为H5页面的前向H5页面地址,实现原生页面与H5页面的连通。
在一可选实施例中,在触发H5页面压后台事件之后,还包括:获取当前时间以及第三H5数据项中存储的时间;将获取的当前时间与第三H5数据项中存储的时间之差作为H5页面浏览时长。
这里,第三H5数据项中的时间是在触发H5页面浏览事件之后获取的时间,该时间是原H5页面打开的时间,而触发H5页面压后台时间之后获取的当前时间是原H5页面被压入后台的时间,因此将当前时间与第三H5数据项中的时间相减,得到的是原H5页面由打开到压入后台之间的时间差,即是用户浏览原H5页面的时长。
需要说明的是,在监听目标容器的生命周期以及监听网页视图时都可能触发H5页面压后台事件,但无论是在监听目标容器的生命周期时触发的H5页面压后台事件,还是在监听网页视图时触发的H5页面压后台事件,都需要计算H5页面浏览时长。
同样地,在监听原生页面的生命周期后也会触发原生页面压后台事件,在触发原生页面压后台事件之后,获取当前时间以及第三原生数据项中存储的时间;将获取的当前时间与第三原生数据项中存储的时间之差作为原生页面浏览时长。其中,第三原生数据项用于存储原生页面对应的当前时间。
步骤S104,确定前向H5页面地址是否存在。
该步骤中,新打开的H5页面可能是由上一次打开的H5页面跳转而来,也可能是由上一次打开的原生页面跳转而来,为了确定到底是由H5页面跳转而来,还是由原生页面跳转而来,需要对前向H5页面地址进行判断。
由于跳转到原生页面后会对前向H5页面地址清空,所以可通过判断前向H5页面地址是否存在来确定是由哪种类型的页面跳转而来。
步骤S105,若前向H5页面地址不存在,从第一原生数据项中获取当前原生页面路径,将当前原生页面路径作为当前H5页面的前向H5页面地址,利用当前H5页面路径以及当前原生页面路径实现原生页面与H5页面的路径连通。
该步骤中,如果前向H5页面地址存在,说明是由H5页面跳转到H5页面,如果是前向H5页面地址不存在,说明是由原生页面跳转到H5页面。
因此,可以从第一原生数据项中获取当前原生页面路径,将当前原生页面路径作为当前H5页面的前向H5页面地址,这样就形成了当前原生页面路径到当前H5页面地址的路径,表明是由原生页面跳转到H5页面,实现了原生页面与H5页面的路径连通。
在一可选实施例中,在确定前向H5页面地址是否存在之后,还包括:获取当前时间;将当前时间存储在第三H5数据项中。
具体的,无论前向H5页面地址是否存在,均需要获取当前时间,然后将当前时间存储在第三H5数据项中。因为,在触发了H5页面浏览事件或者触发了原生页面浏览事件时,说明用户浏览的页面发生了改变,因此,需要记录该页面浏览的起始时间点,以根据该页面浏览的起始时间点计算该页面的浏览时长。
与现有技术中原生页面与H5页面路径连通方法相比,本申请能够同时保存当前原生页面路径、当前H5页面路径以及前向H5页面地址,如果监控发现从第二H5数据项中获取的前向H5页面地址不存在,则说明是由原生页面跳转至H5页面的,于是从第一原生数据项中获取前向H5页面地址,以实现原生页面到H5页面的路径连通,解决了无法完整获取整个浏览周期内的用户行为路径的问题。
基于同一发明构思,本申请实施例中还提供了与原生页面与H5页面路径连通方法对应的原生页面与H5页面路径连通装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述原生页面与H5页面路径连通方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
请参阅图2,图2为本申请实施例所提供的一种原生页面与H5页面路径连通装置的结构示意图。如图2中所示,所述原生页面与H5页面路径连通装置200包括:
数据项创建模块201,用于在内存中分别创建第一原生数据项、第二原生数据项、第一H5数据项以及第二H5数据项,第一原生数据项用于存储当前原生页面路径,第二原生数据项用于存储前向原生页面地址,第一H5数据项用于存储当前H5页面路径,第二H5数据项用于存储前向H5页面地址;
容器选取模块202,用于确定H5页面对应的目标容器,在目标容器上加载页面视图,在页面视图上展示H5页面;
容器监听模块203,用于监听目标容器的生命周期变化情况,基于监听结果从第二H5数据项中获取前向H5页面地址,从第一H5数据项中获取当前H5页面路径;
地址确定模块204,用于确定前向页面地址是否存在;
路径连通模块205,用于若前向H5页面地址不存在,从第一原生数据项中获取当前原生页面路径,将当前原生页面路径作为当前H5页面的前向H5页面地址,利用当前H5页面路径以及当前原生页面路径实现原生页面与H5页面的路径连通。
请参阅图3,图3为本申请实施例所提供的一种电子设备的结构示意图。如图3中所示,所述电子设备300包括处理器310、存储器320和总线330。
所述存储器320存储有所述处理器310可执行的机器可读指令,当电子设备300运行时,所述处理器310与所述存储器320之间通过总线330通信,所述机器可读指令被所述处理器310执行时,可以执行如上述图1所示方法实施例中的原生页面与H5页面路径连通方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时可以执行如上述图1所示方法实施例中的原生页面与H5页面路径连通方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种原生页面与H5页面路径连通方法,其特征在于,包括:
在内存中分别创建第一原生数据项、第二原生数据项、第一H5数据项以及第二H5数据项,所述第一原生数据项用于存储当前原生页面路径,所述第二原生数据项用于存储前向原生页面地址,所述第一H5数据项用于存储当前H5页面路径,所述第二H5数据项用于存储前向H5页面地址;
确定H5页面对应的目标容器,在所述目标容器上加载页面视图,在页面视图上展示H5页面;
监听所述目标容器的生命周期变化情况,基于监听结果从所述第二H5数据项中获取前向H5页面地址,从所述第一H5数据项中获取当前H5页面路径,所述目标容器的生命周期变化情况指目标容器的可见与不可见的变化情况,所述生命周期变化情况用于反映承载H5页面的目标容器是否处于显示状态;
确定所述前向H5页面地址是否存在;
若所述前向H5页面地址不存在,从所述第一原生数据项中获取当前原生页面路径,将所述当前原生页面路径作为当前H5页面的前向H5页面地址,利用所述当前H5页面路径以及当前原生页面路径实现原生页面与H5页面的路径连通;
所述监听所述目标容器的生命周期变化情况,包括:
监听所述目标容器的生命周期对应的H5重新返回方法以及H5暂停方法,确定所述H5重新返回方法以及所述H5暂停方法是否被触发,所述H5重新返回方法指onActivityResume方法或者viewWillAppear方法,所述H5暂停方法指onActivityPaused方法或者applicationWillResignActive方法;
所述基于监听结果从所述第二H5数据项中获取前向H5页面地址,从所述第一H5数据项中获取当前H5页面路径,包括:
若所述H5重新返回方法触发,触发H5页面浏览事件,从所述第二H5数据项中获取前向H5页面地址,从所述第一H5数据项中获取当前H5页面路径;
若所述H5暂停方法触发,触发H5页面压后台事件,从第二H5数据项中获取前向H5页面地址,从所述第一H5数据项中获取当前H5页面路径。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监听所述原生页面的生命周期中的原生重新返回方法以及原生暂停方法,确定所述原生重新返回方法以及所述原生暂停方法是否被触发;
若所述原生重新返回方法触发,触发原生页面浏览事件,分别从所述第一原生数据项以及第二原生数据项中获取当前原生页面路径以及前向原生页面地址;
若所述原生暂停方法触发,触发原生页面压后台事件,分别从所述第一原生数据项以及第二原生数据项中获取当前原生页面路径以及前向原生页面地址。
3.根据权利要求1所述的方法,其特征在于,在所述若所述H5暂停方法触发,触发H5页面压后台事件,从第二H5数据项中获取前向H5页面地址,从所述第一H5数据项中获取当前H5页面路径之后,还包括:
将获取的当前H5页面路径存储到第二原生数据项中,所述第二原生数据项是与所述第一原生数据项同时创建的,所述第二原生数据项用于存储前向原生页面地址;
确定所述第一原生数据项中的取值是否发生改变;
若所述第一原生数据项中的取值发生改变,清空所述第二H5数据项中的数据。
4.根据权利要求1所述的方法,其特征在于,在所述确定所述前向H5页面地址是否存在之后,还包括:
获取当前时间;
将所述当前时间存储在第三H5数据项中。
5.根据权利要求1所述的方法,其特征在于,在所述触发H5页面压后台事件之后,还包括:
获取当前时间以及第三H5数据项中存储的时间,所述第三H5数据项用于存储当前时间;
将获取的当前时间与所述第三H5数据项中存储的时间之差作为H5页面浏览时长。
6.一种原生页面与H5页面路径连通装置,其特征在于,包括:
数据项创建模块,用于在内存中分别创建第一原生数据项、第二原生数据项、第一H5数据项以及第二H5数据项,所述第一原生数据项用于存储当前原生页面路径,所述第二原生数据项用于存储前向原生页面地址,所述第一H5数据项用于存储当前H5页面路径,所述第二H5数据项用于存储前向H5页面地址;
容器选取模块,用于确定H5页面对应的目标容器,在所述目标容器上加载页面视图,在页面视图上展示H5页面;
容器监听模块,用于监听所述目标容器的生命周期变化情况,基于监听结果从所述第二H5数据项中获取前向H5页面地址,从所述第一H5数据项中获取当前H5页面路径,所述目标容器的生命周期变化情况指目标容器的可见与不可见的变化情况,所述生命周期变化情况用于反映承载H5页面的目标容器是否处于显示状态;
地址确定模块,用于确定前向页面地址是否存在;
路径连通模块,用于若所述前向H5页面地址不存在,从所述第一原生数据项中获取当前原生页面路径,将所述当前原生页面路径作为当前H5页面的前向H5页面地址,利用所述当前H5页面路径以及当前原生页面路径实现原生页面与H5页面的路径连通;
所述容器监听模块,具体用于:
监听所述目标容器的生命周期对应的H5重新返回方法以及H5暂停方法,确定所述H5重新返回方法以及所述H5暂停方法是否被触发,所述H5重新返回方法指onActivityResume方法或者viewWillAppear方法,所述H5暂停方法指onActivityPaused方法或者applicationWillResignActive方法;
所述容器监听模块,还具体用于:
若所述H5重新返回方法触发,触发H5页面浏览事件,从所述第二H5数据项中获取前向H5页面地址,从所述第一H5数据项中获取当前H5页面路径;
若所述H5暂停方法触发,触发H5页面压后台事件,从第二H5数据项中获取前向H5页面地址,从所述第一H5数据项中获取当前H5页面路径。
7.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至5中任一项所述的原生页面与H5页面路径连通方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至5中任一项所述的原生页面与H5页面路径连通方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211430077.3A CN115687827B (zh) | 2022-11-15 | 2022-11-15 | 原生页面与h5页面路径连通方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211430077.3A CN115687827B (zh) | 2022-11-15 | 2022-11-15 | 原生页面与h5页面路径连通方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115687827A CN115687827A (zh) | 2023-02-03 |
CN115687827B true CN115687827B (zh) | 2023-08-25 |
Family
ID=85052598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211430077.3A Active CN115687827B (zh) | 2022-11-15 | 2022-11-15 | 原生页面与h5页面路径连通方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115687827B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487874A (zh) * | 2015-12-11 | 2016-04-13 | 电子科技大学 | 移动终端中HTML5 web应用与原生应用统一管理方法 |
CN105893508A (zh) * | 2016-03-30 | 2016-08-24 | 北京京东尚科信息技术有限公司 | 确定原生页面和h5 页面访问次序的方法、装置和系统 |
CN107145552A (zh) * | 2017-04-28 | 2017-09-08 | 努比亚技术有限公司 | 页面访问方法、设备和计算机存储介质 |
CN107908443A (zh) * | 2017-10-10 | 2018-04-13 | 武汉极意网络科技有限公司 | 一种事件监听方法、智能设备及存储介质 |
CN108762754A (zh) * | 2018-04-26 | 2018-11-06 | 福建天泉教育科技有限公司 | 一种h5页面在原生应用中动态换肤的方法及终端 |
CN109391649A (zh) * | 2017-08-04 | 2019-02-26 | 阿里巴巴集团控股有限公司 | 页面加载的方法、装置和系统 |
WO2019085085A1 (zh) * | 2017-11-01 | 2019-05-09 | 平安科技(深圳)有限公司 | 页面展示方法、装置、计算机设备和存储介质 |
CN110609694A (zh) * | 2019-08-30 | 2019-12-24 | 深圳壹账通智能科技有限公司 | 一种bug的修复方法、装置、终端设备及存储介质 |
CN110730384A (zh) * | 2018-07-17 | 2020-01-24 | 腾讯科技(北京)有限公司 | 网页控制方法、装置、终端设备以及计算机存储介质 |
CN112256356A (zh) * | 2020-10-09 | 2021-01-22 | 北京达佳互联信息技术有限公司 | 一种页面数据获取方法和装置 |
CN113886731A (zh) * | 2021-10-22 | 2022-01-04 | 广州九尾信息科技有限公司 | 一种基于iOS平台路由跳转页面的方法及应用 |
CN113946384A (zh) * | 2021-10-15 | 2022-01-18 | 中电金信软件有限公司 | 一种小程序的运行方法、装置及电子设备 |
CN115309516A (zh) * | 2021-05-07 | 2022-11-08 | 腾讯科技(深圳)有限公司 | 一种应用生命周期的检测方法、装置及计算机设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160171540A1 (en) * | 2014-12-12 | 2016-06-16 | Suryanarayana MANGIPUDI | Dynamic Omnichannel Relevant Content And Services Targeting In Real Time |
-
2022
- 2022-11-15 CN CN202211430077.3A patent/CN115687827B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105487874A (zh) * | 2015-12-11 | 2016-04-13 | 电子科技大学 | 移动终端中HTML5 web应用与原生应用统一管理方法 |
CN105893508A (zh) * | 2016-03-30 | 2016-08-24 | 北京京东尚科信息技术有限公司 | 确定原生页面和h5 页面访问次序的方法、装置和系统 |
CN107145552A (zh) * | 2017-04-28 | 2017-09-08 | 努比亚技术有限公司 | 页面访问方法、设备和计算机存储介质 |
CN109391649A (zh) * | 2017-08-04 | 2019-02-26 | 阿里巴巴集团控股有限公司 | 页面加载的方法、装置和系统 |
CN107908443A (zh) * | 2017-10-10 | 2018-04-13 | 武汉极意网络科技有限公司 | 一种事件监听方法、智能设备及存储介质 |
WO2019085085A1 (zh) * | 2017-11-01 | 2019-05-09 | 平安科技(深圳)有限公司 | 页面展示方法、装置、计算机设备和存储介质 |
CN108762754A (zh) * | 2018-04-26 | 2018-11-06 | 福建天泉教育科技有限公司 | 一种h5页面在原生应用中动态换肤的方法及终端 |
CN110730384A (zh) * | 2018-07-17 | 2020-01-24 | 腾讯科技(北京)有限公司 | 网页控制方法、装置、终端设备以及计算机存储介质 |
CN110609694A (zh) * | 2019-08-30 | 2019-12-24 | 深圳壹账通智能科技有限公司 | 一种bug的修复方法、装置、终端设备及存储介质 |
CN112256356A (zh) * | 2020-10-09 | 2021-01-22 | 北京达佳互联信息技术有限公司 | 一种页面数据获取方法和装置 |
CN115309516A (zh) * | 2021-05-07 | 2022-11-08 | 腾讯科技(深圳)有限公司 | 一种应用生命周期的检测方法、装置及计算机设备 |
CN113946384A (zh) * | 2021-10-15 | 2022-01-18 | 中电金信软件有限公司 | 一种小程序的运行方法、装置及电子设备 |
CN113886731A (zh) * | 2021-10-22 | 2022-01-04 | 广州九尾信息科技有限公司 | 一种基于iOS平台路由跳转页面的方法及应用 |
Non-Patent Citations (1)
Title |
---|
MIP改造常见Q&A集锦;曹东;计算机与网络;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115687827A (zh) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102197362B (zh) | 窗口专用控件的显露和管理 | |
US8949739B2 (en) | Creating and maintaining images of browsed documents | |
US9195372B2 (en) | Methods, systems, and computer program products for grouping tabbed portion of a display object based on content relationships and user interaction levels | |
CN108319662A (zh) | 页面处理方法、装置、电子设备及可读存储介质 | |
CN108132814A (zh) | 应用程序的页面加载方法、装置、计算机设备和存储介质 | |
CN106844635B (zh) | 网页中的元素的编辑方法及装置 | |
US9329851B2 (en) | Browser-based discovery and application switching | |
CN109033466B (zh) | 页面分享方法、计算设备及计算机存储介质 | |
US9503551B2 (en) | Hybrid native networked applications | |
CN113220403B (zh) | h5拦截Android返回事件的方法、装置及电子设备 | |
CN115687827B (zh) | 原生页面与h5页面路径连通方法、装置、设备及介质 | |
CN111538453A (zh) | 书籍详情页面的显示方法、终端及计算机存储介质 | |
US20220229718A1 (en) | Automated crash recovery | |
CN108268298B (zh) | 桌面图标的生成方法、装置、存储介质及电子设备 | |
CN116150536A (zh) | 一种页面返回方法、装置、设备和介质 | |
CN111381812A (zh) | 程序发布方法、调用方法、装置、存储介质和计算机设备 | |
CN115454400A (zh) | 接口参数的处理方法、装置、设备、介质及程序产品 | |
CN105989034A (zh) | 网页展示方法及装置 | |
CN110955473B (zh) | 显示加载提示信息的方法及装置 | |
CN115757072A (zh) | 一种用户行为路径生成方法、装置、电子设备及存储介质 | |
CN113051095A (zh) | 客户端运行错误的复现方法、装置、电子设备及存储介质 | |
CN112579952A (zh) | 一种页面显示方法、装置、存储介质及电子设备 | |
Yberg | Native-like performance and user experience with Progressive Web Apps | |
CN108681594A (zh) | 文件处理方法及相关装置 | |
CN113312163B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |