掌桥专利:专业的专利平台
掌桥专利
首页

小程序和宿主应用无缝导航方法、装置、电子设备及介质

文献发布时间:2023-06-19 09:54:18


小程序和宿主应用无缝导航方法、装置、电子设备及介质

技术领域

本发明涉及移动端技术领域,具体涉及一种小程序和宿主应用无缝导航方法、装置、电子设备及介质。

背景技术

小程序(Mini Program)是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,也体现了“用完即走”的理念。有些小程序会自定义页面和导航栏,当从小程序进入宿主的页面的时候,由于宿主的页面的导航栏是系统默认的,导致导航栏不兼容,比如,导航栏的颜色、高度等不正确,或者标题和返回按钮等消失不见了。还有一些宿主因为自身业务的特殊性,会对页面的导航栏进行特殊配置,在从小程序进入宿主的页面的时候,就会直接导致导航栏消失。

因此,如何让小程序的页面和宿主的页面无缝导航成了一个急需解决的问题。

发明内容

鉴于以上内容,有必要提出一种小程序和宿主应用无缝导航方法、装置、电子设备及介质,能够实现小程序和宿主应用之间的无缝切换,解决了切换过程中小程序与宿主应用的导航不兼容的问题。

本发明的第一方面提供一种小程序和宿主应用无缝导航方法,所述方法包括:

当侦测到需要进入宿主应用的目标页面时,判断电子设备当前是否有小程序在运行;

当确定所述电子设备当前有小程序在运行时,关闭所述小程序并根据所述目标页面创建中间页面;

从所述中间页面切换至所述目标页面;

当侦测到所述目标页面的关闭信号时,识别所述目标页面是否有预设标记;

当识别所述目标页面有所述预设标记时,在所述目标页面中打开所述小程序。

根据本发明的一个可选的实施例,所述识别所述目标页面是否有预设标记包括:

确定所述电子设备当前运行的操作系统的类型;

获取与所述操作系统的类型对应的操作方法;

调用所述操作方法获取所述目标页面的标记值;

识别所述标记值是否为预设值;

当所述标记值为所述预设值时,确定所述目标页面没有预设标记;

当所述标记值不为所述预设值时,确定所述目标页面有预设标记。

根据本发明的一个可选的实施例,所述根据所述目标页面创建中间页面包括:

获取所述目标页面的页面布局;

根据所述目标页面的页面布局创建所述中间页面,其中,所述中间页面的页面布局对应的显示颜色与所述目标页面的页面布局对应的显示颜色相同或相近。

根据本发明的一个可选的实施例,所述方法还包括:

响应于目标小程序的启动指令,显示所述目标小程序的页面;

获取所述目标小程序的更新时间;

根据所述更新时间判断是否需要更新所述目标小程序;

当根据所述更新时间判断需要更新所述目标小程序时,下载所述目标小程序的更新包,并在下次启动所述目标小程序时根据所述更新包更新所述目标小程序。

根据本发明的一个可选的实施例,所述方法还包括:

获取所有小程序的第一功能描述及所述电子设备中已有的小程序的第二功能描述;

根据所述第一功能描述对所述所有小程序进行分类得到多个第一类型,及根据所述第二功能描述对所述已有的小程序进行分类得到多个第二类型;

删除所述多个第一类型中的所述多个第二类型得到多个第三类型;

将所述多个第三类型的小程序推荐给所述电子设备的用户。

根据本发明的一个可选的实施例,所述将所述多个第三类型的小程序推荐给所述电子设备的用户包括:

获取每个第三类型的小程序的使用频率;

根据所述使用频率对每个第三类型的小程序进行排序;

获取所述电子设备的用户的喜好;

根据所述喜好从所述多个第三类型中筛选出目标第三类型;

将所述目标第三类型中排序在前的小程序推荐给所述电子设备的用户。

根据本发明的一个可选的实施例,所述方法还包括:

接收所述用户输入的功能描述;

计算所述用户输入的功能描述与所述所有小程序的第一功能描述之间的关联度;

从所述所有小程序中获取最高关联度对应的小程序;

下载所述最高关联度对应的小程序至所述电子设备中。

本发明的第二方面提供一种小程序和宿主应用无缝导航装置,所述装置包括:

判断模块,用于当侦测到需要进入宿主应用的目标页面时,判断电子设备当前是否有小程序在运行;

