[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN110941484B - 应用程序调起方法和设备 - Google Patents

应用程序调起方法和设备 Download PDF

Info

Publication number
CN110941484B
CN110941484B CN201911155118.0A CN201911155118A CN110941484B CN 110941484 B CN110941484 B CN 110941484B CN 201911155118 A CN201911155118 A CN 201911155118A CN 110941484 B CN110941484 B CN 110941484B
Authority
CN
China
Prior art keywords
module
strategy
calling
invoking
call
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
Application number
CN201911155118.0A
Other languages
English (en)
Other versions
CN110941484A (zh
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.)
Mafengwo Guizhou Tourism Group Co ltd
Original Assignee
Mafengwo Guizhou Tourism Group Co 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 Mafengwo Guizhou Tourism Group Co ltd filed Critical Mafengwo Guizhou Tourism Group Co ltd
Priority to CN201911155118.0A priority Critical patent/CN110941484B/zh
Publication of CN110941484A publication Critical patent/CN110941484A/zh
Application granted granted Critical
Publication of CN110941484B publication Critical patent/CN110941484B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种应用程序调起方法和设备。该方法包括:环境探测模块在检测到用户通过浏览器打开目标页面后,采集环境信息,并将所述环境信息发送给所述学习模块,所述学习模块根据所述环境信息获取调起策略;运行时模块接收到用户在所述目标页面触发的应用程序APP调起指令后,从所述学习模块获取所述调起策略,并将所述调起策略发送给所述调起模块;调起模块根据所述调起策略调起对应的应用程序APP。本发明提供的调起方法和设备相较于现有技术终端覆盖率高,同时还节省了维护和新增适配方案的成本。

Description

应用程序调起方法和设备
技术领域
本发明涉及通信技术领域,尤其涉及一种应用程序调起方法和设备。
背景技术
移动互联网时代,流量基于搜索引擎优化、超级应用程序APP等进行分发裂变,分发裂变的入口主要基于万维网Web端的H5页面。为了把流量导向或回流到应用程序APP上,需要在H5页面上执行调起原生APP的功能。
目前,在操作系统层面,移动设备基于Android和IOS两种类型的操作系统,提供了不同的H5页面调起原生APP的方式;在浏览终端层面,同一种操作系统下,对于不同的浏览终端,比如:微信、手机百度、UC浏览起、QQ浏览器、Safari浏览器以及安卓原生浏览器等,提供的调起方式也不尽相同;另外,在同一种操作系统下,针对同一种浏览终端,不同品牌的手机或者同品牌的不同手机型号,调起原生APP的方式也有所不同。也就是说,现有技术是基于移动设备的品牌、手机型号、操作系统和浏览终端为其配置特定的APP调起方式,当用户触发调起指令后,直接根据该特定的APP调起方式来执行调起。
然而,移动设备的品牌、手机型号、操作系统和浏览终端的种类千变万化,要配置的情况非常多,新增适配或修改需要花费大量工作和人力。
发明内容
本发明提供一种应用程序调起方法和设备,用于解决现有技术为不同调起环境适配特定调起策略引起的人力物力花费大的问题。
第一方面,本发明提供一种应用程序调起方法,应用于终端设备,所述终端设备包括:环境探测模块,运行时模块、学习模块和调起模块;所述应用程序调起方法包括:
所述环境探测模块在检测到用户通过浏览器打开目标页面后,采集环境信息,并将所述环境信息发送给所述学习模块,所述环境信息包括所述终端设备的操作系统类型、所述终端设备的操作系统版本、所述浏览器的类型和所述终端设备的品牌中的至少一种;
所述学习模块根据所述环境信息获取调起策略;
所述运行时模块接收到用户在所述目标页面触发的应用程序APP调起指令后,从所述学习模块获取所述调起策略,并将所述调起策略发送给所述调起模块;
所述调起模块根据所述调起策略调起对应的应用程序APP。
可选的,所述终端设备还包括:初始化模块;所述调起模块根据所述调起策略调起对应的应用程序APP之前,所述应用程序调起方法还包括:
所述初始化模块根据所述目标页面的内容生成第一页面地址,并将所述第一页面地址发送给所述调起模块,所述第一页面地址为所述应用程序APP中与所述目标页面的内容相关的页面的地址;
若所述调起模块根据所述调起策略调起对应的应用程序APP成功,所述调起模块根据所述调起策略和所述第一页面地址控制所述终端设备从当前页面跳转至所述应用程序APP中与所述目标页面的内容相关的页面。
可选的,所述应用程序调起方法还包括:
所述调起模块指示所述应用程序APP向服务器上报调起成功案例,所述调起成功案例包括所述终端设备的操作系统类型、所述终端设备的操作系统版本、所述浏览器的类型、所述终端设备的品牌、调起方法、调起方式和自主学习策略相关参数。
可选的,所述调起模块根据所述调起策略调起对应的应用程序APP之前,所述应用程序调起方法还包括:
所述初始化模块根据所述应用程序APP的标识生成第二页面地址,并将所述第二页面地址发送给所述调起模块,所述第二页面地址为所述应用程序APP的下载页面的地址;
若所述调起模块根据所述调起策略调起对应的应用程序APP失败,所述调起模块根据所述第二页面地址控制所述终端设备从当前页面跳转至所述应用程序APP的下载页面。
可选的,所述调起模块根据所述调起策略调起对应的应用程序APP之前,所述应用程序调起方法还包括:
所述初始化模块根据所述目标页面的内容生成第三页面地址,并将所述第三页面地址发送给所述调起模块,所述第三页面地址为与所述目标页面的内容相关的万维网页面的地址;
若所述调起模块根据所述调起策略调起对应的应用程序APP失败,所述调起模块根据所述第三页面地址控制所述终端设备从当前页面跳转至与所述目标页面的内容相关的万维网页面。
可选的,所述终端设备还包括:监听模块,所述应用程序调起方法还包括;
若所述调起模块根据所述调起策略调起对应的应用程序APP失败,所述调起模块向所述运行时模块反馈失败信息;
所述运行时模块根据所述失败信息生成失败案例,并将所述失败案例发送给所述监听模块,以使所述监听模块将所述失败案例发送给服务器,所述调起失败案例包括所述终端设备的操作系统类型、所述终端设备的操作系统版本、所述浏览器的类型、所述终端设备的品牌、调起方法、调起方式和自主学习策略相关参数。
可选的,所述应用程序调起方法还包括:
所述监听模块接收所述服务器推送的调起成功案例,并将所述调起成功案例发送给所述运行时模块;
所述运行时模块将所述调起成功案例发送给所述学习模块;
所述学习模块根据所述调起成功案例更新已有调起策略。
第二方面,本发明提供一种应用程序调起装置,包括:环境探测模块,运行时模块、学习模块和调起模块;
所述环境探测模块用于在检测到用户通过浏览器打开目标页面后,采集环境信息,并将所述环境信息发送给所述学习模块,所述环境信息包括所述终端设备的操作系统类型、所述终端设备的操作系统版本、所述浏览器的类型和所述终端设备的品牌中的至少一种;
所述学习模块用于根据所述环境信息获取调起策略;
所述运行时模块用于接收到用户在所述目标页面触发的应用程序APP调起指令后,从所述学习模块获取所述调起策略,并将所述调起策略发送给所述调起模块;
所述调起模块用于根据所述调起策略调起对应的应用程序APP。
可选的,上述应用程序调起装置还包括:初始化模块;
所述调起模块根据所述调起策略调起对应的应用程序APP之前,所述初始化模块用于根据所述目标页面的内容生成第一页面地址,并将所述第一页面地址发送给所述调起模块,所述第一页面地址为所述应用程序APP中与所述目标页面的内容相关的页面的地址;
若所述调起模块根据所述调起策略调起对应的应用程序APP成功,所述调起模块还用于根据所述调起策略和所述第一页面地址控制所述终端设备从当前页面跳转至所述应用程序APP中与所述目标页面的内容相关的页面。
可选的,所述调起模块还用于指示所述应用程序APP向服务器上报调起成功案例,所述调起成功案例包括所述终端设备的操作系统类型、所述终端设备的操作系统版本、所述浏览器的类型、所述终端设备的品牌、调起方法、调起方式和自主学习策略相关参数。
可选的,所述调起模块根据所述调起策略调起对应的应用程序APP之前,所述初始化模块还用于根据所述应用程序APP的标识生成第二页面地址,并将所述第二页面地址发送给所述调起模块,所述第二页面地址为所述应用程序APP的下载页面的地址;
若所述调起模块根据所述调起策略调起对应的应用程序APP失败,所述调起模块还用于根据所述第二页面地址控制所述终端设备从当前页面跳转至所述应用程序APP的下载页面。
可选的,所述调起模块根据所述调起策略调起对应的应用程序APP之前,所述初始化模块还用于根据所述目标页面的内容生成第三页面地址,并将所述第三页面地址发送给所述调起模块,所述第三页面地址为与所述目标页面的内容相关的万维网页面的地址;
若所述调起模块根据所述调起策略调起对应的应用程序APP失败,所述调起模块还用于根据所述第三页面地址控制所述终端设备从当前页面跳转至与所述目标页面的内容相关的万维网页面。
可选的,上述应用程序调起装置还包括:监听模块;
若所述调起模块根据所述调起策略调起对应的应用程序APP失败,所述调起模块还用于向所述运行时模块反馈失败信息;
所述运行时模块还用于根据所述失败信息生成失败案例,并将所述失败案例发送给所述监听模块,以使所述监听模块将所述失败案例发送给服务器,所述调起失败案例包括所述终端设备的操作系统类型、所述终端设备的操作系统版本、所述浏览器的类型、所述终端设备的品牌、调起方法、调起方式和自主学习策略相关参数。
可选的,所述监听模块还用于接收所述服务器推送的调起成功案例,并将所述调起成功案例发送给所述运行时模块;
所述运行时模块还用于将所述调起成功案例发送给所述学习模块;
所述学习模块还用于根据所述调起成功案例更新已有调起策略。
第三方面,本发明提供一种终端设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述应用程序调起方法。
第四方面,本发明提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上述应用程序调起方法。
本发明提供的应用程序调起方法和设备,在终端设备中配置环境探测模块,运行时模块、学习模块和调起模块,所述环境探测模块在检测到用户通过浏览器打开目标页面后,采集环境信息,并将所述环境信息发送给所述学习模块,所述学习模块根据所述环境信息获取调起策略;所述运行时模块接收到用户在所述目标页面触发的应用程序APP调起指令后,从所述学习模块获取所述调起策略,并将所述调起策略发送给所述调起模块;所述调起模块根据所述调起策略调起对应的应用程序APP。和现有技术相比,无需针对不同品牌、手机型号、操作系统和浏览器专门配置特定的调起方式,不管是什么品牌、手机型号、操作系统和浏览器的终端设备,只要配置上述几个模块就能实现原生APP的调起,因此,本发明提供的调起方法和设备相较于现有技术终端覆盖率高,同时还节省了维护和新增适配方案的成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的应用程序调起方法的应用场景图一;
图2为本发明提供的应用程序调起方法的应用场景图二;
图3为本发明提供的应用程序调起方法的实施例一的流程示意图;
图4为本发明提供的终端设备结构示意图一;
图5a为本发明提供的应用程序调起方法的实施例二的流程图一;
图5b为本发明提供的应用程序调起方法的实施例二的流程图二;
图5c为本发明提供的应用程序调起方法的实施例二的流程图三;
图6为本发明提供的终端设备结构示意图二;
图7为本发明提供的跳转后的原生APP的页面示意图;
图8为本发明提供的原生APP下载页面示意图;
图9为本发明提供的跳转后的万维网页面示意图;
图10为本发明提供的终端设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明的描述中,需要解释的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
图1为本发明提供的应用程序调起方法的应用场景图一;图2为本发明提供的应用程序调起方法的应用场景图二。图1示出了终端设备某浏览器的首页示意图,用户可以使用该浏览器搜索感兴趣的主题,也可以浏览首页提供的板块内容,比如:推荐、视频、要闻以及游戏等板块。参见图1所示,假设用户选择并点击了图1所示推荐板块的标题1,终端设备检测到用户该点击动作后,将页面跳转至图2所示标题1的页面。参见图2所示,标题1的页面展示了标题1的部分文档内容,而且还提供了调起原生APP的触发按钮,用户可通过点击该按钮调起原生APP,在该原生APP中查阅标题1的全文。图2中原生APP的名称使用“目标APP”示意,图2中调起原生APP的按钮用“打开目标APP阅读全文”字样示意。
现有技术中,基于终端设备的品牌、手机型号、操作系统类型和浏览器类型为其配置特定的APP调起方式,当用户触发调起指令后,直接根据该特定的APP调起方式来执行调起。结合图2所示场景,假设图2所示终端设备的品牌为A,手机型号为B,操作系统类型为C,浏览器类型为D,在该终端设备出厂前就为该终端设备的不同浏览器配置了特定的调起方式,假设为图1所示浏览器配置的调起方式为x,那么用户点击了图2所示调起按钮后,终端直接采用方式x执行调起动作。
也就是说,现有技术中,每个品牌、手机型号、操作系统和浏览器的原生APP调起方式都是预先配置好的,用户触发调起后,直接按照配置的方式调起即可。然而,移动设备的品牌、手机型号、操作系统和浏览终端的种类千变万化,要配置的情况非常多,新增适配或修改需要花费大量工作和人力。
基于现有技术存在的上述技术问题,本发明提供一种应用程序调起方法,应用于终端设备,该终端设备可以为智能手机、平板电脑、笔记本电脑等具备相应处理能力且具备显示功能的设备。本发明提供的应用程序调起方法,在终端设备中配置环境探测模块,运行时模块、学习模块和调起模块,用户通过浏览器打开某一页面,并在该页面触发原生APP调起指令后,通过上述几个模块的交互,确定当前环境下的调起策略,并根据该调起策略执行调起动作,可见,本发明提供的调起方法,无需针对不同品牌、手机型号、操作系统和浏览器专门配置特定的调起方式,不管是什么品牌、手机型号、操作系统和浏览器的终端设备,只要配置上述几个模块就能实现原生APP的调起,和现有技术相比,本发明的调起方法终端覆盖率高,而且还节省了维护和新增适配方案的成本。
下面以具体地实施例对本发明的技术方案以及本发明的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
实施例一
图3为本发明提供的应用程序调起方法的实施例一的流程示意图。图4为本实施例中终端设备的结构示意图。如图4所示,本实施例中终端设备包括:环境探测模块,运行时模块、学习模块和调起模块。其中,环境探测模块和学习模块连接,运行时模块分别和学习模块和调起模块连接。参见图3所示,本发明提供的应用程序调起方法,包括:
S301、环境探测模块在检测到用户通过浏览器打开目标页面后,采集环境信息,并将环境信息发送给学习模块。
环境信息包括终端设备的操作系统类型、终端设备的操作系统版本、浏览器的类型和终端设备的品牌中的至少一种。
终端设备的操作系统类型包括但不限于Android和iOS,对于Android,操作系统版本包括但不限于纸杯蛋糕Cupcake、甜甜圈Donut、松饼
Figure BDA0002284596340000081
冻酸奶Froyo和姜饼Gingerbread等;对于iOS,操作系统版本包括但不限于iOS 7.0、iOS 8.0、iOS 9.0和iOS 10等。
浏览器的类型包括当前市面上已经被应用的浏览器以及未来将会出现的浏览器,终端设备的品牌包括当前市面上已经存在的终端设备的品牌以及未来将会出现的终端设备品牌,本发明对浏览器的类型和终端设备的品牌不做限定。
环境信息的数据结构例如可以是:
{
//操作系统类型
os:'ios',
//操作系统版本
ver:'9',
//浏览器类型
browser:‘weixin’,
//品牌
device:‘apple’
}
在一种可能的实现方式中,环境探测模块可以和设有调起原生APP按钮的页面相关联,当页面被请求访问时,环境探测模块被唤醒,接着环境探测开始采集上述环境信息并发送给学习模块。
S302、学习模块根据所述环境信息获取调起策略。
学习模块存储有若干调起策略,每个调起策略包括的内容有:操作系统类型、操作系统版本、浏览器类型、调起方法、调起方式、终端设备品牌以及自主学习策略相关参数。学习模块接收到环境探测模块发送的环境信息后,用环境信息中的操作系统类型、操作系统版本、浏览器的类型和终端设备的品牌和学习模块存储的所有调起策略中的操作系统类型、操作系统版本、浏览器的类型和终端设备的品牌进行匹配,将能够匹配上的调起策略作为该环境信息的备选调起策略。进而根据该备选调起策略的自主学习策略相关参数确定当前环境的最终调起策略。
环境信息的数据结构例如可以是:{os,ver,browser,device},学习模块存储的调起策略的数据结构例如可以是:[{os,ver,browser,device,method,style,tried}],学习模块将两者匹配后得到的备选调起策略的数据结构例如可以是:
{
os:'ios',
ver:'9',
browser:'weixin',
method:'ulink',
style:'location',
device:'apple',
tried:[{style:'location'}]
}
如何根据该备选调起策略的自主学习策略相关参数确定当前环境的最终调起策略在下面实施例中有详细描述。
其中,调起方法包括但不限于“intent”、“ulink”、“deeplink”和自定义的方法。调起方式包括但不限于“a”和“location”,“a”表示创建一个a标签,使用href属性挑战,‘location’表示通过浏览器的api对象window.location.href方式跳转。
S303、运行时模块接收到用户在所述目标页面触发的应用程序APP调起指令后,从所述学习模块获取所述调起策略,并将所述调起策略发送给所述调起模块。
可选的,参见图2所示,可以在页面上提供调起原生APP的按钮,用户可以通过点击该按钮来触发应用程序APP调起指令。运行时模块可以和上述调起应用程序APP的按钮相关联,用户点击该按钮后,运行时模块检测到该点击事件,便认为用户触发了调起指令。
S304、调起模块根据所述调起策略调起对应的应用程序APP。
可选的,运行时模块从学习模块获取到调起策略后,将该调起策略进行封装,生成触发调起模块调起行为的调起指令,并将该调起指令发送给调起模块,调起模块从该调起指令中提取调起策略,并执行该调起策略,从而触发调起对应APP的行为。
需要说明的是:本步骤中调起模块的调起行为有可能成功有可能失败,下面的实施例对调起成功场景和调起失败场景的调起过程分别进行了描述。
本实施例提供的应用程序调起方法,在终端设备中配置环境探测模块,运行时模块、学习模块和调起模块,所述环境探测模块在检测到用户通过浏览器打开目标页面后,采集环境信息,并将所述环境信息发送给所述学习模块,所述学习模块根据所述环境信息获取调起策略;所述运行时模块接收到用户在所述目标页面触发的应用程序APP调起指令后,从所述学习模块获取所述调起策略,并将所述调起策略发送给所述调起模块;所述调起模块根据所述调起策略调起对应的应用程序APP。和现有技术相比,无需针对不同品牌、手机型号、操作系统和浏览器专门配置特定的调起方式,不管是什么品牌、手机型号、操作系统和浏览器的终端设备,只要配置上述几个模块就能实现原生APP的调起,因此,本实施例的调起方法终端覆盖率高,同时还节省了维护和新增适配方案的成本。
实施例二
本实施例中应用程序调起方法分为两种场景:
第一种场景、调起模块调起APP成功。
第二种场景、调起模块调起APP失败。
在上述实施例的基础上,如图6所示,本实施例中的终端设备还包括:初始化模块和监听模块。
针对第一种场景,图5a为本发明提供的应用程序调起方法的实施例二的流程图一,包括:
S501A、初始化模块根据用户通过浏览器打开的目标页面的内容生成第一页面地址,并将第一页面地址发送给调起模块,第一页面地址为应用程序APP中与目标页面的内容相关的页面的地址。
一种可实现的方式中,初始化模块根据目标页面的内容和APP中所有页面进行匹配,比如将目标页面的文字和APP中所有页面的文字匹配,将匹配成功的页面作为APP中与目标页面的内容相关的页面,将匹配成功的页面的地址作为第一页面地址。
一种可实现的方式中,初始化模块可将第一页面地址发送给运行时模块,由运行时模块将第一页面地址转发给调起模块。
S502A、环境探测模块采集环境信息,并将环境信息发送给学习模块。
本步骤参见上述实施例中S301,本发明在此不再赘述。
S503A、学习模块根据所述环境信息获取调起策略。
如上述实施例所描述,学习模块接收到环境探测模块发送的环境信息后,用环境信息中的操作系统类型、操作系统版本、浏览器的类型和终端设备的品牌和学习模块存储的所有调起策略中的操作系统类型、操作系统版本、浏览器的类型和终端设备的品牌进行匹配,将能够匹配上的调起策略作为该环境信息的备选调起策略。进而根据该备选调起策略的自主学习策略相关参数确定当前环境的最终调起策略。该最终调起策略为本步骤S503A要获取的调起策略。
下面就如何根据备选调起策略的自主学习策略相关参数确定当前环境的最终调起策略的实现方式进行说明。
如上文描述,学习模块匹配得到的备选调起策略的数据结构例如可以为以下结构:
Figure BDA0002284596340000121
//当前调用方式,'a'表示创建一个a标签,使用href属性挑战;‘location’表示通过浏览器的api对象window.location.href方式跳转
Figure BDA0002284596340000122
自主学习策略相关参数tried的取值可分为三种情况:
第一种情况,tried取值为null,表示上述方法确定的备选调起策略还没有在任何环境下使用过;
第二种情况,tried取值为0或1,1表示在当前环境使用上述备选调起策略可以正常调起,0表示在当前环境使用上述备选调起策略不能正常调起。上述数据结构以tried取值为1示意。
第三种情况,如上述数据结构中的tried取值所示意,tried取值为数组,其中每一个元素是一个对象,每个对象对应在运行环境的失败案例。
下面针对上述三种情况下,对如何根据备选调起策略的自主学习策略相关参数确定当前环境的最终调起策略的方案进行说明。
针对第一种情况,获取当前环境的默认调起策略,将默认调起策略作为当前环境的最终调起策略。
针对第二种情况,若tried取值为0,则跳转到对应原生APP的下载页面或者相关H5页面;若tried取值为1,则将备选调起策略作为最终调起策略。
针对第三种情况,遍历tried数组,如果遍历结果为备选调用策略中的调起方法和调起方式一种失败的案例,通过运行时模块向监听模块发起请求,监听模块进一步向服务器发起请求,以查询当前环境下是否有尝试新调起策略,如果有,监听模块返回新调起策略。如果监听模块返回的数据为:
{
os:'ios',
ver:'9',
browser:'weixin',
method:'ulink',
style:'location',
device:'apple',
tried:[{style:'location'},{style:'location',method:'deeplink'}]
}
从以上数据中可以得到当前环境有新调起策略,该新调起策略的调起方法和调起方式如下:
{
method:'deeplink',
style:'location',
}
遍历tried数组,判断该调起方法和调起方式是否为失败案例,若是,则找出调起方法和调其方式的搭配中未被tried数组覆盖的搭配,并将该搭配作为当前环境最终调起策略中调起方法和调起方式的搭配。
如果监听模块返回的数据为:
{
os:'ios',
ver:'9',
browser:'weixin',
method:'ulink',
style:'a',
device:'apple',
tried:1
}
从tried=1可确定监听模块返回的新调起策略是一个可以正常调起的调起策略,将该新调起策略作为当前环境最终调起策略。
S504A、运行时模块接收到用户在所述目标页面触发的应用程序APP调起指令后,从所述学习模块获取所述调起策略,并将所述调起策略发送给所述调起模块。
本步骤参见上述实施例中S303,本发明在此不再赘述。
S505A、调起模块根据所述调起策略调起对应的应用程序APP。
S506A、若所述调起模块根据所述调起策略调起对应的应用程序APP成功,所述调起模块根据所述调起策略和所述第一页面地址控制所述终端设备从当前页面跳转至所述应用程序APP中与所述目标页面的内容相关的页面。
图7示出了用户点击图2所示调起按钮后跳转到的原生APP中的页面示意图。参见图2和图7可知,用户通过浏览器打开图2所示页面情况下,用户只能看到部分文档内容,触发调起原生APP后,可在图7所示原生APP的相应页面看到全文。
可选的,在调起模块调起APP成功的情况下,调起模块指示所述应用程序APP向服务器上报调起成功案例,所述调起成功案例包括所述终端设备的操作系统类型、所述终端设备的操作系统版本、所述浏览器的类型、所述终端设备的品牌、调起方法、调起方式和自主学习策略相关参数。
该成功案例的数据结构例如可以为如下结构:
{
os:'ios',
ver:'9',
browser:'weixin',
method:'ulink',
style:'a',
device:'apple',
tried:1
}
针对第二种场景,分为两种情况:
第一种情况、调起模块调起APP失败,跳转到APP下载页面。
第二种情况、调起模块调起APP失败,跳转到与所述目标页面的内容相关的万维网页面。
针对第二种场景的第一种情况,图5b为本发明提供的应用程序调起方法的实施例二的流程图二,本实施例提供的应用程序调起方法,包括:
S501B、初始化模块根据所述应用程序APP的标识生成第二页面地址,并将所述第二页面地址发送给所述调起模块,所述第二页面地址为所述应用程序APP的下载页面的地址。
一种可实现的方式中,初始化模块预先存储有各种APP的下载页面地址,当用户打开目标页面后,初始化模块从存储的页面地址中匹配目标页面关联的APP的下载页面地址,并将该地址作为第二页面地址。
一种可实现的方式中,初始化模块可将第二页面地址发送给运行时模块,由运行时模块将第二页面地址转发给调起模块。
S502B、环境探测模块采集环境信息,并将环境信息发送给学习模块。
本步骤参见上述实施例中S301,本发明在此不再赘述。
S503B、学习模块根据所述环境信息获取调起策略。
本步骤参见上述实施例中S503A,本发明在此不再赘述。
S504B、运行时模块接收到用户在所述目标页面触发的应用程序APP调起指令后,从所述学习模块获取所述调起策略,并将所述调起策略发送给所述调起模块。
S505B、所述调起模块根据所述调起策略调起对应的应用程序APP。
S506B、若所述调起模块根据所述调起策略调起对应的应用程序APP失败,所述调起模块根据所述第二页面地址控制所述终端设备从当前页面跳转至所述应用程序APP的下载页面。
图8示出了用户点击图2所示调起按钮后,调起模块调起APP失败的情况下终端设备跳转到的APP下载页面示意图。在调起APP失败的情况下,用户可以在图8所示页面下载对应的APP。
针对第二种场景的第二种情况,图5c为本发明提供的应用程序调起方法的实施例二的流程图三,本实施例提供的应用程序调起方法,包括:
S501C、初始化模块根据所述目标页面的内容生成第三页面地址,并将所述第三页面地址发送给所述调起模块,所述第三页面地址为与所述目标页面的内容相关的万维网页面的地址。
其中,与目标页面的内容相关的万维网页面可以是和目标页面内容相近的页面。比如:标题关键词匹配度比较高或者文档内容匹配度比较高。
一种可实现的方式中,初始化模块可将第三页面地址发送给运行时模块,由运行时模块将第三页面地址转发给调起模块。
S502C、环境探测模块采集环境信息,并将环境信息发送给学习模块。
本步骤参见上述实施例中S301,本发明在此不再赘述。
S503C、学习模块根据所述环境信息获取调起策略。
本步骤参见上述实施例中S503A,本发明在此不再赘述。
S504C、运行时模块接收到用户在所述目标页面触发的应用程序APP调起指令后,从所述学习模块获取所述调起策略,并将所述调起策略发送给所述调起模块。
S505C、所述调起模块根据所述调起策略调起对应的应用程序APP。
S506C、若所述调起模块根据所述调起策略调起对应的应用程序APP失败,所述调起模块根据所述第三页面地址控制所述终端设备从当前页面跳转至与所述目标页面的内容相关的万维网页面。
图9示出了用户点击图2所示调起按钮后,调起模块调起APP失败的情况下终端设备跳转到的万维网页面示意图。图9中标题11为与图2所示标题1匹配度较高的标题。
进一步的,若所述调起模块根据所述调起策略调起对应的应用程序APP失败,本实施例提供的应用程序调起方法还包括:
调起模块向所述运行时模块反馈失败信息;运行时模块根据所述失败信息生成失败案例,并将所述失败案例发送给所述监听模块,以使所述监听模块将所述失败案例发送给服务器,所述调起失败案例包括所述终端设备的操作系统类型、所述终端设备的操作系统版本、所述浏览器的类型、所述终端设备的品牌、调起方法、调起方式和自主学习策略相关参数。
失败案例的数据可以例如可以为:
{os,ver,browser,method,style,device,tried:{style:'location',method:'deeplink'}}
存储在服务器的默认案例例如为:
{os,ver,browser,method,style,device,tried:[{style:'location'}]}
存储器接收到失败案例后,对失败案例和默认案例进行处理,得到要存储的案例为:
{os,ver,browser,method,style,device,tried:[{style:'location'},{style:'location',method:'deeplink'}]}
进一步的,为了更新学习模块存储的已有调起策略,本实施例提供的应用程序调起方法还包括:
监听模块接收所述服务器推送的调起成功案例,并将所述调起成功案例发送给所述运行时模块;所述运行时模块将所述调起成功案例发送给所述学习模块;所述学习模块根据所述调起成功案例更新已有调起策略。学习模块存储的已有策略被更新后,学习模块从已有策略中获取当前环境的调起策略成功率增大。
本实施例提供的应用程序调起方法,描述了学习模块获取当前环境调起策略的实现方式,在获取到该调起策略后,运行时模块在检测到用户触发了调起指令情况下,运行时模块从学习模块获取该调起策略并发送给调起模块,以使调起模块执行调起动作,从而实现原生APP的调起,和现有技术相比,无需针对不同品牌、手机型号、操作系统和浏览器专门配置特定的调起方式,不管是什么品牌、手机型号、操作系统和浏览器的终端设备,只要配置上述几个模块就能实现原生APP的调起,本实施例提供的调起方法终端覆盖率高,而且还节省了维护和新增适配方案的成本。而且,在调起模块调起成功的情况下,终端设备跳转到APP中的相应页面,当调起模块调起失败的情况下,终端设备跳转到APP下载页面或者与目标页面内容相关的万维网页面,使得用户的触发动作始终可以得到响应,提高了用户体验。
图10本发明提供的终端设备的硬件结构示意图。如图10所示,本实施例的终端设备可以包括:
存储器1001,用于存储程序指令。
处理器1002,用于在所述程序指令被执行时实现上述任一实施例描述的应用程序调起方法,具体实现原理可参见上述实施例,本实施例此处不再赘述。
本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施例描述的应用程序调起方法。
本发明还提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得终端设备实施上述任一实施例描述的应用程序调起方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
应理解,本发明所描述的处理器可以是中央处理单元(英文:Central ProcessingUnit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital SignalProcessor,简称:DSP)、专用集成电路(英文:Application Specific IntegratedCircuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (9)

1.一种应用程序调起方法,其特征在于,应用于终端设备,所述终端设备包括:环境探测模块,运行时模块、学习模块和调起模块;所述应用程序调起方法包括:
所述环境探测模块在检测到用户通过浏览器打开目标页面后,采集环境信息,并将所述环境信息发送给所述学习模块,所述环境信息包括所述终端设备的操作系统类型、所述终端设备的操作系统版本、所述浏览器的类型和所述终端设备的品牌中的至少一种;
所述学习模块根据所述环境信息获取调起策略;
所述运行时模块接收到用户在所述目标页面触发的应用程序APP调起指令后,从所述学习模块获取所述调起策略,并将所述调起策略发送给所述调起模块;
所述调起模块根据所述调起策略调起对应的应用程序APP;
所述应用程序调起方法还包括:
所述调起模块指示所述应用程序APP向服务器上报调起成功案例,所述调起成功案例包括所述终端设备的操作系统类型、所述终端设备的操作系统版本、所述浏览器的类型、所述终端设备的品牌、调起方法、调起方式和自主学习策略相关参数;
所述学习模块根据所述环境信息获取调起策略,包括:所述学习模块接收到所述环境探测模块发送的所述环境信息后,根据所述环境信息中的操作系统类型、操作系统版本、浏览器的类型和终端设备的品牌和学习模块存储的所有调起策略中的操作系统类型、操作系统版本、浏览器的类型和终端设备的品牌进行匹配,将能够匹配上的调起策略作为该环境信息的备选调起策略;进而根据该备选调起策略的自主学习策略相关参数确定当前环境的最终调起策略;
其中,所述自主学习策略相关参数tried的取值可分为三种情况:
第一种情况,tried取值为null,表示上述方法确定的备选调起策略还没有在任何环境下使用过;
第二种情况,tried取值为0或1,1表示在当前环境使用上述备选调起策略可以正常调起,0表示在当前环境使用上述备选调起策略不能正常调起;
第三种情况, tried取值为数组,其中每一个元素是一个对象,每个对象对应在运行环境的失败案例。
2.根据权利要求1所述的方法,其特征在于,所述终端设备还包括:初始化模块;所述调起模块根据所述调起策略调起对应的应用程序APP之前,所述应用程序调起方法还包括:
所述初始化模块根据所述目标页面的内容生成第一页面地址,并将所述第一页面地址发送给所述调起模块,所述第一页面地址为所述应用程序APP中与所述目标页面的内容相关的页面的地址;
若所述调起模块根据所述调起策略调起对应的应用程序APP成功,所述调起模块根据所述调起策略和所述第一页面地址控制所述终端设备从当前页面跳转至所述应用程序APP中与所述目标页面的内容相关的页面。
3.根据权利要求2所述的方法,其特征在于,所述调起模块根据所述调起策略调起对应的应用程序APP之前,所述应用程序调起方法还包括:
所述初始化模块根据所述应用程序APP的标识生成第二页面地址,并将所述第二页面地址发送给所述调起模块,所述第二页面地址为所述应用程序APP的下载页面的地址;
若所述调起模块根据所述调起策略调起对应的应用程序APP失败,所述调起模块根据所述第二页面地址控制所述终端设备从当前页面跳转至所述应用程序APP的下载页面。
4.根据权利要求2所述的方法,其特征在于,所述调起模块根据所述调起策略调起对应的应用程序APP之前,所述应用程序调起方法还包括:
所述初始化模块根据所述目标页面的内容生成第三页面地址,并将所述第三页面地址发送给所述调起模块,所述第三页面地址为与所述目标页面的内容相关的万维网页面的地址;
若所述调起模块根据所述调起策略调起对应的应用程序APP失败,所述调起模块根据所述第三页面地址控制所述终端设备从当前页面跳转至与所述目标页面的内容相关的万维网页面。
5.根据权利要求3或4所述的方法,其特征在于,所述终端设备还包括:监听模块,所述应用程序调起方法还包括;
若所述调起模块根据所述调起策略调起对应的应用程序APP失败,所述调起模块向所述运行时模块反馈失败信息;
所述运行时模块根据所述失败信息生成调起失败案例,并将所述调起失败案例发送给所述监听模块,以使所述监听模块将所述调起失败案例发送给服务器,所述调起失败案例包括所述终端设备的操作系统类型、所述终端设备的操作系统版本、所述浏览器的类型、所述终端设备的品牌、调起方法、调起方式和自主学习策略相关参数。
6.根据权利要求5所述的方法,其特征在于,所述应用程序调起方法还包括:
所述监听模块接收所述服务器推送的调起成功案例,并将所述调起成功案例发送给所述运行时模块;
所述运行时模块将所述调起成功案例发送给所述学习模块;
所述学习模块根据所述调起成功案例更新已有调起策略。
7.一种应用程序调起装置,其特征在于,包括:环境探测模块,运行时模块、学习模块和调起模块;
所述环境探测模块用于在检测到用户通过浏览器打开目标页面后,采集环境信息,并将所述环境信息发送给所述学习模块,所述环境信息包括终端设备的操作系统类型、所述终端设备的操作系统版本、所述浏览器的类型和所述终端设备的品牌中的至少一种;
所述学习模块用于根据所述环境信息获取调起策略;
所述运行时模块用于接收到用户在所述目标页面触发的应用程序APP调起指令后,从所述学习模块获取所述调起策略,并将所述调起策略发送给所述调起模块;
所述调起模块用于根据所述调起策略调起对应的应用程序APP;
所述学习模块根据所述环境信息获取调起策略,包括:所述学习模块接收到所述环境探测模块发送的所述环境信息后,根据所述环境信息中的操作系统类型、操作系统版本、浏览器的类型和终端设备的品牌和学习模块存储的所有调起策略中的操作系统类型、操作系统版本、浏览器的类型和终端设备的品牌进行匹配,将能够匹配上的调起策略作为该环境信息的备选调起策略;进而根据该备选调起策略的自主学习策略相关参数确定当前环境的最终调起策略;
其中,所述自主学习策略相关参数tried的取值可分为三种情况:
第一种情况,tried取值为null,表示上述装置确定的备选调起策略还没有在任何环境下使用过;
第二种情况,tried取值为0或1,1表示在当前环境使用上述备选调起策略可以正常调起,0表示在当前环境使用上述备选调起策略不能正常调起;
第三种情况, tried取值为数组,其中每一个元素是一个对象,每个对象对应在运行环境的失败案例。
8.一种终端设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-6中任一项所述的方法。
9.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的方法。
CN201911155118.0A 2019-11-22 2019-11-22 应用程序调起方法和设备 Active CN110941484B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911155118.0A CN110941484B (zh) 2019-11-22 2019-11-22 应用程序调起方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911155118.0A CN110941484B (zh) 2019-11-22 2019-11-22 应用程序调起方法和设备

Publications (2)

Publication Number Publication Date
CN110941484A CN110941484A (zh) 2020-03-31
CN110941484B true CN110941484B (zh) 2022-12-09

Family

ID=69908004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911155118.0A Active CN110941484B (zh) 2019-11-22 2019-11-22 应用程序调起方法和设备

Country Status (1)

Country Link
CN (1) CN110941484B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114237755A (zh) * 2021-12-20 2022-03-25 百度在线网络技术(北京)有限公司 应用运行方法、装置、电子设备以及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657372B (zh) * 2013-11-20 2018-11-06 腾讯科技(深圳)有限公司 页面操作数据处理方法及装置
CN106899566B (zh) * 2016-08-12 2020-03-24 阿里巴巴集团控股有限公司 一种认证方法、设备以及认证客户端
CN108121568B (zh) * 2017-11-30 2021-11-09 五八有限公司 唤起app的方法及装置、电子设备和可读存储介质
CN108664303B (zh) * 2018-04-28 2023-06-30 北京小米移动软件有限公司 网页内容的显示方法及装置
CN108762817A (zh) * 2018-05-29 2018-11-06 北京五八信息技术有限公司 应用调起的配置方法、装置、设备及存储介质
CN109697164A (zh) * 2018-12-17 2019-04-30 北京城市网邻信息技术有限公司 浏览器中调起App的测试方法、装置、存储介质及终端
CN109840418B (zh) * 2019-02-19 2021-01-01 Oppo广东移动通信有限公司 应用程序的跳转控制方法、装置、存储介质及终端

Also Published As

Publication number Publication date
CN110941484A (zh) 2020-03-31

Similar Documents

Publication Publication Date Title
US9584612B2 (en) Systems and methods for pushing applications
US10282185B2 (en) Method and apparatus for firmware virtualization
CN103634386A (zh) 一种客户端应用程序下载应用的方法及装置
US20140082057A1 (en) Data transfer method and system
CN108319662A (zh) 页面处理方法、装置、电子设备及可读存储介质
CN106649446B (zh) 信息推送方法和装置
CN106648685B (zh) 智能终端系统应用的处理方法、装置及智能终端
CN107957837B (zh) 网页应用程序的快捷方式生成方法、装置和终端设备
CN108540509B (zh) 一种终端浏览器的处理方法、装置及服务器、智能终端
CN109522500B (zh) 网页显示方法、装置、终端和存储介质
US10404568B2 (en) Agent manager for distributed transaction monitoring system
CN106203092B (zh) 一种拦截恶意程序关机的方法、装置及电子设备
CN113434230A (zh) H5页面的跳转控制方法、装置、存储介质及电子装置
CN113805962B (zh) 应用页面的显示方法、装置以及电子设备
CN113412468A (zh) Sdk插件的加载方法、装置、移动终端以及存储介质
CN110941484B (zh) 应用程序调起方法和设备
CN111857758A (zh) 应用部署方法、装置及介质
CN110574006B (zh) 用于自动同步设备上响应与条件的系统和方法
CN108595195B (zh) 一种应用程序更新方法、装置、终端和储存介质
CN115080265A (zh) 一种应用接力方法、装置、系统、电子设备、计算机可读存储介质及计算机程序产品
CN112565238A (zh) 弹出隐私政策的方法、客户端及计算机可读存储介质
CN108121545B (zh) 应用程序的卸载反馈方法及装置
CN113849839A (zh) 图片展示方法、装置、服务器、电子设备及存储介质
CN115982493A (zh) 页面跳转方法及装置、存储介质及电子装置
CN114328409A (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
TA01 Transfer of patent application right

Effective date of registration: 20221024

Address after: No. 407, 4th Floor, Digital Content Industrial Park, Building 19, Group A3-3, Yuncheng Shangpin, Yuncheng Street, Baiyun District, Guiyang City, Guizhou Province, 550000

Applicant after: Mafengwo (Guizhou) Tourism Group Co.,Ltd.

Address before: 100015 building 10, No.9 Jiuxianqiao North Road, Chaoyang District, Beijing

Applicant before: BEIJING CHUANGXIN JOURNEY NETWORK TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant