CN116719455A - 应用服务推荐的方法、电子设备及存储介质 - Google Patents

应用服务推荐的方法、电子设备及存储介质 Download PDF

Info

Publication number
CN116719455A
CN116719455A CN202211191006.2A CN202211191006A CN116719455A CN 116719455 A CN116719455 A CN 116719455A CN 202211191006 A CN202211191006 A CN 202211191006A CN 116719455 A CN116719455 A CN 116719455A
Authority
CN
China
Prior art keywords
interface
target
application
target service
jump
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.)
Granted
Application number
CN202211191006.2A
Other languages
English (en)
Other versions
CN116719455B (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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202211191006.2A priority Critical patent/CN116719455B/zh
Publication of CN116719455A publication Critical patent/CN116719455A/zh
Application granted granted Critical
Publication of CN116719455B publication Critical patent/CN116719455B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/326Payment applications installed on the mobile devices
    • G06Q20/3267In-app payments

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请提供了一种应用服务推荐的方法、电子设备及存储介质,涉及终端技术领域。本申请中的方法,获取电子设备在预设时段内产生的界面跳转序列;根据预设时段内的界面跳转序列,确定电子设备所属用户在预设时段内的目标界面;根据预设时段内的目标界面、每次显示目标界面的时间和每次显示目标界面时电子设备的运行状态,训练获得应用服务推荐模型;若检测到满足预设的推荐触发条件,则确定待推荐的目标服务界面;在显示屏显示目标服务界面的图标,以供用户触发电子设备切换至目标服务界面。采用本申请中的方法,使得电子设备可以推荐符合用户使用需求的目标服务界面,减少用户对电子设备的操作步骤,缩短电子设备打开目标服务界面的时间。

Description

应用服务推荐的方法、电子设备及存储介质
技术领域
本申请涉及终端技术领域,尤其涉及一种应用服务推荐的方法、电子设备及存储介质。
背景技术
随着科技的不断发展,智能手机中安装有很多应用程序,如社交应用、支付应用、视频应用等。每个应用程序中包含的功能众多,每个功能具有不同的应用界面,当用户需要使用某一个功能时,用户可以通过触摸跳转控件的方式,触发手机的显示界面跳转至所需的应用界面。
然而,应用程序中的界面多,当用户需要手机显示某一特定界面时,手机需要经过多个无效的应用界面,导致用户对手机的操作多,手机界面跳转至特定界面的时间长。例如,使用某社交应用中的支付功能,该手机需要从该社交应用的首页跳转至“我的”界面,在从“我的”界面跳转至支付界面,在用支付界面跳转至二维码付款界面。
发明内容
为了解决上述技术问题,本申请提供一种应用服务推荐的方法、电子设备及存储介质,使得电子设备可以推荐符合用户使用需求的目标服务界面,减少用户对电子设备的操作步骤,缩短电子设备打开目标服务界面的时间。
第一方面,本申请提供一种应用服务推荐的方法,应用于电子设备,包括:获取电子设备在预设时段内产生的界面跳转序列,界面跳转序列的起始界面和终点界面均为桌面;根据预设时段内的界面跳转序列,确定电子设备所属用户在预设时段内的目标界面;根据预设时段内的目标界面、每次显示目标界面的时间和每次显示目标界面时电子设备的运行状态,训练获得应用服务推荐模型;若检测到满足预设的推荐触发条件,则根据应用服务推荐模型、电子设备当前的运行状态和时间,确定待推荐的目标服务界面;在电子设备的显示屏显示目标服务界面的图标,以供用户通过目标服务的图标触发电子设备切换至目标服务界面。
这样,电子设备(如手机、智能手表等)可以实时采集电子设备每一次产生的界面跳转序列,通过界面跳转序列可以确定出符合用户习惯的目标界面,进而使得基于该目标界面训练获得应用服务推荐模型可以准确预测符合用户习惯的目标服务界面;用户可以通过点击该目标服务界面的图标,使得电子设备快速启动目标服务界面,减少了用户的操作步骤,加快了启动目标服务界面的速度。同时,由于训练过程中目标界面是基于用户的习惯获取的目标界面,使得获取的目标界面符合每个不同用户的个人习惯,无需工程师或应用程序开发商预先设置,进一步提高了该应用推荐的准确性和灵活性。
根据第一方面,根据预设时段内的界面跳转序列,确定电子设备所属用户在预设时段内的目标界面,包括:对比每两个界面跳转序列,获取每两个界面跳转序列中最长的公共子序列作为第一子序列;获取每个第一子序列产生的频次;根据每个第一子序列的频次,确定目标界面。这样,界面跳转序列的长度越长表征需要用户操作的步骤越多,通过每两个界面跳转序列的比对,可以从大量的界面跳转序列中筛选出需要用户操作多的界面所在的子序列,提高后续需要用户多次操作的界面的准确性。
根据第一方面,根据每个第一子序列的频次,确定目标界面,包括:根据每个第一子序列的频次和预设的频次阈值,获取频次超过频次阈值的第一子序列作为目标子序列;获取目标子序列中最后一个跳转界面作为目标界面,其中,跳转界面不为桌面。这样,通过第一子序列出现的频次,可以快速筛选得到需要用户多次操作的目标界面,提高确定的目标界面的准确性。
根据第一方面,根据预设时段内的界面跳转序列,确定电子设备所属用户在预设时段内的目标界面,包括:针对每个界面跳转序列进行如下处理:检测界面跳转序列中是否存在第一预设界面,第一预设界面为具有快捷启动属性的界面;若检测到存在第一预设界面,则将第一预设界面作为目标界面;若检测到不存在第一预设界面,则缓存界面跳转序列或者丢弃界面跳转序列。这样,将具有快捷启动属性的界面作为目标界面,加快了确定目标界面的速度,减少电子设备的运算开销。
根据第一方面,在电子设备的显示屏显示目标服务界面的图标之前,该方法还包括:获取目标服务界面对应的快捷启动图标;将目标服务界面对应的快捷启动图标与目标服务界面所属应用的图标拼接,形成目标服务界面的图标。这样,采用目标服务界面的快捷启动图标和该目标服务界面所属应用的图标,可以提高该目标服务界面的图标的辨识度。
根据第一方面,在电子设备的显示屏显示目标服务界面的图标之前,该方法还包括:获取目标服务界面的界面名称,界面名称用于指示界面的功能;根据界面名称以及目标服务界面所属应用的图标,生成目标服务界面的图标。这样,由于界面名称用于指示界面的功能,将界面名称和目标服务界面所属应用的图标进行拼接,可以提高该目标服务界面的辨识度,便于用户快速判断是否启动该目标服务界面。
根据第一方面,获取目标服务界面的界面名称,包括:检测目标服务界面是否存在页面标签;若检测到目标服务界面存在页面标签,且检测到页面标签与目标服务界面所属应用的名称不同,则获取页面标签作为界面名称;若检测到目标服务界面不存在页面标签或检测到页面标签与目标服务界面所属应用的名称相同,则根据目标服务界面显示的信息确定界面名称。这样,页面标签可以准确反映出该界面的功能,将页面标签作为界面名称,便于用户快速从目标服务界面的图标获知该目标服务界面的功能;当目标服务界面不存在页面标签或检测到页面标签与目标服务界面所属应用的名称相同,重新生成界面名称,避免界面名称与该目标界面所属应用的名称产生冲突的问题。
根据第一方面,根据目标服务界面显示的信息确定界面名称,包括:获取目标服务界面的页面文本信息;从页面文本信息中获取关键字作为界面名称。这样,电子设备可以确保生成的界面名称符合界面的功能。
根据第一方面,获取目标服务界面的页面文本信息,包括:根据目标服务界面的页面结构,提取目标服务界面的页面文本信息;或者,对目标服务界面进行截屏操作,获取截屏图像;对截屏图像进行文字识别,获得目标服务界面的文本信息。这样,电子设备可以快速且准确地获取页面文本信息。
根据第一方面,根据界面名称以及目标服务界面所属应用的图标,生成目标服务界面的图标,包括:将目标服务界面所属应用的图标与界面名称进行拼接,生成目标服务界面的图标。这样,将界面名称和目标服务界面所属应用的图标进行拼接,使得目标服务界面的图标更利于用户辨识,增加了目标服务界面的图标的辨识度。
根据第一方面,根据预设时段内的目标界面、每次显示目标界面的时间和每次显示目标界面时电子设备的运行状态,训练获得应用服务推荐模型,包括:获取目标界面所在的最长第一子序列作为目标界面对应的第二子序列;获取第二子序列的长度;将预设时段内的目标界面、每次显示目标界面的时间和每次显示目标界面时电子设备的运行状态作为训练样本;将目标界面对应的第二子序列的长度作为训练的奖励因子;根据训练样本以及奖励因子,训练获得应用服务推荐模型。这样,由于增加了目标界面对应的第二子序列的长度作为训练的奖励因子,使得训练的应用服务推荐模型预测的目标服务界面所在界面跳转序列更长,也就是说,预测出的目标服务界面在传统方式中需要用户经过多次操作后显示,使得预测的目标服务界面更符合节省用户操作步骤的需求。
根据第一方面,在根据预设时段内的界面跳转序列,确定电子设备所属用户在预设时段内的目标界面之前,该方法还包括:存储用户在每个跳转界面输入的交互操作,跳转界面为除桌面之外的界面;在电子设备的显示屏显示目标服务界面的图标之后,该方法还包括:响应于用户的启动操作,在显示屏显示目标服务界面;获取目标服务界面对应的交互操作;在目标服务界面模拟与目标服务界面对应的交互操作;响应于目标服务界面对应的交互操作,执行与交互操作匹配的步骤。这样,通过在目标服务界面模拟交互操作,可以进一步节省用户的固定操作,提高用户的使用体验。
根据第一方面,根据预设时段内的界面跳转序列,确定电子设备所属用户在预设时段内的目标界面,包括:对比每两个界面跳转序列以及每个跳转界面对应的交互操作,获取每两个界面跳转序列中跳转界面相同且对应的交互操作相同的最长的公共子序列;获取最长的公共子序列作为第三子序列;获取每个第三子序列产生的频次;根据每个第三子序列的频次,确定目标界面。这样,最长的公共子序列需要同时满足每个跳转界面相同以及对应的交互操作相同的要求,避免后续模型训练的不准确导致模拟交互操作错误的问题。
根据第一方面,根据预设时段内的界面跳转序列,确定电子设备所属用户在预设时段内的目标界面,包括:对比每两个界面跳转序列以及每个跳转界面对应的交互操作,获取每两个界面跳转序列中跳转界面相同且最后一个相同的跳转界面对应的交互操作相同的最长的公共子序列;获取最长的公共子序列作为第三子序列;获取每个第三子序列产生的频次;根据每个第三子序列的频次,确定目标界面。这样,在获取最长的公共子序列过程中比对相同的跳转界面以及最后一个相同的跳转界面对应的交互操作,降低获取公共子序列的难度,增加后续训练的样本数量。
根据第一方面,根据预设时段内的目标界面、每次显示目标界面的时间和每次显示目标界面时电子设备的运行状态,训练获得应用服务推荐模型,包括:将预设时段内的目标界面、目标界面所属每个子序列各自的长度、每次显示目标界面的时间、对应的操作以及每次显示目标界面时电子设备的运行状态作为训练样本,训练获得应用服务推荐模型。这样,使得应用服务推荐模型可以在不同的时间推荐相同的目标服务界面,以符合用户的使用需求。
根据第一方面,根据预设时段内的目标界面、每次显示目标界面的时间和每次显示目标界面时所述电子设备的运行状态,训练获得应用服务推荐模型,包括:将预设时段内的目标界面、每次显示目标界面的时间和每次显示所述目标界面时电子设备的运行状态作为训练样本,训练获得应用服务推荐模型。
根据第一方面,预设的推荐触发条件包括:检测到显示屏显示第二预设界面,第二预设界面包括桌面、菜单界面、多任务界面、负一屏界面。这样,电子设备可以确保推荐的目标服务界面的图标可以被用户看见,提高目标服务界面的图标被用户看见的概率。
根据第一方面,该方法包括:响应于用户输入的第一操作,对目标服务界面的图标进行编辑操作,编辑操作包括以下的一种或多种:更改目标服务界面的图标中显示的名称、更改目标服务界面的图标的背景颜色、更改目标服务界面的图标中文字的字体。这样,电子设备允许用户对目标服务界面的图标进行编辑,增加了电子设备与用户直接的互动性。
根据第一方面,目标服务界面至少为2个。
第二方面,本申请提供了一种电子设备,包括:一个或多个处理器;存储器;以及一个或多个计算机程序,其中一个或多个计算机程序存储在存储器上,当计算机程序被一个或多个处理器执行时,使得电子设备执行第一方面以及第一方面的任意一种实现方式相对应的应用服务推荐的方法。
第二方面以及第二方面的任意一种实现方式分别与第一方面以及第一方面的任意一种实现方式相对应。第二方面以及第二方面的任意一种实现方式所对应的技术效果可参见上述第一方面以及第一方面的任意一种实现方式所对应的技术效果,此处不再赘述。
第三方面,本申请提供了一种计算机可读介质,用于存储计算机程序,当所述计算机程序在电子设备上运行时,使得所述电子设备执行上述第一方面以及第一方面的任意一种实现方式所对应的应用服务推荐的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是示例性示出的一种手机显示目标服务界面的场景示意图;
图2是示例性示出的又一种手机显示目标服务界面的场景示意图;
图3是示例性示出的电子设备的结构示意图;
图4是示例性示出的电子设备的软件结构示意图;
图5是示例性示出的应用服务推荐的方法的流程图;
图6是示例性示出的手机存储界面跳转序列的内部交互图;
图7是示例性示出的一种应用服务推荐的场景示意图;
图8是示例性示出的一种应用服务推荐的场景示意图;
图9是示例性示出的手机存储交互操作的内部交互图;
图10是示例性示出的电子设备在目标服务界面模拟交互操作的示意图;
图11为示例性示出的手机模拟交互操作的场景示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在一些实施例中,移动终端中的应用程序越来越多,每个应用程序中包含多个不同的功能以及对应的界面。当用户需要使用某一应用中的某个功能时,可能需要触发手机跳转多个界面才能达到所需的界面,导致用户的操作复杂,手机显示目标界面的时间长。
举列来说,图1为示例性示出的手机显示目标服务界面的场景示意图。用户A欲使用手机中支付应用(本示例支付应用以微信为例)的付款码界面。如图1所示,手机的桌面101显示有多个应用程序(后文中也称为应用)的图标,用户A点击支付应用A的图标102,手机响应于用户A的点击操作,启动该支付应用A的主界面103,如1b所示。用户A点击控件104,从主界面103切换至“我的”界面105,如1c所示;该界面105中显示有该用户A的头像、名称以及选项106。可选地,该界面105中还可以包含其他功能选项,本示例中未示出其他功能选项。如1c所示,用户点击服务选项106,手机响应于用户点击服务选项106的操作,跳转至服务界面107。如1d所示,该服务界面107中包括控件108、控件109,控件108用于触发手机跳转至收付款界面,控件109用于触发手机跳转至钱包界面。手机响应于用户A点击控件108的操作,跳转至收付款界面110,如1e界面。该用户可以使用该收付款界面110中的二维码进行支付。图1中,手机响应于用户A的多次点击操作,依次显示支付应用A的主界面103、界面105、界面107,最后显示收付款界面110,手机经过了4个无效界面,用户的操作多,导致手机显示用户的目标界面的时间长。
目前应用程序供应商为了提高使用常用功能的便利,某一些应用程序中包括特定界面的快捷启动方式。图2示例性示出了手机通过快捷方式启动目标界面的场景示意图。如图2的2a所示。用户B欲使用支付应用B的付款码界面,该支付应用B的付款码界面、收钱界面以及扫一扫界面均具有快捷启动方式。如2a所示,手机的桌面201显示有各应用程序的图标,用户B可以长按该支付应用B的图标202,手机响应于用户B的长按操作,显示快捷操作界面,该快捷操作界面包括三种界面的快捷选项。用户B点击付款选项,响应于用户B点击付款选项的操作,手机B从桌面201跳转至付款码界面203,如2b所示。
这种方式虽然可以减少用户的操作步骤,但是仍然需要用户进行两次点击操作。并且,应用程序需要对应的操作,才可以触发显示对应的快捷操作界面,快捷操作界面的显示不直观,导致许多用户并不清楚应用程序具有快捷功能,用户依然采用如图1中所示方式进行多个操作,以使手机显示目标界面。此外,具有快捷功能的应用通常是许多用户常用的界面,也就是说具有快捷功能的应用并不一定是用户常用的应用界面,导致手机开启用户常用的应用界面依然需要经过多个无效界面,影响应用快速启动常用界面的速度。
本申请实施例提供一种应用服务推荐的方法,当电子设备切换至特定界面(如桌面)时,显示目标服务界面的图标,以使电子设备响应于用户点击目标服务界面的图标的操作,从当前界面切换至该目标服务界面,缩短电子设备显示目标服务界面的时间,同时,电子设备推荐的目标服务界面满足用户的使用需求,避免了用户常用界面不存在快捷方式而导致无法快速启动该常用界面的问题,提高用户的使用体验。本申请中的电子设备可以是手机、智能手表、平板电脑等。
图3为本申请实施例示出的一种电子设备100的结构示意图。应该理解的是,图3示电子设备100仅是电子设备的一个范例,并且电子设备100可以具有比图中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图3中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备100可以包括:处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器,陀螺仪传感器,气压传感器,磁传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器,温度传感器,触摸传感器,环境光传感器,骨传导传感器等。
图4是本申请实施例的电子设备100的软件结构框图。
电子设备100的分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为三层,从上至下分别为应用程序层,应用程序框架层以及内核层。可以理解的是,图4的软件结构中的层以及各层中包含的部件,并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本申请不做限定。
如图4所示,应用程序层可以包括一系列应用程序包。应用程序包可以包括推荐应用,桌面,负一屏,搜索,地图,图库,导航,蓝牙,游戏等应用程序。该推荐应用可以检测到电子设备满足预设的触发条件时,获取当前的目标服务界面,并在显示屏显示该目标服务界面的图标。例如,手机检测到当前处于桌面、负一屏或搜索界面时,该推荐应用可以获取目标服务界面,并在桌面的指定区域、负一屏的指定区域或搜索界面的指定区域显示该目标服务界面的图标。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图4所示,应用程序框架层可以包括活动管理服务(ActivityManagerService,“AMS”)、应用使用统计服务(UsageStatsService)和模拟点击模块。该界面管理服务。
活动管理服务主要负责系统中四大组件的启动、切换、调度及应用进程的管理和调度等工作。系统的四大组件分别为活动(activity)、服务(Service)、广播接收器(BroadcastReceiver)以及内容提供商(Content Provider)。
应用使用统计服务主要通过AMS来监测并记录各个应用程序的使用数据,记录页面(或界面)的跳转数据、在界面上产生的触摸事件、点击操作等。
模拟点击模块可以模拟对界面的交互操作,如点击、滑动等操作。模拟点击模块可以是安卓中的测试框架,如Instrumentation。
该应用程序框架层还可以包括窗口管理器,资源管理器,内容提供器,视图系统,电话管理器,通知管理器(图4中未示出)等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
可以理解的是,图4示出的软件结构中的层以及各层中包含的部件,并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的层,以及每个层中可以包括更多或更少的部件,本申请不做限定。
图5为示例性示出的一种应用服务推荐的方法的流程图。该应用服务推荐的方法应用于电子设备,本示例中电子设备以手机为例进行说明,手机的应用服务推荐应用包括:图标生成模块、数据处理模块、事件响应模块和模型训练模块。事件响应模块可以在检测到手机处于桌面时,触发手机的应用统计使用服务记录手机显示的界面的信息。由数据处理模块对采集的界面跳转序列进行处理,获得预设时段内的目标界面。由模型训练模块从数据处理模块获取训练样本,进行模型训练。事件响应模块还可以在检测到电子设备满足预设触发条件时,将设备的运行状态和当前时间输入训练后的应用服务推荐模型,获得目标服务界面。由图标生成模块生成目标服务界面的图标。
该应用服务推荐的方法包括如下步骤:
步骤501:电子设备获取该电子设备在预设时段内产生的界面跳转序列。
示例性地,预设时段还可以是由工程师预先设定。例如,工程师可以预先设定每天的零点至每天的24点之间的时段为预设时段。该预设时段还可以由用户指定,例如,用户输入预设时段的起始时刻为2022年9月17日的9:00,预设时段的结束时刻为2022年10月17日的9:00。可选地,该预设时段还可以是手机根据用户使用手机的习惯确定。例如,手机可以获取用户在一个月内手机的开机时刻和关机时刻,根据获取的开机时刻和关机时刻训练获得预设起始时刻和预设统计结束时刻,如训练后确定预设起始时刻为每天6:00,预设统计结束时刻时刻每天的23:30。
可选地,预设时段的时长可以是m*n小时,m为小于或等于24,且大于1的整数,n可以为大于1的整数,如m=24,n为7,即该预设时段的时长为24*7小时,也就是说,m为手机每次采集界面跳转序列的时长(如每天的零点至每天的23点之间的时长),n为每次训练应用服务推荐模型的采集周期。
示例性地,手机可以记录(即存储)手机显示过的每个界面,如手机可以通过应用使用统计服务(即UsageStateService)记录手机启动的每一个界面。界面跳转序列包括起始界面、跳转界面和终点界面,其中,起始界面和终点界面均为桌面,跳转界面为除桌面之外的界面。也就是说,当手机检测到启动了桌面,以该桌面作为起始界面,依次统计从桌面开始,手机显示的每个界面。当检测到手机返回桌面时,结束本次记录,形成一条从桌面为起点,并以桌面为终点的界面跳转序列。
举例来说,预设时段的时长以24小时为例,其中,该预设时段的起始时刻可以是每一日的0点,统计结束时刻为每日的24点。当手机检测到唤醒指令(如解锁操作),手机进入桌面。手机检测到手机进入桌面,开始记录该桌面作为一条界面跳转序列的起始界面。手机在t1时刻检测到跳转指令1(如检测到用户点击了应用A的图标),手机响应于该跳转指令1从桌面切换至应用A的主界面,并记录手机从桌面切换至应用A的主界面的序列,如:桌面——应用A的主界面。手机在t2时刻检测到跳转指令2(如检测到用户点击了用于触发界面切换的控件),手机响应于跳转指令2,从应用A的主界面切换至应用A的界面2,并记录手机从应用A的主界面切换至应用A的界面2的序列,如:桌面——应用A的主界面——应用A的界面2。手机在t3时刻检测到返回桌面的指令,手机响应于返回桌面的指令,从应用A的界面2切换至桌面,并记录手机从桌面切换至应用A的主界面的序列,如:桌面——应用A的主界面——应用A的界面2——桌面。当手机检测到手机返回了桌面,则确定本次界面跳转序列完成,该界面跳转序列为:桌面——应用A的主界面——应用A的界面2——桌面。
步骤502:电子设备根据预设时段内的界面跳转序列,确定电子设备所属用户在预设时段内的目标界面。
示例性地,界面跳转序列记录手机从启动桌面并返回桌面过程中经过的跳转界面,手机获取预设时段内的界面跳转序列,可以确定出该用户在预设时段内所需的目标界面。下面具体说明两种确定电子设备所属用户在预设时段内的目标界面的过程。
在一些实施例中,手机可以获取预设时段内的界面跳转序列,对获取的界面跳转序列进行如下处理:对比每两个界面跳转序列,获取每两个界面跳转序列中最长的公共子序列作为第一子序列;获取每个第一子序列产生的频次;根据每个第一子序列的频次,确定目标界面。
具体地,手机分别比对每两个界面跳转序列,获取最长的公共子序列,并将最长的公共子序列作为第一序列。第一子序列可以反映手机显示目标界面过程中经过的跳转次数,跳转次数多表征需要用户操作的步骤多。手机通过每两个界面跳转序列的比对,可以从大量的界面跳转序列中筛选出需要用户多操作的界面所在的子序列。可选地,第一子序列可以包括桌面。可选地,第一子序列也可以不包括桌面。
在一个示例中,手机可以统计每个第一子序列出现的次数。手机可以根据每个第一子序列的频次(即次数)和预设的频次阈值,获取频次超过频次阈值的第一子序列作为目标子序列;获取目标子序列中最后一个跳转界面作为目标界面。可选地,频次阈值可以由工程师预先设定,如频次阈值5、8、10等。手机检测每个第一子序列的频次是否超过频次阈值,将超过频次阈值的第一子序列作为目标子序列。本示例中,第一子序列的频次低,表明手机产生该序列的次数少,即用户使用该序列的次数少,通过频次阈值可以从第一子序列中筛选出频次高的第一子序列作为目标子序列,筛除用户使用次数少的第一子序列,避免频次低的第一子序列对后续模型训练的干扰,使得确定的目标子序列符合用户使用的习惯。
举例来说,手机中的数据处理模块从UsageStateService中获取预设时段(如一天的早上6点至晚上24:00的时段)内记录的所有界面跳转序列。本示例中,以4条界面跳转序列为例具体说明确定目标界面的过程。4条界面跳转序列如下所示:
界面跳转序列1为:桌面——应用A的界面1——应用A的界面2——应用A的界面3——应用A的界面4——桌面;
界面跳转序列2为:桌面——应用B的界面1——应用B的界面2——应用A的界面2——应用A的界面3——应用A的界面4——桌面;
界面跳转序列3为:桌面——应用A的界面1——应用A的界面2——应用B的界面1——应用B的界面2——应用A的界面3——应用A的界面4——桌面。
界面跳转序列4为:桌面——应用B的界面1——桌面。
手机的数据处理模块将界面跳转序列1与界面跳转序列2进行比较,获得最长的公共子序列。其中,本示例中公共子序列以不包括桌面为例。该界面跳转序列1与界面跳转序列2之间最长的公共子序列为:应用A的界面2——应用A的界面3——应用A的界面4。手机可以将该最长的公共子序列作为一条第一子序列,记为第一子序列1。
手机的数据处理模块将界面跳转序列1与界面跳转序列3进行比较,获得最长的公共子序列为:应用A的界面1——应用A的界面2——应用A的界面3——应用A的界面4,记为第一子序列2。
手机的数据处理模块将界面跳转序列1与界面跳转序列4进行比较,比较结果指示该界面跳转序列1与界面跳转序列4之间没有公共子序列。
手机的数据处理模块将界面跳转序列2与界面跳转序列3进行比较,获得最长的公共子序列为:应用B的界面1——应用B的界面2,可以记为第一子序列3。
手机的数据处理模块将界面跳转序列2与界面跳转序列4进行比较,获得最长的公共子序列为:应用B的界面1,记为第一子序列4。
手机的数据处理模块将界面跳转序列3与界面跳转序列4进行比较,获得最长的公共子序列为:应用B的界面1,该界面跳转序列3与界面跳转序列4之间最长的公共子序列与第一子序列4相同。
数据处理模块还记录每个第一子序列出现的频次,例如:
第一子序列1为:应用A的界面2——应用A的界面3——应用A的界面4,数据处理模块获取该第一子序列1在预设时段内出现的次数为3次,即对应的频次为3次。
第一子序列2为:应用A的界面1——应用A的界面2——应用A的界面3——应用A的界面4;数据处理模块获取该第一子序列1在预设时段内出现的次数为2次,对应的频次为2。
第一子序列3为:应用B的界面1——应用B的界面2,对应的频次为2。
第一子序列4为:应用B的界面1,对应频次为3。
数据处理模块获取预设的频次阈值(如为1),检测到第一子序列1的频次超过频次阈值,则将该第一子序列1、第一子序列2、第一子序列3、第一子序列4作为目标子序列。数据处理模块分别获取每一个目标子序列中最后一个跳转界面作为目标界面。也就是说,将第一子序列1中的应用A的界面4、第一子序列2中的应用A的界面4、第一子序列3的应用B的界面2以及第一子序列4中应用B的界面1作为目标界面,即目标界面包括应用A的界面4、应用B的界面2和应用B的界面1。
在一些实施例中,手机中还可以按照频次从高到低的顺序,对第一子序列进行排序。若手机检测到频次超过1的第一子序列的个数大于1,则按照频次从高到低的顺序依次获取预设个数的第一子序列作为目标子序列。例如,第一子序列1的频次为3,第一子序列2的频次为2,第一子序列3的频次为2,第一子序列4的频次为3。手机检测到频次超出1的第一子序列的个数(即3)大于1,手机按照频次从高到低的顺序对第一子序列进行排序,排序后为:第一子序列1,第一子序列4,第一子序列2和第一子序列3。手机可以按照频次从高到低的顺序依次获取预设个数的第一子序列作为目标子序列,该预设个数为2,则手机获取第一子序列1以及第一子序列4作为目标子序列。手机获取目标子序列中最后一个跳转界面作为目标界面。
本示例中,从频次高的第一序列中确定目标界面,使得可以准确确定出用户的常用界面。
步骤503:电子设备根据预设时段内的目标界面、每次显示目标界面的时间和每次显示目标界面时电子设备的运行状态,训练获得应用服务推荐模型。
在一些实施例中,手机的模型训练模块根据预设时段内的目标界面、每次显示目标界面的时间和每次显示目标界面时手机运行状态作为训练样本,进行训练获得应用服务推荐模型,训练可以采用机器学习算法、深度学习算法等,模型训练的过程本示例中不再进行赘述。可选地,该手机的运行状态可以包括:手机所处位置的位置信息、网络信息、蓝牙连接信息等,网络信息可以包括:连接的网络类型,如Wi-Fi网络、4G网络等。可选地,训练样本还可以包括每次显示目标界面时手机所处位置的环境信息,如天气信息、节假日信息。
在一些实施例中,训练样本包括每个目标子序列中的目标界面,显示目标界面的时间以及该目标子序列的长度。
举例来说,目标子序列包括该第一子序列1、第一子序列2、第一子序列3、第一子序列4,目标界面包括应用A的界面4、应用B的界面2和应用B的界面1。目标子序列如下:
第一子序列1为:应用A的界面2——应用A的界面3——应用A的界面4,获取该第一子序列1在预设时段内出现的次数为3次,即对应的频次为3次。
第一子序列2为:应用A的界面1——应用A的界面2——应用A的界面3——应用A的界面4;获取该第一子序列1在预设时段内出现的次数为2次,即对应的频次为2。
第一子序列3为:应用B的界面1——应用B的界面2,对应的频次为2。
第一子序列4为:应用B的界面1,对应频次为3。
手机获取第一子序列1的长度为3,第一子序列2的长度为4,第一子序列3的长度为2,第一子序列4的长度为1。
训练样本1包括:应用A的界面4,第一子序列1中该应用A的界面4的显示时间、该第一子序列1的长度,以及第一子序列1中该应用A的界面4显示时手机的运行状态。
训练样本2包括:应用A的界面4,第一子序列2中该应用A的界面4的显示时间、该第一子序列2的长度,以及第一子序列2中该应用A的界面4显示时手机的运行状态,
训练样本3包括:应用B的界面2,第一子序列3中该应用B的界面2的显示时间、该第一子序列3的长度,以及第一子序列3中该应用B的界面2显示时手机的运行状态。
训练样本4包括:应用B的界面1,第一子序列4中该应用B的界面1的显示时间、该第一子序列4的长度,以及第一子序列4中该应用B的界面1显示时手机的运行状态。
手机中的模型训练模块基于每个训练样本进行模型训练,由于每个训练样本中增加了目标子序列的长度,使得在不同的时间,应用服务推荐模型可以尽可能推荐各时间对应的长度更长的子序列中的目标界面,例如,上述四个目标子序列中,第一子序列1对应的时间为10:00,第一子序列2对应的时间为11:00,第一子序列3对应的时间为13:00,第一子序列,4对应的时间为16:00。假设在10点时第一子序列1的长度最长,在下午4点时第一子序列4的长度最长。该应用服务推荐模型在上午10点推荐应用A的界面4,在下午4点推荐应用A的界面4。
在一些实施例中,训练样本还可以包括每个目标界面所处最长的目标子序列的长度。
举例来说,目标子序列包括该第一子序列1、第一子序列2、第一子序列3、第一子序列4,目标界面包括应用A的界面4、应用B的界面2和应用B的界面1。目标子序列如下:
第一子序列1为:应用A的界面2——应用A的界面3——应用A的界面4,获取该第一子序列1在预设时段内出现的次数为3次,即对应的频次为3次。
第一子序列2为:应用A的界面1——应用A的界面2——应用A的界面3——应用A的界面4;获取该第一子序列1在预设时段内出现的次数为2次,即对应的频次为2。
第一子序列3为:应用B的界面1——应用B的界面2,对应的频次为2。
第一子序列4为:应用B的界面1,对应频次为3。
手机获取第一子序列1的长度为3,第一子序列2的长度为4,第一子序列3的长度为2,第一子序列4的长度为1。手机检测到应用A的界面4所在子序列有两个,则获取该应用A的界面4所在最长的目标子序列的长度(记为L1)。手机获取应用B的界面2所在子序列的长度(记为L2)以及获取应用B的界面1所在子序列的长度(记为L3)。将获取的长度作为模型训练中的奖励因子。
本示例中,由于在模型训练过程中将目标界面所在最长子序列的长度作为奖励因子,使得训练后的模型更倾向于预测处于长度值大的序列中的目标界面,也就是说,应用推荐模型所预测的界面所处的子序列的长度越大,概率值越大。手机可以选取概率大于概率阈值的界面作为预测的目标服务界面,避免预测的目标服务界面所需的操作少而打造推荐的目标服务界面的启动并未减少用户操作的问题。
步骤504:电子设备若检测到满足预设的推荐触发条件,则根据应用服务推荐模型、电子设备当前的运行状态和时间,确定待推荐的目标服务界面。
示例性地,预设的推荐触发条件可以是手机检测到显示屏显示第二预设界面,第二预设界面包括桌面、菜单界面、多任务界面、负一屏界面。例如,手机检测到显示屏显示桌面,则获取手机当前的运行状态和时间,将手机当前的运行状态和时间输入该应用服务推荐模型,获得每个目标界面的预测概率。
可选地,手机若检测到满足预设的推荐触发条件,手机还可以获取电子设备当前所处环境信息,将手机当前的运行状态、时间以及手机当前所处环境信息(如天气信息,是否属于节假日的信息)输入该应用服务推荐模型,获得每个目标界面的预测概率。
可选地,手机可以选取依次选取最高概率的K个目标界面作为预测的目标服务界面。例如,目标界面A的概率为40%、目标界面B的概率为35%、目标界面C的概率为5%、目标界面D的概率为20%,K的值为2,则手机可以确定待推荐的目标服务界面为目标界面A和目标界面B。
可选地,手机还可以选取概率超过概率阈值的目标界面作为待推荐的目标服务界面。
步骤505:在电子设备的显示屏显示目标服务界面的图标,以供用户通过目标服务的图标触发电子设备切换至目标服务界面。
示例性地,在手机确定了目标服务界面后,可以生成目标服务界面的图标。可选地,手机可以获取目标服务界面的界面名称,界面名称用于指示界面的功能;根据界面名称以及目标服务界面所属应用的图标,生成目标服务界面的图标。
具体地,当手机根据目标子序列确定目标界面时,可以获取该目标界面所属应用的应用名称、所属应用的安装包包名、目标界面的页面标签(即页面中的Label)。该页面标签通常为该页面的名称。
在一些实施例中,手机还可以获取目标界面的页面文本信息并存储目标界面的页面文本信息。具体地,手机可以读取该目标界面的页面结构,提取该目标界面的页面文本信息。可选地,手机还可以对目标界面进行截屏操作,获取截屏图像,对截屏图像进行文字识别获得目标界面的文本信息。
当手机确定待推荐的目标服务界面时,手机获取该目标服务界面的页面标签、所属应用的安装包包名、所属应用的应用名称。手机检测目标服务界面的页面标签是否与所属应用的应用名称相同,若检测到不同,则可以将该页面标签的内容作为界面名称。手机可以通过目标服务界面所属应用的安装包中获取所属应用的图标。手机可以拼接该界面名称和该目标服务界面所属应用的图标。例如,如图7的7a的703、704和705所示,将该目标服务界面所属应用的图标拼接在该界面名称的右下方,形成该目标服务界面的图标。
若手机未检测到目标服务界面的页面标签或者检测到该目标服务界面的页面标签与所属应用的应用名称相同,则获取目标服务界面的页面文本信息;从页面文本信息中获取关键字作为界面名称。从页面文本信息中获取关键词作为该目标服务界面的界面名称。例如,手机获取页面的文本信息包括:付款码、交通服务等信息,手机可以选取付款码作为界面名称。
可选地,为了减少不必要的功耗,手机可以对目标界面进行截屏操作后,存储截屏图像。当手机确定该目标界面为目标服务界面时,检测手机未检测到目标服务界面的页面标签或者检测到该目标服务界面的页面标签与所属应用的应用名称相同,再对截屏图像进行OCR识别。
当手机生成了该目标服务界面的图标后,可以在手机的预设推荐区域显示该目标服务界面的图标。若用户需要快速启动该目标服务界面,点击该目标服务界面的图标,手机响应于用户点击该目标服务界面的图标,显示该目标服务界面。
可选地,手机在推荐区域显示目标服务界面的图标后,可以响应于用户的编辑图标的操作,对目标服务界面的图标进行编辑。编辑的方式可以包括:更改目标服务界面的图标中的文字、字体以及更改图标的背景颜色等。手机保存用户修改后的图标。电子设备支持用户编辑图标,使得编辑后的图标符合用户的理解,提高用户识别该目标服务界面的概率。
图7为示例性示出的本示例中应用服务推荐的场景示意图。
如图7所示,当用户9点打开手机,手机显示桌面701。手机检测到当前处于桌面,则获取当前的时间(如9:00)、手机的运行状态(如位置信息、Wi-Fi连接信息)输入应用推荐模型中,获得3个该待推荐的目标服务界面。该手机根据目标服务界面的界面名称和目标界面所属应用的图标进行拼接,生成该目标服务界面的图标。如图7的7a所示,该手机的桌面701中包含有推荐区域702,在该推荐区域702中显示有确定的3个目标服务界面的图标,分别为图标703、图标704以及图标705。该图标703中显示有目标服务界面的界面名称(即收付款)以及该目标服务界面所属应用的图标(如微信的图标)。可选地,可以在该目标服务界面的图标下方显示该目标服务界面的界面名称,以便可以用户可以获知目标服务界面的功能,便于用户可以快速判断是否需要触发目标服务界面的启动。
同理,该图标704中包含有目标服务界面的界面名称(即收付款)以及该目标服务界面所属应用的图标(如支付宝的图标),该目标服务界面的图标下方显示该目标服务界面的界面名称(如付款码)。图标705包含有目标服务界面的界面名称(即计算器)以及该目标服务界面所属应用的图标(如计算器的图标),该目标服务界面的图标下方显示该目标服务界面的界面名称(如计算器)。
用户在推荐区域702中可以快速找到需要使用的目标服务界面,用户点击该图标703。手机响应于用户点击图标703的操作,触发手机启动该目标服务界面,如图7的7b所示,该手机显示目标服务界面706。
本示例中目标服务界面的图标直接显示推荐区域,使得用户可以通过对该目标服务界面的图标进行点击操作,即可快速打开该目标服务界面,可以避免用户由于不知道该目标服务界面的快捷方式,而不断进行界面跳转的操作的问题,提高了手机打开目标服务界面的速度。
本示例中,手机可以实时采集手机每一次产生的界面跳转序列,通过界面跳转序列可以确定出符合用户习惯的目标界面,进而使得基于该目标界面训练获得应用服务推荐模型可以准确预测符合用户习惯的目标服务界面,手机显示确定的目标服务界面的图标,用户可以通过点击该目标服务界面的图标,使得手机快速启动目标服务界面,减少了用户的操作步骤,加快了启动目标服务界面的速度。同时,由于训练过程中目标界面是基于用户的习惯获取的目标界面,使得获取的目标界面符合用户个人习惯,无需工程师或应用程序开发商预先设置,进一步提高了该应用推荐的准确性和灵活性。
下面将结合图6具体说明手机存储预设时段内生成的界面跳转序列的过程。如图6所示,手机存储预设时段内生成的界面跳转序列包括如下步骤:
步骤601:桌面应用检测到用户点击应用A的图标的操作,执行步骤602。
本示例中,桌面指示桌面应用的界面。当手机检测到界面显示桌面的指令(如检测到唤醒手机的指令)时,该桌面可以向活动管理服务指示启动桌面,同时该活动管理服务向应用使用统计服务指示手机当前启动了桌面。该应用使用统计服务响应于该指示信息(即指示手机当前启动了桌面的指示信息),开始存储当前产生的界面跳转序列。也就是说,该应用使用统计服务存储该界面跳转序列的起始界面为桌面。
桌面上显示有不同应用程序的图标,该桌面若检测到用户点击应用A的图标的操作,则可以执行步骤602。
步骤602:桌面应用向活动管理服务指示启动应用A的界面1。
例如,桌面可以向活动管理服务发送指示信息A1,该指示信息A1用于指示活动管理服务启动应用A的界面1。
步骤603:活动管理服务向应用使用统计服务指示应用A的界面1启动。
示例性地,该活动管理服务可以向应用使用统计服务发送用于指示应用A的界面1启动的统计信息,如该统计信息可以包括应用A的包名、该应用A的界面1的界面标识信息(如activity的名称)。
步骤604:应用使用统计服务记录从桌面跳转至应用A的界面1的序列。
示例性地,该应用使用统计服务接收到活动管理服务发送统计信息,可以获取跳转后的界面信息,同时还可以存储跳转时间、手机对应的运行状态,如手机的位置信息、网络信息、蓝牙连接信息等。可选地,该应用使用统计服务还可以存储显示应用A的界面1时的环境信息,如温度、节假日信息等。
由于上一个界面为桌面,该应用使用统计服务可以将应用A的界面1统计在桌面界面之后,以指示手机从桌面切换至应用A的界面1的序列,如该序列包括:桌面——应用A的界面1。
步骤605:活动管理服务响应于桌面应用的指示,启动应用A的界面1。
示例性地,该活动管理服务A启动应用A的界面1。
需要说明的是,步骤603与步骤605之间可以是同时进行,还可以是步骤605位于步骤603之前。
步骤606:应用A若检测到用户输入的跳转应用A的界面2的操作,则执行步骤607。
示例性地,该应用A若检测到用户输入的跳转操作,该跳转操作用于指示显示界面从应用A的界面1跳转至应用A的界面2,该应用A可以将跳转信息发送至活动管理服务并指示启动待跳转的界面,该跳转信息可以包括待跳转的界面的信息,如界面2的activity名称。
步骤607:应用A向活动管理服务指示启动应用A的界面2。
步骤608:活动管理服务响应于应用A的跳转指示,向应用使用统计服务指示应用A的界面2启动。
示例性地,活动管理服务响应于应用A的跳转指示,启动应用A的界面2。同时,该活动管理服务向应用统计服务指示应用A的界面2启动,该步骤与步骤604类似。应用使用统计服务接收到该活动管理服务发送的统计信息(为了与步骤604中的统计信息区分,本步骤中的统计信息记为统计信息2),获取跳转后的界面信息。该统计信息2中可以包括应用A的界面2的信息,界面的名称,该界面2所属应用的包名。
步骤609:应用使用统计服务在该序列中添加从应用A的界面1跳转至应用A的界面1的记录。
示例性地,应用使用统计服务可以存储该应用A的界面2的信息、跳转时间、手机对应的运行状态,如手机的位置信息、网络信息、蓝牙连接信息等。可选地,该应用使用统计服务还可以存储显示应用A的界面2时的环境信息,如温度、节假日信息等。
由于应用使用统计服务未检测到该界面跳转序列的终止界面,故可以在该界面跳转序列中添加从应用A的界面1跳转至应用A的界面1的记录,如该序列包括:桌面——应用A的界面1——应用A的界面2。
步骤610:活动管理服务响应于应用A的跳转指示,启动应用A的界面2。
该步骤与步骤605类似,该活动管理服务启动应用A的界面2。
步骤611:应用A若检测到用户输入的跳转应用B的界面1的操作,则执行步骤612。
示例性地,用户输入的跳转应用B的界面1的操作可以是点击操作,例如,手机显示了应用A的界面2,用户可以点击用于跳转其他应用的控件,该控件可以包括用于跳转其他应用的链接信息,响应于用户输入的跳转应用B的界面1的操作,执行步骤612。
步骤612:应用A向活动管理服务指示启动应用B的界面2。
示例性地,该步骤与步骤607,应用A可以将该应用B的界面2的信息传输至活动管理服务,以使该活动管理服务启用应用B的界面2。
步骤613:活动管理服务响应于跳转指示,向应用使用统计服务指示应用B的界面1启动。
该步骤与步骤603、608类似,此处将不再进行赘述。
步骤614:应用使用统计服务在该序列中添加从应用A的界面1跳转至应用B的界面1的记录。
该步骤与步骤604、609类似,此处将不再进行赘述。由于应用使用统计服务未检测到该界面跳转序列的终止界面,故可以在该界面跳转序列中添加从应用A的界面1跳转至应用A的界面1的记录,如该序列包括:桌面——应用A的界面1——应用A的界面2——应用B的界面2。
步骤615:活动管理服务响应于跳转指示,启动应用B的界面1。
该步骤与步骤605类似,该活动管理服务启动应用B的界面1。
步骤616:应用B检测到用户输入的返回桌面的操作,执行步骤617。
示例性地,当显示屏显示了应用B的界面1后,该应用B可以检测到用户输入的返回桌面的操作,可以执行步骤617,该返回桌面的操作,如点击返回桌面的按钮。
步骤617:应用B向桌面应用指示返回桌面。
示例性地,应用B向桌面应用指示返回桌面可以包括如下步骤:应用B向活动管理服务指示返回桌面的指令,该活动管理服务接收到返回桌面的指令后,可以启动桌面。同时,该活动管理服务响应于返回桌面的指示,向应用使用统计服务指示返回了桌面,即执行步骤618。
步骤618:活动管理服务响应于跳转指示,向应用使用统计服务指示返回了桌面,由该应用使用统计服务结束本次界面跳转序列的记录。
示例性地,应用使用统计服务检测到跳转的界面为桌面,则将桌面添加至界面跳转序列中,作为该界面跳转序列中的终点界面;并结束对本次界面跳转序列的记录。
在一些实施例中,手机在获取预设时段内的界面跳转序列后,可以通过检测到该界面跳转序列中各界面是否存在快捷启动方式,确定目标界面。该方式中确定目标界面的速度快,同时手机还可以获取目标服务界面的快捷方式的图标作为该目标服务界面的图标,无需重新生成该目标服务界面的图标,使得用户可以快速识别目标服务界面。该应用服务推荐的过程可以包括如下步骤:
步骤701:电子设备获取该电子设备在预设时段内产生的界面跳转序列。
该步骤与步骤501类似,可以参照步骤501中的相关描述,此处不再进行赘述。
步骤702:电子设备根据预设时段内的界面跳转序列,确定电子设备所属用户在预设时段内的目标界面。
在一个实施例中,手机可以针对每个界面跳转序列进行如下处理:手机可以检测界面跳转序列中是否存在第一预设界面,第一预设界面为具有快捷启动属性的界面;若手机检测到存在第一预设界面,则将第一预设界面作为目标界面;若手机检测到不存在第一预设界面,则缓存界面跳转序列或者丢弃界面跳转序列。
示例性地,通常手机应用程序的开发商会对特定页面设置快捷启动的属性,如长按应用程序的图标,可以展示出该应用程序中特定页面的快捷启动的选项,如图2中的2a所示。本示例中,为了减少手机的运算开销,可以检测每个界面跳转序列中是否存在具有快捷启动属性的界面,若存在,则直接将具有快捷启动属性的界面作为目标界面。
举例来说,手机中的数据处理模块从UsageStateService中获取预设时段(如一天的早上6点至晚上24:00的时段)内记录的所有界面跳转序列。本示例中,以4条界面跳转序列为例具体说明确定目标界面的过程。3条界面跳转序列如下所示:
界面跳转序列1为:桌面——应用A的界面1——应用A的界面2——应用A的界面3——应用A的界面4——桌面;
界面跳转序列2为:桌面——应用B的界面1——应用B的界面2——应用A的界面2——应用A的界面3——应用A的界面4——桌面;
界面跳转序列3为:桌面——应用A的界面1——应用A的界面2——应用B的界面1——应用B的界面2——应用A的界面3——应用A的界面4——桌面。
界面跳转序列4为:桌面——应用B的界面1——桌面。
手机中的数据处理模块分别对上述4条界面跳转序列进行检测,针对界面跳转序列1中的每个跳转界面是否具有快捷启动的属性,如可以通过包装管理服务(PackageManagerService,“PMS”)可以获取到该界面所属应用的安装信息,进而可以检测是否为该界面是否具有的快捷启动的属性。
若本示例中检测界面跳转序列1后,确定应用A的界面2和应用A的界面3具有快捷启动的属性,数据处理模块将应用A的界面2和界面3作为目标界面。
对界面跳转序列2进行检测,检测到应用A的界面2和应用A的界面3具有快捷启动的属性。数据处理模块将应用A的界面2和界面3作为目标界面。
对界面跳转序列3进行检测,检测到应用A的界面2和应用A的界面3具有快捷启动的属性。数据处理模块将应用A的界面2和界面3作为目标界面。
对界面跳转序列4进行检测,检测到不存在具有快捷启动的属性的界面,则该数据处理模块可以丢弃该界面跳转序列4,或者缓存该界面跳转序列4。
步骤703:电子设备根据预设时段内的目标界面、每次显示目标界面的时间和每次显示目标界面时电子设备的运行状态,训练获得应用服务推荐模型。
示例性地,手机的模型训练模块根据预设时段内的目标界面、每次显示目标界面的时间和每次显示目标界面时手机运行状态作为训练样本,进行训练获得应用服务推荐模型,训练可以采用机器学习算法、深度学习算法等,模型训练的过程本示例中不再进行赘述。可选地,该手机的运行状态可以包括:手机所处位置的位置信息、网络信息、蓝牙连接信息等,网络信息可以包括:连接的网络类型,如Wi-Fi网络、4G网络等。可选地,训练样本还可以包括每次显示目标界面时手机所处位置的环境信息,如天气信息、节假日信息。
步骤704:电子设备若检测到满足预设的推荐触发条件,则根据应用服务推荐模型、电子设备当前的运行状态和时间,确定待推荐的目标服务界面。
该步骤与步骤504大致相同,可以参照步骤504中的相关描述,此处不再进行赘述。
步骤705:在电子设备的显示屏显示目标服务界面的图标,以供用户通过目标服务的图标触发电子设备切换至目标服务界面。
示例性地,手机可以在确定目标服务界面后,获取该目标服务界面对应的快捷启动的图标,将目标服务界面对应的快捷启动图标与目标界面所属应用的图标拼接,形成目标服务界面的图标。例如,如图8的8a中图标803所示,该图标803中收付款界面的快捷启动图标的右下方拼接该收付款界面所属应用的图标(如微信的图标)。
可选地,也可以将该目标服务界面的快捷启动图标作为该目标服务界面的图标。
图8为示例性示出的本示例中应用服务推荐的场景示意图。
如图8所示,当用户9点打开手机,手机显示桌面801。手机检测到当前处于桌面,则获取当前的时间(如9:00)、手机的运行状态(如位置信息、Wi-Fi连接信息)输入应用推荐模型中,获得1个该待推荐的目标服务界面。该手机根据目标服务界面的界面名称和目标界面所属应用的图标进行拼接,生成该目标服务界面的图标。如图8的8a所示,该手机的桌面801中包含有推荐区域802,在该推荐区域802中显示有确定的1个目标服务界面的图标803。该图标803中显示有目标服务界面的快捷启动图标以及该目标服务界面所属应用的图标(如微信的图标)。可选地,可以在该目标服务界面的图标下方显示该目标服务界面的界面名称,以便可以用户可以获知目标服务界面的功能,便于用户可以快速判断是否需要触发目标服务界面的启动。
用户在推荐区域802中可以快速找到需要使用的目标服务界面,用户点击该图标803。手机响应于用户点击图标803的操作,触发手机启动该目标服务界面,如图8的8b所示,该手机显示目标服务界面804。
本示例中目标服务界面的图标直接显示推荐区域,使得用户可以通过对该目标服务界面的图标进行点击操作,即可快速打开该目标服务界面,可以避免用户由于不知道该目标服务界面的快捷方式,而不断进行界面跳转的操作,提高了手机打开目标服务界面的速度。
本示例中,通过检测界面跳转序列中是否存在具有快捷启动的属性的界面,可以快速确定出目标界面,并基于确定的目标界面进行模型训练。由于模型训练中的目标界面均为具有快捷启动的属性的界面,使得应用服务推荐模型预测的目标服务界面具有快捷启动图标,基于目标服务界面的快捷启动图标可以快速生成该目标服务界面的图标,使得目标服务界面的图标更易被用户接受。
在一些实施例中,应用使用统计服务还可以存储用户在每个跳转界面输入的交互动作。当电子设备响应于用户触发该目标服务界面的图标的操作,显示目标服务界面后,为了进一步减少用户的固定操作,电子设备可以在目标服务界面模拟与目标服务界面对应的交互操作。该应用服务推荐的过程可以包括如下步骤:
步骤1201:电子设备获取该电子设备在预设时段内产生的界面跳转序列。
示例性地,手机中应用使用统计服务存储界面跳转序列的过程与步骤501中的过程大致相同。本示例中,该应用使用统计服务还用于存储每个跳转界面对应的交互操作。
下面结合图9具体说明应用使用统计服务存储用户在每个跳转界面输入的交互动作的过程。
步骤901:桌面应用检测到用户点击应用A的图标的操作,执行步骤902。
步骤902:桌面应用向活动管理服务指示启动应用A的界面1。
步骤903:活动管理服务响应于桌面应用的指示,向应用使用统计服务指示应用A的界面1启动。
步骤904:应用使用统计服务记录从桌面跳转至应用A的界面1的序列。
步骤905:活动管理服务响应于桌面应用的指示,启动应用A的界面1。
该步骤901至步骤905与步骤601至步骤605大致相同,该步骤901至步骤905的过程可以参照步骤601至步骤605中的相关描述,此处将不再进行赘述。
步骤906:应用A响应于用户的交互操作,执行匹配的步骤907。
步骤907:应用A获取该交互操作。
具体地,应用A的界面检测到用户的交互操作,可以获取该交互操作,并向活动管理服务传输该交互操作,如采用dispatchtouchevent方法进行传递该交互操作(即交互事件)。
步骤908:应用A向活动管理服务传输交互操作。
具体地,应用A通过dispatchtouchevent方法向活动管理服务传递该交互操作。
步骤909:活动管理服务向应用使用统计服务传输在该界面2中的交互操作。
具体地,活动管理服务可以向应用使用统计服务发送指示信息,该指示信息包括用户在该界面2中的交互操作(如记为action)。
步骤910:应用使用统计服务存储与界面1对应的交互操作。
具体地,该应用使用统计服务可以建立界面1与对应的交互操作之间的对应关系,并存储与该界面1对应的交互操作。
步骤911:应用A检测到用户输入的跳转应用A的界面2的操作。
步骤912:应用A向活动管理服务指示启动应用A的界面2。
步骤913:活动管理服务向应用使用统计服务指示应用A的界面2启动。
步骤914:应用使用统计服务在序列中添加从应用A的界面1跳转至应用A的界面2的记录。
步骤915:活动管理服务启动应用A的界面2。
该步骤911至步骤915可以参照步骤606至步骤610中的相关描述,此处不再进行赘述。
步骤916:应用A检测到用户输入的返回桌面的操作,执行步骤917。
步骤917:应用A向桌面应用指示返回桌面。
步骤918:活动管理服务响应于跳转指示,向应用使用统计服务指示返回了桌面,由该应用使用统计服务结束本次界面跳转序列的记录。
该步骤916至步骤918与步骤616至步骤618大致相同,该步骤916至步骤918的过程可以参照步骤616至步骤618中的相关描述,此处将不再进行赘述。
步骤1202:电子设备根据预设时段内的界面跳转序列,确定电子设备所属用户在预设时段内的目标界面。
示例性地,本示例中根据界面跳转序列确定手机所属用户在预设时段内的目标界面的过程与步骤502中的相关描述类似,可以参照步骤502中的相关描述。
本示例中,手机对比每两个界面跳转序列以及每个跳转界面对应的交互操作,获取每两个界面跳转序列中最长的公共子序列且该公共子序列中每个跳转界面对应的交互操作一致,将获取的公共子序列作为第三子序列。手机获取每个第三子序列产生的频次;根据每个第三子序列的频次,确定目标界面。也就是说,本示例中,公共子序列不仅需要跳转界面相同还需要跳转界面对应的操作一致。
举例来说,手机中的数据处理模块从UsageStateService中获取预设时段(如一天的早上6点至晚上24:00的时段)内记录的所有界面跳转序列。本示例中,以4条界面跳转序列为例具体说明确定目标界面的过程。4条界面跳转序列如下所示:
界面跳转序列1为:桌面——应用A的界面1(action1)——应用A的界面2(action2)——应用A的界面3(action3)——应用A的界面4(action4)——桌面;
界面跳转序列2为:桌面——应用B的界面1(action5)——应用B的界面2(action6)——应用A的界面2(action2)——应用A的界面3(action3)——应用A的界面4(action5)——桌面;
界面跳转序列3为:桌面——应用A的界面1(action1)——应用A的界面2(action2)——应用B的界面1(action5)——应用B的界面2(action6)——应用A的界面3(action3)——应用A的界面4(action4)——桌面;
界面跳转序列4为:桌面——应用B的界面1(action5)——桌面。
其中,action用于指示对应的交互动作(即交互操作),如,应用A的界面1(action1)表示该应用A的界面1对应的交互操作为action1。
手机的数据处理模块将界面跳转序列1与界面跳转序列2进行比较,获得最长的公共子序列。其中,本示例中公共子序列以不包括桌面为例。该界面跳转序列1与界面跳转序列2之间最长的公共子序列为:应用A的界面2——应用A的界面3——应用A的界面4。而界面跳转序列1中应用A的界面4对应的动作为action4与界面跳转序列2中应用A的界面4对应的动作为action5不同,故两条界面跳转序列之间的第三子序列(即最长的公共子序列)为:应用A的界面2(acntion2)——应用A的界面3(acntion3),记为第三子序列1。
手机的数据处理模块将界面跳转序列1与界面跳转序列3进行比较,获得最长的公共子序列为:应用A的界面1(acntion1)——应用A的界面2(acntion2)——应用A的界面3(acntion3)——应用A的界面4(acntion4),记为第三子序列2。
手机的数据处理模块将界面跳转序列1与界面跳转序列4进行比较,比较结果指示该界面跳转序列1与界面跳转序列4之间没有公共子序列。
手机的数据处理模块将界面跳转序列2与界面跳转序列3进行比较,获得最长的公共子序列为:应用B的界面1(acntion5)——应用B的界面2(acntion6),可以记为第三子序列3。
手机的数据处理模块将界面跳转序列2与界面跳转序列4进行比较,获得最长的公共子序列为:应用B的界面1(acntion5),记为第三子序列4。
手机的数据处理模块将界面跳转序列3与界面跳转序列4进行比较,获得最长的公共子序列为:应用B的界面1(acntion5),该界面跳转序列3与界面跳转序列4之间最长的公共子序列与第三子序列4相同。
第三子序列1为:应用A的界面2(acntion2)——应用A的界面3(acntion3),获取该第三子序列1在预设时段内出现的次数为2次,即对应的频次为2次。
第三子序列2为:应用A的界面1(acntion1)——应用A的界面2(acntion2)——应用A的界面3(acntion3)——应用A的界面4(acntion4);获取该第三子序列2在预设时段内出现的次数为2次,对应的频次为2。
第三子序列3为:应用B的界面1(acntion5)——应用B的界面2(acntion6),对应的频次为2。
第三子序列4为:应用B的界面1(acntion5),对应频次为3。
数据处理模块获取预设的频次阈值(如为1),检测到第三子序列1、第三子序列2、第三子序列3、第三子序列4的频次超过频次阈值,则将该第三子序列1、第三子序列2、第三子序列3、第三子序列4作为目标子序列。数据处理模块分别获取每一个目标子序列中最后一个跳转界面作为目标界面。也就是说,将第三子序列1中的应用A的界面3(acntion3)、第三子序列2中的应用A的界面4(acntion4)、第三子序列3的应用B的界面2(acntion6)以及第三子序列4中应用B的界面1(acntion5)作为目标界面以及目标界面对应的交互操作。
在一些实施例中,手机对比每两个界面跳转序列以及每个跳转界面对应的交互操作,获取每两个界面跳转序列中跳转界面相同且最后一个相同的跳转界面对应的交互操作一致的公共子序列。将获取的最长的公共子序列作为第三子序列。手机获取每个第三子序列产生的频次;根据每个第三子序列的频次,确定目标界面。也就是说,本示例中,公共子序列不仅需要每个跳转界面相同还需要最后一个相同的跳转界面对应的交互操作一致。
举例来说,手机中的数据处理模块从UsageStateService中获取预设时段(如一天的早上6点至晚上24:00的时段)内记录的所有界面跳转序列。本示例中,以4条界面跳转序列为例具体说明确定目标界面的过程。4条界面跳转序列如下所示:
界面跳转序列5为:桌面——应用A的界面1(action2)——应用A的界面2(action4)——应用A的界面3(action3)——应用A的界面4(action4)——桌面;
界面跳转序列2为:桌面——应用B的界面1(action5)——应用B的界面2(action6)——应用A的界面2(action2)——应用A的界面3(action3)——应用A的界面4(action5)——桌面;
界面跳转序列3为:桌面——应用A的界面1(action1)——应用A的界面2(action2)——应用B的界面1(action5)——应用B的界面2(action6)——应用A的界面3(action3)——应用A的界面4(action4)——桌面;
界面跳转序列4为:桌面——应用B的界面1(action5)——桌面。
其中,action用于指示对应的交互动作(即交互操作),如,应用A的界面1(action1)表示该应用A的界面1对应的交互操作为action1。
手机的数据处理模块将界面跳转序列5与界面跳转序列2进行比较,获得最长的公共子序列。其中,本示例中公共子序列以不包括桌面为例。该界面跳转序列5与界面跳转序列2之间最长的公共子序列为:应用A的界面2——应用A的界面3——应用A的界面4。而界面跳转序列1中应用A的界面4对应的动作为action4与界面跳转序列2中应用A的界面4对应的动作为action5不同。故该应用A的界面2——应用A的界面3——应用A的界面4不能作为第三子序列。界面跳转序列5与界面跳转序列2之间的公共子序列为:应用A的界面2——应用A的界面3(acntion3)中最后一个跳转界面的交互操作也一致,故该第三子序列为:应用A的界面2——应用A的界面3(acntion3),记为第三子序列5。
手机的数据处理模块将界面跳转序列5与界面跳转序列3进行比较,获得最长的公共子序列为:应用A的界面1——应用A的界面2——应用A的界面3——应用A的界面4(acntion4),记为第三子序列6。
手机的数据处理模块将界面跳转序列5与界面跳转序列4进行比较,比较结果指示该界面跳转序列5与界面跳转序列4之间没有公共子序列。
手机的数据处理模块将界面跳转序列2与界面跳转序列3进行比较,获得最长的公共子序列为:应用B的界面1——应用B的界面2(acntion6),可以记为第三子序列7。
手机的数据处理模块将界面跳转序列2与界面跳转序列4进行比较,获得最长的公共子序列为:应用B的界面1(acntion5),记为第三子序列8。
手机的数据处理模块将界面跳转序列3与界面跳转序列4进行比较,获得最长的公共子序列为:应用B的界面1(acntion5),该界面跳转序列2与界面跳转序列4之间最长的公共子序列与第三子序列8相同。
第三子序列5为:应用A的界面2——应用A的界面3(acntion3),获取该第三子序列5在预设时段内出现的次数为2次,即对应的频次为2次。
第三子序列6为:应用A的界面1——应用A的界面2——应用A的界面3——应用A的界面4(acntion4);获取该第三子序列2在预设时段内出现的次数为2次,即对应的频次为2次。
第三子序列7为:应用B的界面1——应用B的界面2(acntion6),对应的频次为2。
第三子序列8为:应用B的界面1(acntion5),对应频次为3。
数据处理模块获取预设的频次阈值(如为1),检测到第三子序列5、第三子序列6、第三子序列7、第三子序列8的频次超过频次阈值,则将该第三子序列5、第三子序列6、第三子序列7、第三子序列8作为目标子序列。数据处理模块分别获取每一个目标子序列中最后一个跳转界面作为目标界面。也就是说,将第三子序列5中的应用A的界面3(acntion3)、第三子序列6中的应用A的界面4(acntion4)、第三子序列7的应用B的界面2(acntion6)以及第三子序列8中应用B的界面1(acntion5)作为目标界面以及目标界面对应的交互操作。
可选地,当数据处理模块检测到目标界面对应有至少2个不同的交互操作,数据处理模块可以以该目标界面所属目标子序列存储目标界面的相关信息,目标界面的相关信息可以包括:该目标界面对应的交互动作、显示该目标界面的时间以及该目标界面所属目标子序列的长度。
可选地,当数据处理模块检测到目标界面对应有至少2个不同的交互操作,数据处理模块可以选取该目标界面所在的最长的第三子序列中对应的交互操作作为目标界面对应的交互操作。例如,将第三子序列5中的应用A的界面4(action4)、第三子序列6中的应用A的界面4(action5)。数据处理模块检测到应用A的界面4具有两个不同的交互操作,获取应用A的界面4(action4)所在第三子序列5的长度为3,应用A的界面4(action5)所在第三子序列6的长度为4,则数据处理模块确定该应用A的界面4对应的交互操作为action5。
步骤1203:电子设备根据预设时段内的目标界面、每次显示目标界面的时间和每次显示目标界面时电子设备的运行状态,训练获得应用服务推荐模型。
该步骤与步骤503中训练过程类似,即将电子设备根据预设时段内的目标界面、每次显示目标界面的时间和每次显示目标界面时电子设备的运行状态作为训练样本进行训练。
在一些实施例中,应用服务推荐模型的每个训练样本中可以包括:目标子序列的长度,目标子序列中的目标界面,显示该目标界面对应的时间和交互动作。手机可以以每个目标序列对应的信息作为一个训练样本。举例来说:
目标子序列1为:应用A的界面2——应用A的界面3(acntion3);
目标子序列2为:应用A的界面1——应用A的界面2——应用A的界面3(acntion4);
目标子序列2为:应用A的界面2——应用A的界面3(acntion5);
其中,目标子序列1对应显示应用A的界面3的时间为t1,目标子序列1对应显示应用A的界面3的时间为t2,目标子序列1对应显示应用A的界面3的时间为t3。手机基于3个目标子序列,可以获得3个训练样本,训练样本1中包括:目标子序列1的长度、应用A的界面3,显示应用A的界面3的时间t1以及交互动作acntion3。训练样本2包括:目标子序列2的长度、应用A的界面3,显示应用A的界面3的时间t2以及交互动作acntion4。训练样本3包括:目标子序列3的长度、应用A的界面3,显示应用A的界面3的时间t3以及交互动作acntion5。
步骤1204:电子设备若检测到满足预设的推荐触发条件,则根据应用服务推荐模型、电子设备当前的运行状态和时间,确定待推荐的目标服务界面。
该步骤可以参照步骤504中的相关描述,此处不再进行赘述。
步骤1205:在电子设备的显示屏显示目标服务界面的图标,以供用户通过目标服务的图标触发电子设备切换至目标服务界面。
该步骤可以参照步骤505中的相关描述,此处不再进行赘述。
步骤1206:电子设备响应于用户的启动操作,在显示屏显示目标服务界面。
步骤1207:电子设备在目标服务界面模拟与目标服务界面对应的交互操作。
示例性地,手机可以从应用使用统计服务中获取存储的交互操作以及交互操作的位置,在该目标服务界面模拟对应的交互操作。
步骤1208:电子设备响应于目标服务界面对应的交互操作,执行与交互操作匹配的步骤。
图10是示例性示出的电子设备在目标服务界面模拟交互操作的示意图。本示例中,电子设备以手机为例进行说明,该过程包括:
步骤1001:手机检测到用户点击应用A的图标的操作,执行步骤1002。
步骤1002:桌面应用向活动管理服务指示启动应用A的界面1。
步骤1003:活动管理服务指示模拟点击模块执行模拟点击操作。
示例性地,活动管理服务接收到指示应用A的界面1,启动应用A的界面1。该活动管理服务在启动应用A的界面1后,可以指示模拟点击模块执行模拟交互操作,如点击、互动操作。具体地,该活动管理服务可以将目标服务界面的界面信息(如activity的名称、该目标服务界面所属应用的包名等)传输至模拟点击模块。
步骤1004:模拟点击模块向应用使用统计服务查询应用A的界面1的交互操作。
具体地,该模拟点击模块响应于活动管理服务的指示,可以根据目标服务界面的界面信息,向应用使用统计服务查询应用A的界面1的交互操作。
步骤1005:应用使用统计服务获取应用A的界面1的交互操作。
具体地,应用使用统计服务可以根据目标服务界面所属应用的包名、该目标服务界面的activity的名称查询与该目标服务界面对应的交互操作。
步骤1006:应用使用统计服务向模拟点击模块返回应用A的交互操作。
具体地,该应用使用统计服务若查询到与该应用A的界面1对应的交互操作,则可以向模拟点击模块返回该应用A的界面1的交互操作的信息。若该应用使用统计服务若未查询到与该应用A的界面1对应的交互操作,则返回该查询结果。
步骤1007:模拟点击模块模拟在应用A的界面1的交互操作。
具体地,模拟点击模块接收到应用A的界面1对应的交互操作的信息,该交互操作信息包括:交互操作、在应用A的界面1上的操作位置。该模拟点击模块根据操作位置,模拟该交互操作。本示例中,如在应用A的界面1的顶部模拟点击点一页的操作。
步骤1008:应用A检测到在界面1上的交互操作,执行步骤1009。
该应用A的界面1响应于模拟的点击操作,向活动管理服务下发用于指示启动应用A的界面2的指令,即执行步骤1009。
步骤1009:活动管理服务接收到启动应用A的界面2的指令,启动应用A的界面2。
具体地,活动管理服务接收到指示启动应用A的界面2的指令,启动应用A的界面2。
步骤1010:活动管理服务指示模拟点击模块执行模拟点击操作。
步骤1011:模拟点击模块向应用使用统计服务查询应用A的界面2的交互操作。
步骤1012:应用使用统计服务获取应用A的界面2的交互操作。
步骤1013:应用使用统计服务向模拟点击模块返回应用A的界面2的交互操作。
步骤1014:模拟点击模块模拟在应用A的界面2的交互操作。
该步骤1010至步骤1014与步骤1003至步骤1007类似,可以参照步骤1003至步骤1007中的相关描述,此处不再进行赘述。
步骤1015:应用A检测到界面2上的交互操作,执行对应的步骤。
具体地,该应用A检测到模拟的交互操作,可以执行与该交互操作对应的步骤。如,模拟点击模块模拟的滑动操作,该应用A检测到该滑动操作,指示界面2向上滑动预设距离,如预设距离为3cm。
图11为示例性示出的模拟交互操作的场景示意图。
如图11的11a所示,当用户9点打开手机,手机显示桌面1101。手机检测到当前处于桌面,则获取当前的时间(如9:00)、手机的运行状态(如位置信息、Wi-Fi连接信息)输入应用推荐模型中,获得3个该待推荐的目标服务界面。该手机根据目标服务界面的界面名称和目标界面所属应用的图标进行拼接,生成该目标服务界面的图标。如图11的11a所示,该手机的桌面1101中包含有推荐区域1102,在该推荐区域1102中显示有确定的3个目标服务界面的图标,分别为图标1103、图标1104以及图标1105。该图标1103中显示有目标服务界面的界面名称(即服务)以及该目标服务界面所属应用的图标(如微信的图标)。可选地,可以在该目标服务界面的图标下方显示该目标服务界面的界面名称,以便可以用户可以获知目标服务界面的功能,便于用户可以快速判断是否需要触发目标服务界面的启动。
用户点击该图标1103,手机响应于用户点击图标1103的操作,触发手机启动该目标服务界面,如图11的11b所示,该手机显示目标服务界面1106。手机获取到该服务界面1106对应的交互操作以及交互操作的位置(即在服务界面1106进行交互操作的位置)。假设用户通常使用该服务界面的交通出行功能,当显示屏显示该服务界面后,需要用户手动滑动界面,以显示出交通出行的选项。本示例中,如图11的11b所示,当显示屏显示服务界面1106时,该模拟点击模块模拟在1107的位置模拟上滑操作。服务界面1106响应于模拟的上滑操作,滚动该服务界面1106预设距离,如11c所示,滚动后的服务界面显示出交通出行的选项。
本示例中,通过在目标服务界面模拟交互操作,可以进一步节省用户的操作,提高用户的使用体验。
可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。结合本文中所公开的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机指令,当该计算机指令在电子设备上运行时,使得电子设备执行上述相关方法步骤实现上述实施例中的应用服务推荐的方法。存储介质包括:U盘、移动硬盘、只读存储器(read onlymemory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的应用服务推荐的方法。
其中,本实施例提供的电子设备、计算机存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例的说明书和权利要求书中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一目标对象和第二目标对象等是用于区别不同的目标对象,而不是用于描述目标对象的特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个处理单元是指两个或两个以上的处理单元;多个系统是指两个或两个以上的系统。
本申请各个实施例的任意内容,以及同一实施例的任意内容,均可以自由组合。对上述内容的任意组合均在本申请的范围之内。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

Claims (20)

1.一种应用服务推荐的方法,其特征在于,应用于电子设备,包括:
获取所述电子设备在预设时段内产生的界面跳转序列,所述界面跳转序列的起始界面和终点界面均为桌面;
根据所述预设时段内的界面跳转序列,确定所述电子设备所属用户在所述预设时段内的目标界面;
根据预设时段内的目标界面、每次显示所述目标界面的时间和每次显示所述目标界面时所述电子设备的运行状态,训练获得应用服务推荐模型;
若检测到满足预设的推荐触发条件,则根据所述应用服务推荐模型、所述电子设备当前的运行状态和时间,确定待推荐的目标服务界面;
在所述电子设备的显示屏显示所述目标服务界面的图标,以供用户通过所述目标服务的图标触发所述电子设备切换至所述目标服务界面。
2.根据权利要求1所述的方法,其特征在于,所述根据所述预设时段内的界面跳转序列,确定所述电子设备所属用户在所述预设时段内的目标界面,包括:
对比每两个所述界面跳转序列,获取每两个所述界面跳转序列中最长的公共子序列作为第一子序列;
获取每个所述第一子序列产生的频次;
根据每个所述第一子序列的频次,确定所述目标界面。
3.根据权利要求2所述的方法,其特征在于,所述根据每个所述第一子序列的频次,确定所述目标界面,包括:
根据每个所述第一子序列的频次和预设的频次阈值,获取频次超过所述频次阈值的第一子序列作为目标子序列;
获取所述目标子序列中最后一个跳转界面作为所述目标界面,其中,所述跳转界面不为桌面。
4.根据权利要求1所述的方法,其特征在于,所述根据所述预设时段内的界面跳转序列,确定所述电子设备所属用户在所述预设时段内的目标界面,包括:
针对每个所述界面跳转序列进行如下处理:
检测所述界面跳转序列中是否存在第一预设界面,所述第一预设界面为具有快捷启动属性的界面;
若检测到存在所述第一预设界面,则将所述第一预设界面作为目标界面;
若检测到不存在所述第一预设界面,则缓存所述界面跳转序列或者丢弃所述界面跳转序列。
5.根据权利要求4所述的方法,其特征在于,在所述电子设备的显示屏显示所述目标服务界面的图标之前,所述方法还包括:
获取所述目标服务界面对应的快捷启动图标;
将所述目标服务界面对应的快捷启动图标与所述目标服务界面所属应用的图标拼接,形成所述目标服务界面的图标。
6.根据权利要求1所述的方法,其特征在于,在所述电子设备的显示屏显示所述目标服务界面的图标之前,所述方法还包括:
获取所述目标服务界面的界面名称,所述界面名称用于指示界面的功能;
根据所述界面名称以及所述目标服务界面所属应用的图标,生成所述目标服务界面的图标。
7.根据权利要求6所述的方法,其特征在于,所述获取所述目标服务界面的界面名称,包括:
检测所述目标服务界面是否存在页面标签;
若检测到所述目标服务界面存在页面标签,且检测到所述页面标签与所述目标服务界面所属应用的名称不同,则获取所述页面标签作为所述界面名称;
若检测到所述目标服务界面不存在页面标签或检测到所述页面标签与所述目标服务界面所属应用的名称相同,则根据所述目标服务界面显示的信息确定所述界面名称。
8.根据权利要求7所述的方法,其特征在于,所述根据所述目标服务界面显示的信息确定所述界面名称,包括:
获取所述目标服务界面的页面文本信息;
从所述页面文本信息中获取关键字作为所述界面名称。
9.根据权利要求8所述的方法,其特征在于,所述获取所述目标服务界面的页面文本信息,包括:
根据所述目标服务界面的页面结构,提取所述目标服务界面的页面文本信息;
或者,
对所述目标服务界面进行截屏操作,获取截屏图像;对所述截屏图像进行文字识别,获得所述目标服务界面的文本信息。
10.根据权利要求6所述的方法,其特征在于,根据所述界面名称以及所述目标服务界面所属应用的图标,生成所述目标服务界面的图标,包括:
将所述目标服务界面所属应用的图标与所述界面名称进行拼接,生成所述目标服务界面的图标。
11.根据权利要求3所述的方法,其特征在于,根据预设时段内的目标界面、每次显示所述目标界面的时间和每次显示所述目标界面时所述电子设备的运行状态,训练获得应用服务推荐模型,包括:
获取所述目标界面所在的最长第一子序列作为所述目标界面对应的第二子序列;
获取所述第二子序列的长度;
将预设时段内的目标界面、每次显示所述目标界面的时间和每次显示所述目标界面时所述电子设备的运行状态作为训练样本;
将所述目标界面对应的第二子序列的长度作为训练的奖励因子;
根据所述训练样本以及所述奖励因子,训练获得所述应用服务推荐模型。
12.根据权利要求1所述的方法,其特征在于,在根据所述预设时段内的界面跳转序列,确定所述电子设备所属用户在所述预设时段内的目标界面之前,所述方法还包括:
存储用户在每个跳转界面输入的交互操作,所述跳转界面为除桌面之外的界面;
在所述电子设备的显示屏显示所述目标服务界面的图标之后,所述方法还包括:
响应于所述用户的启动操作,在所述显示屏显示所述目标服务界面;
获取所述目标服务界面对应的交互操作;
在所述目标服务界面模拟与所述目标服务界面对应的交互操作;
响应于所述目标服务界面对应的交互操作,执行与所述交互操作匹配的步骤。
13.根据权利要求12所述的方法,其特征在于,根据所述预设时段内的界面跳转序列,确定所述电子设备所属用户在所述预设时段内的目标界面,包括:
对比每两个所述界面跳转序列以及每个跳转界面对应的交互操作,获取每两个所述界面跳转序列中跳转界面相同且对应的交互操作相同的最长的公共子序列;
获取所述最长的公共子序列作为第三子序列;
获取每个所述第三子序列产生的频次;
根据每个所述第三子序列的频次,确定所述目标界面。
14.根据权利要求12所述的方法,其特征在于,根据所述预设时段内的界面跳转序列,确定所述电子设备所属用户在所述预设时段内的目标界面,包括:
对比每两个所述界面跳转序列以及每个跳转界面对应的交互操作,获取每两个所述界面跳转序列中跳转界面相同且最后一个相同的跳转界面对应的交互操作相同的最长的公共子序列;
获取所述最长的公共子序列作为第三子序列;
获取每个所述第三子序列产生的频次;
根据每个所述第三子序列的频次,确定所述目标界面。
15.根据权利要求13或14所述的方法,其特征在于,根据预设时段内的目标界面、每次显示所述目标界面的时间和每次显示所述目标界面时所述电子设备的运行状态,训练获得应用服务推荐模型,包括:
将预设时段内的目标界面、所述目标界面所属每个子序列各自的长度、每次显示所述目标界面的时间、对应的操作以及每次显示所述目标界面时所述电子设备的运行状态作为训练样本,训练获得所述应用服务推荐模型。
16.根据权利要求3所述的方法,其特征在于,根据预设时段内的目标界面、每次显示所述目标界面的时间和每次显示所述目标界面时所述电子设备的运行状态,训练获得应用服务推荐模型,包括:
将预设时段内的目标界面、每次显示所述目标界面的时间和每次显示所述目标界面时所述电子设备的运行状态作为训练样本,训练获得所述应用服务推荐模型。
17.根据权利要求3所述的方法,其特征在于,所述预设的推荐触发条件包括:检测到显示屏显示第二预设界面,所述第二预设界面包括桌面、菜单界面、多任务界面、负一屏界面。
18.根据权利要求3所述的方法,其特征在于,所述方法包括:
响应于用户输入的第一操作,对所述目标服务界面的图标进行编辑操作,所述编辑操作包括以下的一种或多种:更改目标服务界面的图标中显示的名称、更改所述目标服务界面的图标的背景颜色、更改所述目标服务界面的图标中文字的字体。
19.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器;
以及一个或多个计算机程序,其中所述一个或多个计算机程序存储在所述存储器上,当所述计算机程序被所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-18中任一项所述的应用服务推荐的方法。
20.一种计算机可读存储介质,包括计算机程序,其特征在于,当所述计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1-18中任意一项所述的应用服务推荐的方法。
CN202211191006.2A 2022-09-28 2022-09-28 应用服务推荐的方法、电子设备及存储介质 Active CN116719455B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211191006.2A CN116719455B (zh) 2022-09-28 2022-09-28 应用服务推荐的方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211191006.2A CN116719455B (zh) 2022-09-28 2022-09-28 应用服务推荐的方法、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116719455A true CN116719455A (zh) 2023-09-08
CN116719455B CN116719455B (zh) 2024-04-12

Family

ID=87863725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211191006.2A Active CN116719455B (zh) 2022-09-28 2022-09-28 应用服务推荐的方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116719455B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684524A (zh) * 2018-12-14 2019-04-26 惠州Tcl移动通信有限公司 应用推荐方法、装置、存储介质及电子设备
CN113835569A (zh) * 2021-09-14 2021-12-24 青岛海信移动通信技术股份有限公司 终端设备、应用内部功能的快捷启动方法和存储介质
CN113934490A (zh) * 2021-09-27 2022-01-14 青岛海尔科技有限公司 设备控制页面的打开方法及装置、存储介质及电子装置
CN115097989A (zh) * 2022-07-25 2022-09-23 荣耀终端有限公司 服务卡片的显示方法、电子设备以及存储介质
CN116029719A (zh) * 2022-08-17 2023-04-28 荣耀终端有限公司 支付服务推荐的方法、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109684524A (zh) * 2018-12-14 2019-04-26 惠州Tcl移动通信有限公司 应用推荐方法、装置、存储介质及电子设备
CN113835569A (zh) * 2021-09-14 2021-12-24 青岛海信移动通信技术股份有限公司 终端设备、应用内部功能的快捷启动方法和存储介质
CN113934490A (zh) * 2021-09-27 2022-01-14 青岛海尔科技有限公司 设备控制页面的打开方法及装置、存储介质及电子装置
CN115097989A (zh) * 2022-07-25 2022-09-23 荣耀终端有限公司 服务卡片的显示方法、电子设备以及存储介质
CN116029719A (zh) * 2022-08-17 2023-04-28 荣耀终端有限公司 支付服务推荐的方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN116719455B (zh) 2024-04-12

Similar Documents

Publication Publication Date Title
CN108319489B (zh) 应用页面的启动方法、装置、存储介质及电子设备
US10372469B2 (en) Method and device for displaying information
CN108604152B (zh) 未读消息提示方法和终端
CN116029719B (zh) 支付服务推荐的方法、电子设备及存储介质
CN108228776B (zh) 数据处理方法、装置、存储介质及电子设备
CN108958503A (zh) 输入方法和装置
CN106850780A (zh) 系统级的应用程序信息推荐方法、装置和移动终端
CN114138139B (zh) 应用程序卡片的管理方法、电子设备及介质
CN106126592B (zh) 搜索数据的处理方法及装置
CN108197105B (zh) 自然语言处理方法、装置、存储介质及电子设备
CN105607749A (zh) 快捷操作方法、快捷操作装置和终端
CN114020197A (zh) 跨应用的消息的处理方法、电子设备及可读存储介质
CN109683760B (zh) 最近内容的显示方法、装置、终端及存储介质
CN114117225A (zh) 图书推荐方法及图书推荐设备
CN112153218B (zh) 页面显示方法、装置、可穿戴设备及存储介质
CN113485813A (zh) 应用跳转的方法和装置
CN111596832B (zh) 一种页面切换方法及装置
CN112486387A (zh) 应用程序的控制方法及装置
CN116719455B (zh) 应用服务推荐的方法、电子设备及存储介质
CN111880701A (zh) 页面切换方法、装置及电子设备
WO2018021764A1 (ko) 어플리케이션에 대한 알림을 관리하는 방법 및 그 전자 장치
CN112000877A (zh) 一种数据处理方法、装置和介质
CN116069219B (zh) 一种获取日程信息的方法和电子设备
CN111382367A (zh) 一种搜索结果排序方法和装置
CN110851624A (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