创建模块,用于当确定所述电子设备当前有小程序在运行时,关闭所述小程序并根据所述目标页面创建中间页面;

切换模块,用于从所述中间页面切换至所述目标页面;

识别模块,用于当侦测到所述目标页面的关闭信号时,识别所述目标页面是否有预设标记;

打开模块,用于当识别所述目标页面有所述预设标记时,在所述目标页面中打开所述小程序。

本发明的第三方面提供一种电子设备,所述电子设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述小程序和宿主应用无缝导航方法。

本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述小程序和宿主应用无缝导航方法。

综上所述,本发明所述的小程序和宿主应用无缝导航方法、装置、电子设备及介质,当侦测到需要进入宿主应用的目标页面时,如果电子设备当前有小程序在运行,则关闭所述小程序并根据所述目标页面创建中间页面,从所述中间页面切换至所述目标页面,小程序已经被全部关闭了,则不会导致宿主应用的导航栏消失,有效的解决了小程序与宿主应用的导航栏的兼容问题;侦测到所述目标页面的关闭信号,且识别所述目标页面有所述预设标记时,在所述目标页面中打开所述小程序,实现了对小程序的自动恢复。

附图说明

图1是本发明实施例一提供的小程序和宿主应用无缝导航方法的流程图。

图2是本发明实施例二提供的小程序和宿主应用无缝导航装置的结构图。

图3是本发明实施例三提供的电子设备的结构示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

本发明实施例提供的小程序和宿主应用无缝导航方法由电子设备执行,相应地,小程序和宿主应用无缝导航装置运行于电子设备中。

图1是本发明实施例一提供的小程序和宿主应用无缝导航方法的流程图。所述小程序和宿主应用无缝导航方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。

S11,当侦测到需要进入宿主应用的目标页面时,判断电子设备当前是否有小程序在运行。

其中,宿主应用是指为小程序提供运行环境的应用,使得小程序依托于宿主应用在电子设备上运行。其中宿主应用比如为手机百度等。一个宿主应用中可以运行多个小程序。例如,宿主应用XX1中运行小程序Y1和小程序Y2。

小程序是一种不需要下载安装即可使用的应用,可以运行在不同的应用环境(即宿主)中,比如网页浏览器应用程序、即时通信应用程序等。

用户在操作电子设备中的任一宿主应用的任一页面,如果电子设备侦测到点击或者触摸所述任一页面的虚拟图标或者链接或其他能够实现跳转至其他页面的按钮的信号时,则确定需要从宿主应用的当前页面进入目标页面。所述目标页面为所述任一页面的虚拟图标或者链接或其他能够实现跳转功能的按钮对应的URL。

电子设备可以使用预设第一方法来判断当前是否运行有小程序,其中,所述预设方法为电子设备中的软件开发工具包提供的,所述软件开发工具包是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合,所述预设第一方法可以为isMinaShowingInWindow。

S12,当确定所述电子设备当前有小程序在运行时,关闭所述小程序并根据所述目标页面创建中间页面。

电子设备确定当前没有小程序在运行时,正常跳转至所述目标页面。电子设备确定当前有小程序在运行时,首先调用预设第二方法关闭所有在运行的小程序,然后创建中间页面。电子设备进入所述中间页面,后再进入所述目标页面。

其中,所述预设第二方法可以closeAllMinasCompletion。

本实施例中,由于电子设备在跳转或者进入所述目标页面之前,在运行的小程序已经被全部关闭了,则不会导致宿主应用的导航栏消失,有效的解决了小程序与宿主应用的导航栏的兼容问题。

在一个可选的实施例中,所述根据所述目标页面创建中间页面包括:

获取所述目标页面的页面布局;

根据所述目标页面的页面布局创建所述中间页面,其中,所述中间页面的页面布局对应的显示颜色与所述目标页面的页面布局对应的显示颜色相同或相近。

其中,所述页面布局包括头部区域、菜单导航区域、内容区域、底部区域等,及每个区域的长和宽,每个区域的显示颜色等。

