本申请涉及互联网技术领域,特别是涉及一种目标应用程序的唤醒方法及装置、电子设备、存储介质。
背景技术:
用户通过浏览器或者其他应用程序打开的网页页面(比如html5页面),通常在本地设备上安装有其对应的第三方的应用程序(app)。通过浏览器可以进入该网页页面对应的应用程序,这个过程称之为唤端。例如在浏览器上打开购物平台的某个网页页面时,可以通过浏览器唤醒本地终端上该购物平台的应用程序。
技术实现要素:
鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用程序的唤醒方法及装置、电子设备、存储介质。
为了解决上述问题,本申请公开了一种目标应用程序的唤醒方法,包括:
在应用程序上接收到指向第一目标应用程序的业务请求时,尝试唤醒第一目标应用程序;
当唤醒所述第一目标应用程序失败时,继续尝试唤醒所述第一目标程序或者尝试唤醒第二目标应用程序;所述第二目标应用程序为与所述第一目标程序支持相同业务的关联应用程序。
优选地,通过如下方式判断唤醒所述第一目标应用程序失败:
当尝试唤醒所述第一标应用程序的次数超过预设次数时,判断为所述第一目标应用程序唤醒失败。
优选地,在所述唤醒所述第一目标应用程序失败的步骤之后,还包括:
获取所述应用程序的程序指纹;
采用所述程序指纹确定本地设备是否已安装目标应用程序,所述目标应用程序包括第一目标应用程序和/或第二目标应用程序。
优选地,所述继续尝试唤醒所述第一目标程序或者尝试唤醒第二目标应用程序的步骤,包括:
若确定本地设备已安装所述第一目标应用程序,则继续尝试唤醒所述第一目标程序;
若确定本地设备没有安装所述第一目标应用程序,则尝试唤醒所述第二目标应用程序。
优选地,在所述在应用程序上接收到指向第一目标应用程序的业务请求时,尝试唤醒第一目标应用程序的步骤之前,还包括:
在应用程序上成功唤醒目标应用程序;从本地设备获取所述应用程序的程序指纹、目标应用程序的程序信息、用户信息和设备信息;
在本地设备保存所述程序指纹、程序信息、用户信息和设备信息。
优选地,还包括:
若所述本地设备中不存在所述应用程序的程序指纹,则向指纹服务器发送指纹请求;所述指纹服务器用于针对所述指纹请求生成程序指纹;
接收所述指纹服务器反馈的程序指纹,并在所述本地设备中保存。
优选地,所述采用所述程序指纹确定本地设备是否已安装目标应用程序的步骤,包括:
采用所述程序指纹获取对应的用户信息和设备信息,并进一步基于所述用户信息和设备信息获取对应的程序信息;
当所述程序信息属于目标应用程序,确定为本地设备已安装所述目标应用程序。
优选地,还包括:
获取所述应用程序的程序指纹;
将所述程序指纹发送至业务服务器,所述业务服务器用于采用所述程序指纹获取对应的用户信息,并采用所述用户信息获取相应的个性化推荐信息;
接收所述业务服务器反馈的个性化推荐信息。
本申请实施例还公开了一种目标应用程序的唤醒装置,包括:
第一唤醒模块,用于在应用程序上接收到指向第一目标应用程序的业务请求时,尝试唤醒第一目标应用程序;
第二唤醒模块,用于当唤醒所述第一目标应用程序失败时,继续尝试唤醒所述第一目标程序或者尝试唤醒第二目标应用程序;所述第二目标应用程序为与所述第一目标程序支持相同业务的关联应用程序。
优选地,所述装置还包括:
唤醒失败判断模块,用于当尝试唤醒所述第一标应用程序的次数超过预设次数时,判断为所述第一目标应用程序唤醒失败。
优选地,还包括:
程序指纹获取模块,用于获取所述应用程序的程序指纹;
程序安装确定模块,用于采用所述程序指纹确定本地设备是否已安装目标应用程序,所述目标应用程序包括第一目标应用程序和/或第二目标应用程序。
优选地,所述第二唤醒模块包括:
继续唤醒子模块,用于若确定本地设备已安装所述第一目标应用程序,则继续尝试唤醒所述第一目标程序;
唤醒转移子模块,用于若确定本地设备没有安装所述第一目标应用程序,则尝试唤醒所述第二目标应用程序。
优选地,还包括:
信息获取模块,用于在应用程序上成功唤醒目标应用程序;从本地设备获取所述应用程序的程序指纹、目标应用程序的程序信息、用户信息和设备信息;
信息保存模块,用于在本地设备保存所述程序指纹、程序信息、用户信息和设备信息。
优选地,还包括:
指纹请求模块,用于若所述本地设备中不存在所述应用程序的程序指纹,则向指纹服务器发送指纹请求;所述指纹服务器用于针对所述指纹请求生成程序指纹;
指纹接收模块,用于接收所述指纹服务器反馈的程序指纹,并在所述本地设备中保存。
优选地,所述程序安装确定模块包括:
信息获取子模块,用于采用所述程序指纹获取对应的用户信息和设备信息,并进一步基于所述用户信息和设备信息获取对应的程序信息;
安装确定子模块,用于当所述程序信息属于目标应用程序,确定为本地设备已安装所述目标应用程序。
优选地,还包括:
程序指纹获取模块,用于获取所述应用程序的程序指纹;
程序指纹发送模块,用于将所述程序指纹发送至业务服务器,所述业务服务器用于采用所述程序指纹获取对应的用户信息,并采用所述用户信息获取相应的个性化推荐信息;
推荐信息接收模块,用于接收所述业务服务器反馈的个性化推荐信息。
本申请实施例还公开了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如上述的一个或多个的方法。
本申请实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如上述的一个或多个的方法。
本申请实施例包括以下优点:
本申请实施例,在某个应用程序上接收到指向第一目标应用程序的业务请求时,可以尝试唤醒第一目标应用程序,若唤醒第一目标应用程序失败,则可以继续尝试唤醒第一目标应用程序,或者,尝试唤醒与第一目标程序支持相同业务的第二目标应用程序,本申请实施例在唤醒第一目标应用程序失败时,并不会持续无用的唤醒,而是可以选择继续唤醒第一目标应用程序或者唤醒第二目标应用程序,使得唤端效率最大化且不会同时唤醒两个目标应用程序,同时还能够满足用户需求,将非目标应用程序的用户流量转化为目标应用程序的用户流量。
附图说明
图1是本申请的一种目标应用程序的唤醒方法实施例1的步骤流程图;
图2是本申请的一种目标应用程序的唤醒方法实施例2的步骤流程图;
图3是本申请的一种iframe方案指纹共享的示意图;
图4是本申请的一种整体架构示意图;
图5是本申请的一种链路说明的示意图;
图6是本申请的一种应用举例的示意图;
图7是本申请的一种目标应用程序的唤醒装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
在实际应用中,在用户通过浏览器(或者其他应用程序)访问网页页面,也即是在浏览器或者其他应用程序接收到指向目标应用程序的业务请求时,首先会根据本地设备是否已安装appa进行唤端,如本地设备未安装appa,则无法进行唤端。但由于本地设备可能同时安装有支持该网页页面的appb,在appa唤醒不成功的情况下,唤醒appb也能实现同类效果。但由于现有技术限制,无法准确实现在appa唤醒失败的情况下,去唤醒appb,造成唤端效率低的问题。
假设在本地设备上安装有appa和appb两个应用程序,针对上述问题,目前的一种解决方案是,在尝试唤醒appa后按照延时设定,在延时时间达到后,在网页页面中尝试唤醒appb,以在唤醒appa失败的情况下再去唤醒appb。但是上述方案的缺点是:1、不精确,用户体验很差,会感觉唤端特别慢,且失败率高,大部分用户在延时时间内,就放弃网页的浏览了;2、目前方案的缺点是由于设备及浏览器性能原因,延时唤醒并不能准确的实现唤醒appa失败的情况下唤醒appb,很有可能同时唤起两个app或者在唤醒appa失败且延时还未到的情况下,用户进行其他操作而跳出当前网页页面,导致用户流失。
针对上述问题,本申请实施例的核心思想可以包括:1、在应用程序,使用iframe方案来进行本地设备的指纹共享,将唯一的程序指纹进行跨域共享,用于标记唯一的应用程序的运行环境;2、在唤端成功后,将程序指纹以及应用程序采集的设备信息等通过目标应用程序的海关sdk进行实时上报,记录到服务器存储;3、服务器通过实时匹配,离线数据校准,记录程序指纹的多重信息、设备信息、用户信息、唤端效率信息等;4、通过服务器的辅助来确定唤端目标(目标应用程序)以及协议参数等,来达到最大化唤端效率的目的,从而最大化将非目标应用程序的用户流量转化为目标应用程序的用户流量。下面对于本申请实施例进行详细介绍。
参照图1,示出了本申请的一种目标应用程序的唤醒方法实施例1的步骤流程图,具体可以包括如下步骤:
步骤101,在应用程序上接收到指向第一目标应用程序的业务请求时,尝试唤醒第一目标应用程序。
在具体实现中,用户通过本地设备上的目标应用程序进行业务访问,比如在某个购物平台上访问某个商品页面,由于登录目标应用程序时具有用户信息,方便记录用户行为,因此可以使用大量的个性化、千人千面等运营手段来提高转化率,然而,通过某一应用程序(非目标应用程序),比如通过浏览器访问某个商品页面时,由于普遍没有登录,意味着无用户信息,无法进行常规运营。在下文中主要采用浏览器作为非目标应用程序的举例。
在本申请实施例中,当用户在浏览器上打开第一目标应用程序的网页页面,即在应用程序上接收到指向第一目标应用程序的业务请求,将尝试去唤醒本地设备上的第一目标应用程序。通过这种方式,使得能够将浏览器的用户流量,转换为目标应用程序的用户流量,以方便记录用户行为。其中,目标应用程序可以是支持当前网页页面业务的应用程序。
步骤102,当唤醒所述第一目标应用程序失败时,继续尝试唤醒所述第一目标程序或者尝试唤醒第二目标应用程序;所述第二目标应用程序为与所述第一目标程序支持相同业务的关联应用程序。
在浏览器接收到指向第一目标应用程序的业务请求的时候,无需用户任何操作,自动进行唤端,以唤醒本地设备上安装的第一目标应用程序。
在本发明的一种优选实施例中,可以通过如下方式判断唤醒所述第一目标应用程序失败:
当尝试唤醒所述第一标应用程序的次数超过预设次数时,判断为所述第一目标应用程序唤醒失败。
其中,当尝试唤醒第一目标应用程序的次数超过预设次数,比如三次时,视为唤醒第一目标应用程序失败。
当确定为唤醒第一目标应用程序失败时,可以选择继续尝试唤醒第一目标程序,或者,尝试唤醒与第一目标程序支持相同业务的第二目标应用程序。具体来说,支持相同业务是指同样可以实现在浏览器上接收到的业务请求,比如,打开某个商品的页面。
本申请实施例,在某个应用程序上接收到指向第一目标应用程序的业务请求时,可以尝试唤醒第一目标应用程序,若唤醒第一目标应用程序失败,则可以继续尝试唤醒第一目标应用程序,或者,尝试唤醒与第一目标程序支持相同业务的第二目标应用程序,本申请实施例在唤醒第一目标应用程序失败时,并不会持续无用的唤醒,而是可以选择继续唤醒第一目标应用程序或者唤醒第二目标应用程序,使得唤端效率最大化且不会同时唤醒两个目标应用程序,同时还能够满足用户需求,将非目标应用程序的用户流量转化为目标应用程序的用户流量。
参照图2,示出了本申请的一种目标应用程序的唤醒方法实施例2的步骤流程图,具体可以包括如下步骤:
步骤201,在应用程序上接收到指向第一目标应用程序的业务请求时,尝试唤醒第一目标应用程序。
在本发明实施例中,如果在某个应用程序,比如浏览器上接收到指向第一目标应用程序的业务请求时,可以尝试唤醒第一目标应用程序。如果能够成功唤醒第一目标应用程序,那么就可以将将非目标应用程序的用户流量转化为目标应用程序的用户流量。
步骤202,当唤醒所述第一目标应用程序失败时,获取所述应用程序的程序指纹。
在实际中,可能由于各种原因,比如在本地设备上没有安装第一目标应用程序或者网络故障等原因,将导致唤醒第一目标应用程序失败,此时将获取浏览器的浏览器指纹(程序指纹)。其中,程序指纹是指能够唯一标记应用程序且保持不变的字符串。
步骤203,采用所述程序指纹确定本地设备是否已安装目标应用程序,所述目标应用程序包括第一目标应用程序和/或第二目标应用程序。
在本申请实施例中,在本地设备以及在服务器中可以按照浏览器指纹对应记录有目标应用程序在本地设备中的安装情况,因此,可以基于浏览器指纹确定本地设备是否已安装目标应用程序。
步骤204,若确定本地设备已安装所述第一目标应用程序,则继续尝试唤醒所述第一目标程序。
当基于浏览器指纹确定为已在本地设备安装第一目标应用程序时,说明本地设备安装有第一目标应用程序,因此可以继续尝试去唤醒第一目标应用程序。
步骤205,若确定本地设备没有安装所述第一目标应用程序,则尝试唤醒所述第二目标应用程序。
如果基于浏览器指纹确定为在本地设备没有安装第一目标应用程序,则可以停止尝试去唤醒第一目标应用程序,转而去尝试唤醒支持相同业务的第二目标应用程序,从而避免无用功,提高唤端效率。
在本申请的一种实施例中,在所述在应用程序上接收到指向第一目标应用程序的业务请求时,尝试唤醒第一目标应用程序,即步骤201之前,还可以包括如下步骤:
在应用程序上成功唤醒目标应用程序;从本地设备获取所述应用程序的程序指纹、目标应用程序的程序信息、用户信息和设备信息;
在本申请实施例中,若在通过浏览器成功唤醒目标应用程序时,可以获取浏览器的浏览器指纹,同时,还可以获取目标应用程序的程序信息、用户信息和设备信息。程序信息为能够唯一识别到该应用程序的信息,用户信息包括用户标识(userid),以及用户相关的其他信息,比如年龄,性别,爱好等等,设备信息包括设备标识(utdid),imei,imsi,idfa等等。
在本申请的一种实施例中,所述方法还可以包括如下步骤:
若所述本地设备中不存在所述应用程序的程序指纹,则向指纹服务器发送指纹请求;所述指纹服务器用于针对所述指纹请求生成程序指纹;
接收所述指纹服务器反馈的程序指纹,并在所述本地设备中保存。
在具体实现中,如果在本地设备中并没有保存浏览器的浏览器指纹,则可以向指纹服务器发起指纹请求,使得指纹服务器分配一个能够唯一标识该浏览器的字符串作为浏览器指纹,本地设备在接收到指纹服务器反馈的浏览器指纹后,将在本地设备(localstorage)进行保存。
需要说明的是,本申请实施例的浏览器指纹使用iframe方案来进行共享,将唯一的浏览器指纹进行跨域共享。具体地,参照图3,iframe方案是指相同域名来保存浏览器指纹(指纹id),利用消息通信,将浏览器的子网页页面(图右上角)的信息发送出去,由父网页页面(左边)接收,让不同的域名共享浏览器指纹。简单来说,即在浏览器基于业务请求打开的所有网页页面,它们的域名会有所不同,但是仍然是共用一个浏览器指纹。
当成功唤醒目标应用程序,即通过浏览器成功跳转至目标应用程序时,会将浏览器指纹、程序信息、用户信息和设备信息发送至指纹服务器,指纹服务器在接收到这些信息后,将用户信息和设备信息与程序信息采用键值对的方式进行保存,并将浏览器指纹与用户信息和设备信息进行绑定。
具体地,在本申请实施例的目标应用程序中具有流量海关sdk,是一个作用于客户端应用程序的sdk,可以具有安卓和ios等多个版本,集成在支持相同业务的目标应用程序中,其主要功能包括记录启动应用程序的相关信息,比如是由其他哪个应用程序,在什么场景下,打开了某个目标应用程序,并最后打开了哪个网页页面,比如是哪个平台的详情页面,打开了目标应用程序,以及打开了哪个的商品详情页面。
在本申请的另一种实施例中,所述步骤203可以包括如下子步骤:
采用所述程序指纹获取对应的用户信息和设备信息,并进一步基于所述用户信息和设备信息获取对应的程序信息;
当所述程序信息属于目标应用程序,确定为本地设备已安装所述目标应用程序。
在具体实现中,基于在先本地设备中绑定保存的浏览器指纹、程序信息、用户信息和设备信息,来确定本地设备是否已安装目标应用程序。具体地,如果在本地设备保存程序指纹对应的程序信息属于目标应用程序,则说明本地设备已安装目标应用程序。
如果确定本地设备上安装有目标应用程序,说明在先唤端失败的原因并非是因为本地设备没有安装目标应用程序,因此可以尝试继续去唤醒目标应用程序。
在本申请的一种实施例中,所述方法还可以包括如下步骤:
获取所述应用程序的程序指纹;
将所述程序指纹发送至业务服务器,所述业务服务器用于采用所述程序指纹获取对应的用户信息,并采用所述用户信息获取相应的个性化推荐信息;
接收所述业务服务器反馈的个性化推荐信息。
在本申请实施例中,当用户登录浏览器时,获取浏览器的浏览器指纹并发送至业务服务器,业务服务器则基于浏览器指纹从指纹服务器获取对应的用户信息,然后基于用户信息获取用户的兴趣爱好,从而能够进行个性化推荐,优化推荐效果。
为了使本领域技术人员更好地理解本申请实施例,下面采用具体的示例进行说明。参照图4,所示为本申请的一种整体架构示意图,浏览器为应用程序,app1和app2为目标应用程序,主要过程包括如下几个部分:
1、用户通过浏览器访问app1的网页页面(html5页面);
2、向指纹服务器(指纹server)注册并获取能够唯一标识浏览器的浏览器指纹(指纹id、fid);
3、用户通过浏览器成功进入到app1;
4、绑定浏览器指纹和设备信息与用户信息,同时绑定设备信息和用户信息与app1;
5、在用户通过浏览器访问app1的网页页面时,可以向业务服务器(业务server)发送浏览器指纹,业务服务器则基于浏览器指纹从指纹服务器获取用户信息,并基于用户信息向用户进行个性化推荐。
参照图5,所示为本申请的一种链路说明的示意图,其中,fe是指前端,即浏览器(webview环境),client是指目标应用程序,server是指云端服务器。
首先,在webview环境下,浏览器的smartbanner(smb,智能广告横幅)会先读取本地设备(localstorage)的信息,查询浏览器指纹(fid),如果没有,会从服务器获取fid,存入localstorage;然后,smartbanner在唤醒目标应用程序的时候,会将fid带入到唤起的目标应用程序中,目标应用程序中的海关sdk会采集到浏览器指纹,并上报给服务器。
最后,在webview环境中,如果需要用到用户信息,就可以使用localstorage中的fid,去请求服务器,服务器基于fid确定对应的用户信息(userid)和设备信息(utdid),使得服务器能够基于用户信息反馈相应的业务信息(个性化推荐信息),来达到优化业务效果推荐的目的。
参照图6,所示为本申请的一种应用举例的示意图,在上述结构和链路的基础上,本申请实现将浏览器的用户流量转换为目标应用程序的用户流量的过程为:
1、当在浏览器打开app1的网页页面(h5页面)时,获取到浏览器的浏览器指纹(fid),smartbanner开始请求唤醒网页页面对应的app1;
2、获取尝试唤醒app1的次数num;
3、判断num是否小于或者等于3;若是,则尝试继续唤醒app1,若否,则执行步骤4;
4、查询fid对应的目标应用程序(app);
5、判断所述app是否包括app1;若是,则继续尝试唤醒app1,若否,则唤醒支持相同业务的app2。
其中,步骤4中fid对应的app通过如下方式记录:
s1、afc(alibabaflowcustomssdk,流量海关sdk)唤醒app,记录fid对应的用户信息(userid)和设备信息(utdid);
s2、记录fid对应的app;app可以包括app1/app2;
s3、记录为键值对:tair:fid:userid utdid,fid:app1/app2。
其中,图6中的hacker和nbcp指两个云端服务器,分别具有不同的作用。左侧hacker表示是前端webview环境的网络请求逻辑链路,右侧nbcp表示目标应用程序内,海关sdk的网络请求逻辑链路。指纹server是包含了hacker和nbcp。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图7,示出了本申请的一种目标应用程序的唤醒装置实施例的结构框图,具体可以包括如下模块:
第一唤醒模块301,用于在应用程序上接收到指向第一目标应用程序的业务请求时,尝试唤醒第一目标应用程序;
第二唤醒模块302,用于当唤醒所述第一目标应用程序失败时,继续尝试唤醒所述第一目标程序或者尝试唤醒第二目标应用程序;所述第二目标应用程序为与所述第一目标程序支持相同业务的关联应用程序。
在本发明实施例中,所述装置还可以包括:
唤醒失败判断模块,用于当尝试唤醒所述第一标应用程序的次数超过预设次数时,判断为所述第一目标应用程序唤醒失败。
在本发明实施例中,所述装置还包括:
程序指纹获取模块,用于获取所述应用程序的程序指纹;
程序安装确定模块,用于采用所述程序指纹确定本地设备是否已安装目标应用程序,所述目标应用程序包括第一目标应用程序和/或第二目标应用程序。
在本发明实施例中,所述第二唤醒模块302可以包括:
继续唤醒子模块,用于若确定本地设备已安装所述第一目标应用程序,则继续尝试唤醒所述第一目标程序;
唤醒转移子模块,用于若确定本地设备没有安装所述第一目标应用程序,则尝试唤醒所述第二目标应用程序。
在本发明实施例中,所述装置还可以包括:
信息获取模块,用于在应用程序上成功唤醒目标应用程序;从本地设备获取所述应用程序的程序指纹、目标应用程序的程序信息、用户信息和设备信息;
信息保存模块,用于在本地设备保存所述程序指纹、程序信息、用户信息和设备信息。
在本发明实施例中,所述装置还可以包括:
指纹请求模块,用于若所述本地设备中不存在所述应用程序的程序指纹,则向指纹服务器发送指纹请求;所述指纹服务器用于针对所述指纹请求生成程序指纹;
指纹接收模块,用于接收所述指纹服务器反馈的程序指纹,并在所述本地设备中保存。
在本发明实施例中,所述程序安装确定模块可以包括:
信息获取子模块,用于采用所述程序指纹获取对应的用户信息和设备信息,并进一步基于所述用户信息和设备信息获取对应的程序信息;
安装确定子模块,用于当所述程序信息属于目标应用程序,确定为本地设备已安装所述目标应用程序。
在本发明实施例中,所述装置还可以包括:
程序指纹获取模块,用于获取所述应用程序的程序指纹;
程序指纹发送模块,用于将所述程序指纹发送至业务服务器,所述业务服务器用于采用所述程序指纹获取对应的用户信息,并采用所述用户信息获取相应的个性化推荐信息;
推荐信息接收模块,用于接收所述业务服务器反馈的个性化推荐信息。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行本发明实施例所述的方法。
本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitorymedia),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种目标应用程序的唤醒方法及装置、电子设备、存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
1.一种目标应用程序的唤醒方法,其特征在于,包括:
在应用程序上接收到指向第一目标应用程序的业务请求时,尝试唤醒第一目标应用程序;
当唤醒所述第一目标应用程序失败时,继续尝试唤醒所述第一目标程序或者尝试唤醒第二目标应用程序;所述第二目标应用程序为与所述第一目标程序支持相同业务的关联应用程序。
2.根据权利要求1所述的方法,其特征在于,通过如下方式判断唤醒所述第一目标应用程序失败:
当尝试唤醒所述第一标应用程序的次数超过预设次数时,判断为所述第一目标应用程序唤醒失败。
3.根据权利要求1或2所述的方法,其特征在于,在所述唤醒所述第一目标应用程序失败的步骤之后,还包括:
获取所述应用程序的程序指纹;
采用所述程序指纹确定本地设备是否已安装目标应用程序,所述目标应用程序包括第一目标应用程序和/或第二目标应用程序。
4.根据权利要求3所述的方法,其特征在于,所述继续尝试唤醒所述第一目标程序或者尝试唤醒第二目标应用程序的步骤,包括:
若确定本地设备已安装所述第一目标应用程序,则继续尝试唤醒所述第一目标程序;
若确定本地设备没有安装所述第一目标应用程序,则尝试唤醒所述第二目标应用程序。
5.根据权利要求1所述的方法,其特征在于,在所述在应用程序上接收到指向第一目标应用程序的业务请求时,尝试唤醒第一目标应用程序的步骤之前,还包括:
在应用程序上成功唤醒目标应用程序;从本地设备获取所述应用程序的程序指纹、目标应用程序的程序信息、用户信息和设备信息;
在本地设备保存所述程序指纹、程序信息、用户信息和设备信息。
6.根据权利要求5所述的方法,其特征在于,还包括:
若所述本地设备中不存在所述应用程序的程序指纹,则向指纹服务器发送指纹请求;所述指纹服务器用于针对所述指纹请求生成程序指纹;
接收所述指纹服务器反馈的程序指纹,并在所述本地设备中保存。
7.根据权利要求3或4或5或6所述的方法,其特征在于,所述采用所述程序指纹确定本地设备是否已安装目标应用程序的步骤,包括:
采用所述程序指纹获取对应的用户信息和设备信息,并进一步基于所述用户信息和设备信息获取对应的程序信息;
当所述程序信息属于目标应用程序,确定为本地设备已安装所述目标应用程序。
8.根据权利要求1所述的方法,其特征在于,还包括:
获取所述应用程序的程序指纹;
将所述程序指纹发送至业务服务器,所述业务服务器用于采用所述程序指纹获取对应的用户信息,并采用所述用户信息获取相应的个性化推荐信息;
接收所述业务服务器反馈的个性化推荐信息。
9.一种目标应用程序的唤醒装置,其特征在于,包括:
第一唤醒模块,用于在应用程序上接收到指向第一目标应用程序的业务请求时,尝试唤醒第一目标应用程序;
第二唤醒模块,用于当唤醒所述第一目标应用程序失败时,继续尝试唤醒所述第一目标程序或者尝试唤醒第二目标应用程序;所述第二目标应用程序为与所述第一目标程序支持相同业务的关联应用程序。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
唤醒失败判断模块,用于当尝试唤醒所述第一标应用程序的次数超过预设次数时,判断为所述第一目标应用程序唤醒失败。
11.根据权利要求9或10所述的装置,其特征在于,还包括:
程序指纹获取模块,用于获取所述应用程序的程序指纹;
程序安装确定模块,用于采用所述程序指纹确定本地设备是否已安装目标应用程序,所述目标应用程序包括第一目标应用程序和/或第二目标应用程序。
12.根据权利要求11所述的装置,其特征在于,所述第二唤醒模块包括:
继续唤醒子模块,用于若确定本地设备已安装所述第一目标应用程序,则继续尝试唤醒所述第一目标程序;
唤醒转移子模块,用于若确定本地设备没有安装所述第一目标应用程序,则尝试唤醒所述第二目标应用程序。
13.根据权利要求9所述的装置,其特征在于,还包括:
信息获取模块,用于在应用程序上成功唤醒目标应用程序;从本地设备获取所述应用程序的程序指纹、目标应用程序的程序信息、用户信息和设备信息;
信息保存模块,用于在本地设备保存所述程序指纹、程序信息、用户信息和设备信息。
14.根据权利要求13所述的装置,其特征在于,还包括:
指纹请求模块,用于若所述本地设备中不存在所述应用程序的程序指纹,则向指纹服务器发送指纹请求;所述指纹服务器用于针对所述指纹请求生成程序指纹;
指纹接收模块,用于接收所述指纹服务器反馈的程序指纹,并在所述本地设备中保存。
15.根据权利要求11或12或13或14所述的装置,其特征在于,所述程序安装确定模块包括:
信息获取子模块,用于采用所述程序指纹获取对应的用户信息和设备信息,并进一步基于所述用户信息和设备信息获取对应的程序信息;
安装确定子模块,用于当所述程序信息属于目标应用程序,确定为本地设备已安装所述目标应用程序。
16.根据权利要求9所述的装置,其特征在于,还包括:
程序指纹获取模块,用于获取所述应用程序的程序指纹;
程序指纹发送模块,用于将所述程序指纹发送至业务服务器,所述业务服务器用于采用所述程序指纹获取对应的用户信息,并采用所述用户信息获取相应的个性化推荐信息;
推荐信息接收模块,用于接收所述业务服务器反馈的个性化推荐信息。
17.一种电子设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-8所述的一个或多个的方法。
18.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-8所述的一个或多个的方法。
技术总结