示例性的,假设目标页面包括头部区域、菜单导航区域、内容区域、底部区域,其中,所述头部区域对应第一长、第一宽、第一颜色;菜单导航区域对应第二长、第二宽、第二颜色;内容区域对应第三长、第三宽、第三颜色;底部区域对应第四长、第四宽、第四颜色,则创建的中间页面可以包括具有第一长和第一宽的第一区域并在第一区域内显示第一颜色或与第一颜色相近的颜色,具有第二长和第二宽的第二区域并在第二区域内显示第二颜色或与第二颜色相近的颜色,具有第三长和第三宽的第三区域并在第三区域内显示第三颜色或与第三颜色相近的颜色,具有第四长和第四宽的第四区域并在第四区域内显示第四颜色或与第四颜色相近的颜色。即,创建的中间页面具有与目标页面相同的布局颜色或者相近的布局颜色。

本实施例中,通过创建与所述目标页面的页面布局对应的显示颜色相同或者相近的页面布局的中间页面,使得后续通过中间页面进入目标页面时,能够起到平滑过渡的作用,避免对用户造成视觉冲击,提高用户的使用体验。

在一个实施例中,当确定所述电子设备当前有小程序在运行时,关闭所述小程序并创建中间页面,其中,所述中间页面可以为空白页面。

S13,从所述中间页面切换至所述目标页面。

电子设备显示中间页面,并在预设时间段内显示目标页面。从所述中间页面进入所述目标页面时,关闭切换的动画效果,使得用户看起来是无感的。

S14,当侦测到所述目标页面的关闭信号时,识别所述目标页面是否有预设标记。

用户点击或者触摸目标页面中的关闭按钮时,电子设备侦测到所述目标页面的关闭信号,并识别所述目标页面是否有预设标记。电子设备根据所述目标页面是否有预设标记来确定是否恢复已关闭的小程序。

在一个可选的实施例中,所述识别所述目标页面是否有预设标记包括:

确定所述电子设备当前运行的操作系统的类型;

获取与所述操作系统的类型对应的操作方法;

调用所述操作方法获取所述目标页面的标记值;

识别所述标记值是否为预设值;

当所述标记值为所述预设值时,确定所述目标页面没有预设标记;

当所述标记值不为所述预设值时,确定所述目标页面有预设标记。

宿主应用的每一个页面,都有相应的生命周期,页面显示在电子设备上的时候,电子设备的操作系统会对显示的页面进行标记。

电子设备的操作系统可以是单一的iOS系统,也可以是单一的安卓系统,还可以是双系统。示例性的,iOS系统对应的操作方法可以为viewDidAppear方法,安卓系统对应的操作方法可以是onResume方法。

其中,所述预设值可以为0。电子设备调用操作系统对应的操作方法对目标页面进行标记,如果目标页面没有标记过,说明是第一次进入目标页面,则标记值为0;如果目标页面已经被标记过,说明是从其他页面切换到了目标页面,则标记值不为0。

S15,当识别所述目标页面有所述预设标记时,在所述目标页面中打开所述小程序。

当识别所述目标页面没有所述预设标记时,则可以不执行通过所述目标页面打开所述小程序。

电子设备可以使用预设第三方法来将已关闭的小程序复原,所述预设第三方法可以是reStartMinaCompletion方法。

电子设备还可以获取关闭所述小程序的第一时间及获取所述操作系统当前的第二时间,计算所述第一时间与所述第二时间的第一时间差值,比较所述第一时间差值与预设第一差值阈值,根据比较结果确定是否自动恢复已关闭的小程序。具体实施时,当得到的比较结果为所述第一时间差值小于所述预设第一差值阈值时,使用预设第三方法在所述目标页面中自动打开已关闭的小程序;当得到的比较结果为所述第一时间差值大于或者等于所述预设第一差值阈值时,不使用预设第三方法在所述目标页面中打开已关闭的小程序。根据小程序的关闭时间与当前时间的第一时间差值,来确定是否打开小程序,当小程序的关闭时间与当前时间的第一时间差值小于预设第一差值阈值时,表明小程序的关闭时间较短,用户仍需继续使用小程序的可能性较大,当小程序的关闭时间与当前时间的第一时间差值大于或者等于预设第一差值阈值时,表明小程序的关闭时间较短,用户仍需继续使用小程序的可能性较小。

上述实施例,当侦测到需要进入宿主应用的目标页面时,如果电子设备当前有小程序在运行,则关闭所述小程序并根据所述目标页面创建中间页面,从所述中间页面切换至所述目标页面,小程序已经被全部关闭了,则不会导致宿主应用的导航栏消失,有效的解决了小程序与宿主应用的导航栏的兼容问题;侦测到所述目标页面的关闭信号,且识别所述目标页面有所述预设标记时,在所述目标页面中打开所述小程序,实现了对小程序的自动恢复。本发明能够将小程序和宿主应用的页面的导航系统完全独立开来,相互之间不再影响,且能够做到无缝导航的效果,不需要针对不同的宿主应用做不同的适配,极大减少了软件开发工具包的复杂度和开发难度。

在一个可选的实施例中,所述方法还包括:

响应于目标小程序的启动指令,显示所述目标小程序的页面;

获取所述目标小程序的更新时间;

根据所述更新时间判断是否需要更新所述目标小程序;

当根据所述更新时间判断需要更新所述目标小程序时,下载所述目标小程序的更新包,并在下次启动所述目标小程序时根据所述更新包更新所述目标小程序。

电子设备计算所述更新时间与当前时间的第二时间差值,判断所述第二时间差值是否大于预设第二差值阈值,当所述第二时间差值大于预设第二差值阈值,表明目标小程序已长时间未进行更新,则下载所述目标小程序的更新包,当所述第二时间差值是否小于或者等于预设第二差值阈值,表明目标小程序的更新时间不长,则不需要下载所述目标小程序的更新包。

该可选的实施例中,在确定需要对所述目标小程序进行更新时,下载所述目标小程序的更新包,以在下次启动所述目标小程序时根据所述更新包更新所述目标小程序,能够不影响电子设备的用户对所述目标小程序的使用,并将目标小程序更新到最新状态。

在一个可选的实施例中,所述方法还包括:

获取所有小程序的第一功能描述及所述电子设备中已有的小程序的第二功能描述;

根据所述第一功能描述对所述所有小程序进行分类得到多个第一类型,及根据所述第二功能描述对所述已有的小程序进行分类得到多个第二类型;

删除所述多个第一类型中的所述多个第二类型得到多个第三类型;

将所述多个第三类型的小程序推荐给所述电子设备的用户。

开发者在开发完小程序并发布小程序时,需要在功能描述栏内输入对小程序的功能描述。所述功能描述是指描述小程序的功能相关的关键词或短句,例如,游戏类型的小程序的功能描述可以为网游、塔防、免费等。

电子设备可以使用NLP自然语音处理模型解析所述功能描述,并根据功能描述实现对小程序的分类。所述类型可以包括模型控制类、游戏类、实用工具类、购物类及其他类等。

由于目前并未提供专门的应用商店供用户下载小程序,用户无法及时使用需要的小程序,开发者也不便于推广自己的小程序,从而给用户造成不便,本实施例通过功能描述对市面上所有的小程序的功能描述进行分类及对电子设备中已有的小程序的功能描述进行分类来确定电子设备中未有的小程序的类型,进而进行小程序的推荐,避免用户重复使用相同类型的小程序,造成电子设备中的资源的浪费。

在一个可选的实施例中,所述将所述多个第三类型的小程序推荐给所述电子设备的用户包括:

获取每个第三类型的小程序的使用频率;

根据所述使用频率对每个第三类型的小程序进行排序;

获取所述电子设备的用户的喜好;

根据所述喜好从所述多个第三类型中筛选出目标第三类型;

将所述目标第三类型中排序在前的小程序推荐给所述电子设备的用户。

用户的喜好可以是消费习惯喜好,也可以是使用习惯喜好,根据用户的喜好为用户推荐小程序,能够实现小程序的精准化和个性化推荐,提高了小程序的推广与使用。

在一个可选的实施例中,所述方法还包括:

接收所述用户输入的功能描述;

计算所述用户输入的功能描述与所述所有小程序的第一功能描述之间的关联度;

从所述所有小程序中获取最高关联度对应的小程序;

下载所述最高关联度对应的小程序至所述电子设备中。

用户输入的功能描述可以小程序的类型或者功能关键词。用户输入的功能描述的数量可以是一个或多个。

电子设备可以计算任意两个功能描述之间的欧氏距离或者余弦夹角作为所述任意两个功能描述之间的关联度,并根据关联度进行排序,将排序最前的小程序下载至电子设备中,即将与用户输入的功能描述关联性最高的小程序下载至用户的电子设备中。在其他实施方式中,用户也可以手动选择排序列表中的一个小程序,将用户选择的小程序下载至用户的电子设备中。

图2是本发明实施例二提供的小程序和宿主应用无缝导航装置的结构图。

在一些实施例中,所述小程序和宿主应用无缝导航装置20可以包括多个由计算机程序段所组成的功能模块。所述小程序和宿主应用无缝导航装置20中的各个程序段的计算机程序可以存储于电子设备的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)小程序和宿主应用无缝导航的功能。

本实施例中,所述小程序和宿主应用无缝导航装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:判断模块201、创建模块202、切换模块203、识别模块204、打开模块205、更新模块206、推荐模块207及下载模块208。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。

所述判断模块201,用于当侦测到需要进入宿主应用的目标页面时,判断电子设备当前是否有小程序在运行。

其中,宿主应用是指为小程序提供运行环境的应用,使得小程序依托于宿主应用在电子设备上运行。其中宿主应用比如为手机百度等。一个宿主应用中可以运行多个小程序。例如,宿主应用XX1中运行小程序Y1和小程序Y2。

小程序是一种不需要下载安装即可使用的应用,可以运行在不同的应用环境(即宿主)中,比如网页浏览器应用程序、即时通信应用程序等。

用户在操作电子设备中的任一宿主应用的任一页面,如果电子设备侦测到点击或者触摸所述任一页面的虚拟图标或者链接或其他能够实现跳转至其他页面的按钮的信号时,则确定需要从宿主应用的当前页面进入目标页面。所述目标页面为所述任一页面的虚拟图标或者链接或其他能够实现跳转功能的按钮对应的URL。

电子设备可以使用预设第一方法来判断当前是否运行有小程序,其中,所述预设方法为电子设备中的软件开发工具包提供的,所述软件开发工具包是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合,所述预设第一方法可以为isMinaShowingInWindow。

所述创建模块202,用于当确定所述电子设备当前有小程序在运行时,关闭所述小程序并根据所述目标页面创建中间页面。

电子设备确定当前没有小程序在运行时,正常跳转至所述目标页面。电子设备确定当前有小程序在运行时,首先调用预设第二方法关闭所有在运行的小程序,然后创建中间页面。电子设备进入所述中间页面,后再进入所述目标页面。

其中,所述预设第二方法可以closeAllMinasCompletion。

本实施例中,由于电子设备在跳转或者进入所述目标页面之前,在运行的小程序已经被全部关闭了,则不会导致宿主应用的导航栏消失,有效的解决了小程序与宿主应用的导航栏的兼容问题。

在一个可选的实施例中,所述创建模块202根据所述目标页面创建中间页面包括:

获取所述目标页面的页面布局;

根据所述目标页面的页面布局创建所述中间页面,其中,所述中间页面的页面布局对应的显示颜色与所述目标页面的页面布局对应的显示颜色相同或相近。

其中,所述页面布局包括头部区域、菜单导航区域、内容区域、底部区域等,及每个区域的长和宽,每个区域的显示颜色等。

示例性的,假设目标页面包括头部区域、菜单导航区域、内容区域、底部区域,其中,所述头部区域对应第一长、第一宽、第一颜色;菜单导航区域对应第二长、第二宽、第二颜色;内容区域对应第三长、第三宽、第三颜色;底部区域对应第四长、第四宽、第四颜色,则创建的中间页面可以包括具有第一长和第一宽的第一区域并在第一区域内显示第一颜色或与第一颜色相近的颜色,具有第二长和第二宽的第二区域并在第二区域内显示第二颜色或与第二颜色相近的颜色,具有第三长和第三宽的第三区域并在第三区域内显示第三颜色或与第三颜色相近的颜色,具有第四长和第四宽的第四区域并在第四区域内显示第四颜色或与第四颜色相近的颜色。即,创建的中间页面具有与目标页面相同的布局颜色或者相近的布局颜色。

本实施例中,通过创建与所述目标页面的页面布局对应的显示颜色相同或者相近的页面布局的中间页面,使得后续通过中间页面进入目标页面时,能够起到平滑过渡的作用,避免对用户造成视觉冲击,提高用户的使用体验。

在一个实施例中,当确定所述电子设备当前有小程序在运行时,关闭所述小程序并创建中间页面,其中,所述中间页面可以为空白页面。

所述切换模块203,用于从所述中间页面切换至所述目标页面。

电子设备显示中间页面,并在预设时间段内显示目标页面。从所述中间页面进入所述目标页面时,关闭切换的动画效果,使得用户看起来是无感的。

所述识别模块204,用于当侦测到所述目标页面的关闭信号时,识别所述目标页面是否有预设标记。

用户点击或者触摸目标页面中的关闭按钮时,电子设备侦测到所述目标页面的关闭信号,并识别所述目标页面是否有预设标记。电子设备根据所述目标页面是否有预设标记来确定是否恢复已关闭的小程序。

在一个可选的实施例中,所述识别模块204识别所述目标页面是否有预设标记包括:

确定所述电子设备当前运行的操作系统的类型;

获取与所述操作系统的类型对应的操作方法;

调用所述操作方法获取所述目标页面的标记值;

识别所述标记值是否为预设值;

当所述标记值为所述预设值时,确定所述目标页面没有预设标记;

当所述标记值不为所述预设值时,确定所述目标页面有预设标记。

宿主应用的每一个页面,都有相应的生命周期,页面显示在电子设备上的时候,电子设备的操作系统会对显示的页面进行标记。

电子设备的操作系统可以是单一的iOS系统,也可以是单一的安卓系统,还可以是双系统。示例性的,iOS系统对应的操作方法可以为viewDidAppear方法,安卓系统对应的操作方法可以是onResume方法。

其中,所述预设值可以为0。电子设备调用操作系统对应的操作方法对目标页面进行标记,如果目标页面没有标记过,说明是第一次进入目标页面,则标记值为0;如果目标页面已经被标记过,说明是从其他页面切换到了目标页面,则标记值不为0。

所述打开模块205,用于当识别所述目标页面有所述预设标记时,在所述目标页面中打开所述小程序。

当识别所述目标页面没有所述预设标记时,则可以不执行通过所述目标页面打开所述小程序。

电子设备可以使用预设第三方法来将已关闭的小程序复原,所述预设第三方法可以是reStartMinaCompletion方法。

电子设备还可以获取关闭所述小程序的第一时间及获取所述操作系统当前的第二时间,计算所述第一时间与所述第二时间的第一时间差值,比较所述第一时间差值与预设第一差值阈值,根据比较结果确定是否自动恢复已关闭的小程序。具体实施时,当得到的比较结果为所述第一时间差值小于所述预设第一差值阈值时,使用预设第三方法在所述目标页面中自动打开已关闭的小程序;当得到的比较结果为所述第一时间差值大于或者等于所述预设第一差值阈值时,不使用预设第三方法在所述目标页面中打开已关闭的小程序。根据小程序的关闭时间与当前时间的第一时间差值,来确定是否打开小程序,当小程序的关闭时间与当前时间的第一时间差值小于预设第一差值阈值时,表明小程序的关闭时间较短,用户仍需继续使用小程序的可能性较大,当小程序的关闭时间与当前时间的第一时间差值大于或者等于预设第一差值阈值时,表明小程序的关闭时间较短,用户仍需继续使用小程序的可能性较小。

上述实施例,当侦测到需要进入宿主应用的目标页面时,如果电子设备当前有小程序在运行,则关闭所述小程序并根据所述目标页面创建中间页面,从所述中间页面切换至所述目标页面,小程序已经被全部关闭了,则不会导致宿主应用的导航栏消失,有效的解决了小程序与宿主应用的导航栏的兼容问题;侦测到所述目标页面的关闭信号,且识别所述目标页面有所述预设标记时,在所述目标页面中打开所述小程序,实现了对小程序的自动恢复。本发明能够将小程序和宿主应用的页面的导航系统完全独立开来,相互之间不再影响,且能够做到无缝导航的效果,不需要针对不同的宿主应用做不同的适配,极大减少了软件开发工具包的复杂度和开发难度。

所述更新模块206,用于响应于目标小程序的启动指令,显示所述目标小程序的页面;获取所述目标小程序的更新时间;根据所述更新时间判断是否需要更新所述目标小程序;当根据所述更新时间判断需要更新所述目标小程序时,下载所述目标小程序的更新包,并在下次启动所述目标小程序时根据所述更新包更新所述目标小程序。

电子设备计算所述更新时间与当前时间的第二时间差值,判断所述第二时间差值是否大于预设第二差值阈值,当所述第二时间差值大于预设第二差值阈值,表明目标小程序已长时间未进行更新,则下载所述目标小程序的更新包,当所述第二时间差值是否小于或者等于预设第二差值阈值,表明目标小程序的更新时间不长,则不需要下载所述目标小程序的更新包。

该可选的实施例中,在确定需要对所述目标小程序进行更新时,下载所述目标小程序的更新包,以在下次启动所述目标小程序时根据所述更新包更新所述目标小程序,能够不影响电子设备的用户对所述目标小程序的使用,并将目标小程序更新到最新状态。

所述推荐模块207,用于获取所有小程序的第一功能描述及所述电子设备中已有的小程序的第二功能描述;根据所述第一功能描述对所述所有小程序进行分类得到多个第一类型,及根据所述第二功能描述对所述已有的小程序进行分类得到多个第二类型;删除所述多个第一类型中的所述多个第二类型得到多个第三类型;将所述多个第三类型的小程序推荐给所述电子设备的用户。

开发者在开发完小程序并发布小程序时,需要在功能描述栏内输入对小程序的功能描述。所述功能描述是指描述小程序的功能相关的关键词或短句,例如,游戏类型的小程序的功能描述可以为网游、塔防、免费等。

电子设备可以使用NLP自然语音处理模型解析所述功能描述,并根据功能描述实现对小程序的分类。所述类型可以包括模型控制类、游戏类、实用工具类、购物类及其他类等。

由于目前并未提供专门的应用商店供用户下载小程序,用户无法及时使用需要的小程序,开发者也不便于推广自己的小程序,从而给用户造成不便,本实施例通过功能描述对市面上所有的小程序的功能描述进行分类及对电子设备中已有的小程序的功能描述进行分类来确定电子设备中未有的小程序的类型,进而进行小程序的推荐,避免用户重复使用相同类型的小程序,造成电子设备中的资源的浪费。

在一个可选的实施例中,所述推荐模块207将所述多个第三类型的小程序推荐给所述电子设备的用户包括:

获取每个第三类型的小程序的使用频率;

根据所述使用频率对每个第三类型的小程序进行排序;

获取所述电子设备的用户的喜好;

根据所述喜好从所述多个第三类型中筛选出目标第三类型;

将所述目标第三类型中排序在前的小程序推荐给所述电子设备的用户。

用户的喜好可以是消费习惯喜好,也可以是使用习惯喜好,根据用户的喜好为用户推荐小程序,能够实现小程序的精准化和个性化推荐,提高了小程序的推广与使用。

所述下载模块208,用于接收所述用户输入的功能描述;计算所述用户输入的功能描述与所述所有小程序的第一功能描述之间的关联度;从所述所有小程序中获取最高关联度对应的小程序;下载所述最高关联度对应的小程序至所述电子设备中。

用户输入的功能描述可以小程序的类型或者功能关键词。用户输入的功能描述的数量可以是一个或多个。

电子设备可以计算任意两个功能描述之间的欧氏距离或者余弦夹角作为所述任意两个功能描述之间的关联度,并根据关联度进行排序,将排序最前的小程序下载至电子设备中,即将与用户输入的功能描述关联性最高的小程序下载至用户的电子设备中。在其他实施方式中,用户也可以手动选择排序列表中的一个小程序,将用户选择的小程序下载至用户的电子设备中。

参阅图3所示,为本发明实施例三提供的电子设备的结构示意图。在本发明较佳实施例中,所述电子设备3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。

本领域技术人员应该了解,图3示出的电子设备的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述电子设备3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。

在一些实施例中,所述电子设备3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述电子设备3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。

需要说明的是,所述电子设备3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。

在一些实施例中,所述存储器31中存储有计算机程序,所述计算机程序被所述至少一个处理器32执行时实现如所述的小程序和宿主应用无缝导航方法中的全部或者部分步骤。所述存储器31包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。

进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。

本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。

在一些实施例中,所述至少一个处理器32是所述电子设备3的控制核心(ControlUnit),利用各种接口和线路连接整个电子设备3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行电子设备3的各种功能和处理数据。例如,所述至少一个处理器32执行所述存储器中存储的计算机程序时实现本发明实施例中所述的小程序和宿主应用无缝导航方法的全部或者部分步骤;或者实现小程序和宿主应用无缝导航装置的全部或者部分功能。所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。

在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。

尽管未示出,所述电子设备3还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备3还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。

上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,电子设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。本说明书中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

相关技术
  • 小程序和宿主应用无缝导航方法、装置、电子设备及介质
  • 一种宿主应用程序与小程序的通信方法及装置
技术分类

06120112341222