本发明实施例涉及计算机技术领域,具体涉及一种通知展示方法及装置。
背景技术:
随着科技发展,智能手机等智能移动终端得到普及,成为人们日常生活中重要的工具。通常这些智能移动终端中安装有多种类型的App(Application,应用),满足人们日常生活工作的需求。
现有的智能移动终端的操作系统提供通知栏功能,方便用户及时收到APP的通知,但是,现有的APP通常将推送、广告和提醒等通知无条件进行展示,随着通知栏中展示的通知条数越来越多,不仅没有给用户带来便利,反而使得用户无法及时找到想要获取的通知。
因此,亟需一种通知展示方法,便于对多个通知根据一定的条件进行展示,便于用户及时找到想要获取的通知。
技术实现要素:
为了解决现有技术存在的问题,本发明的至少一个实施例提供了一种通知展示方法及装置。
第一方面,本发明实施例公开一种通知展示方法,包括:
在生成多个第一类型通知后,确定每个所述第一类型通知对应的子类型;
根据预设的子类型与优先级的对应关系,确定每个所述第一类型通知对应的优先级;
展示优先级最高的目标第一类型通知。
可选的,所述展示优先级最高的目标第一类型通知之后,所述方法还包括:
调整所述目标第一类型通知对应的子类型的优先级。
可选的,所述调整所述目标第一类型通知对应的子类型的优先级,包括:
检测第一预设时长内所述目标第一类型通知是否被点击;
若是,则提高所述目标第一类型通知对应的子类型的优先级;
若否,则降低所述目标第一类型通知对应的子类型的优先级。
可选的,所述展示优先级最高的目标第一类型通知之前,所述方法还包括:
确定当前时刻与上一次展示第一类型通知的时刻之间的第一时长;
判断所述第一时长是否达到第一预设时长;若是,则执行所述展示优先级最高的目标第一类型通知的步骤。
可选的,所述展示优先级最高的目标第一类型通知之前,所述方法还包括:
判断当日已经展示的第一类型通知的个数是否达到预设的每日展示个数;若否,则执行所述展示优先级最高的目标第一类型通知的步骤。
可选的,所述方法还包括:
在终端解锁后,根据多个预设的第一类型通知生成条件,生成多个第一类型通知。
可选的,所述根据多个预设的第一类型通知生成条件,生成多个第一类型通知之前,所述方法还包括:
确定当前时刻与上一次执行所述生成多个第一类型通知的步骤的开始时刻之间的第二时长;
判断所述第二时长是否达到第二预设时长;若是,则执行所述根据多个预设的第一类型通知生成条件,生成多个第一类型通知的步骤。
可选的,所述展示优先级最高的目标第一类型通知之前,所述方法还包括:
判断当前时刻是否处于预设时间段内;若是,则执行所述展示优先级最高的目标第一类型通知的步骤。
可选的,所述方法还包括:
若检测到所述第一预设时长内所述目标第一类型通知被点击,则删除所述目标第一类型通知以及删除与所述目标第一类型通知的子类型相关联的子类型所对应的通知。
第二方面,本发明实施例还公开一种通知展示装置,包括:
第一确定单元,用于在生成多个第一类型通知后,确定每个所述第一类型通知对应的子类型;
第二确定单元,用于根据预设的子类型与优先级的对应关系,确定每个所述第一类型通知对应的优先级;
展示单元,用于展示优先级最高的目标第一类型通知。
可见,本发明的至少一个实施例中,在生成多条第一类型通知后,并非展示全部第一类型通知,而是通过确定第一类型通知的子类型,并根据子类型确定第一类型通知的优先级,进而只展示优先级最高的一条第一类型通知,减少了展示的通知的总条数,便于用户及时找到想要获取的通知。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种通知展示方法流程图;
图2为本发明实施例提供的一种通知展示装置的框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
第一方面,如图1所示,本发明实施例公开一种通知展示方法,可包括以下步骤101至103:
101、在生成多个第一类型通知后,确定每个所述第一类型通知对应的子类型。
本实施例中,该方法可应用于任何可安装应用程序的终端中,例如智能手机和平板电脑等,也即该方法的执行主体是应用程序。
本实施例中,考虑到通知的内容和功能的多样性,根据通知的内容和功能确定通知的作用,并根据通知的作用确定通知的类型和子类型,也即将不同作用的通知归类,确定每个通知所属的类型,同时为了区分同一类型下的通知,确定每个通知对应的子类型。
本实施例中,将通知的类型确定为两个类型,即第一类型和第二类型。第一类型通知为用于拉动用户活跃的通知,也即用于引导用户打开应用程序的通知;第二类型通知为用于提醒用户的通知。第一类型通知可理解为拉活通知,第二类型通知可理解为普通通知。
本实施例中,可以将通知对应的子类型确定为通知的编号,通知的编号为生成通知时赋予的编号。
本实施例中,以安全类应用程序为例,对第一类型通知和第二类型通知进行详细说明。第二类型通知例如为用于安全性警示的通知。第一类型通知可包括至少以下八个通知:
1205:超过预设扫描天数阈值未进行扫描,预设天数阈值例如为三天;
2300:垃圾总量超过预设垃圾总量阈值,预设垃圾总量阈值例如为300M;
2301:存储空间占比低于预设存储空间占比阈值,预设存储空间占比阈值例如为40%;
2400:CPU温度超过预设CPU温度阈值;
1201:内存占用率超过预设占用率阈值;
1202:后台使用流量的应用个数超过预设的应用个数阈值;
1100:病毒库已自动更新;
2302:超过预设清理天数阈值未进行清理。
以上八个通知分别赋予不同的编号,可将编号确定为通知对应的子类型。
102、根据预设的子类型与优先级的对应关系,确定每个所述第一类型通知对应的优先级。
本实施例中,优先级可以用数字表示,若优先级设置为十级,则最低优先级为1,最高优先级为10,相邻优先级之差的绝对值为1。
本实施例中,可预先设置子类型与优先级的对应关系,以上八个通知对应的子类型与优先级的对应关系例如为:
子类型1205对应优先级10;
子类型2300对应优先级9;
子类型2301对应优先级8;
子类型2400对应优先级7;
子类型1201对应优先级6;
子类型1202对应优先级5;
子类型1100对应优先级4;
子类型2302对应优先级3。
103、展示优先级最高的目标第一类型通知。
本实施例中,图1所示的方法还可包括图1中未示出的步骤101’:
101’、在生成第二类型通知后,展示所述第二类型通知。
本实施例中,对于第二类型通知不进行控制,只要生成第二类型通知就立即展示,生成第二类型通知的方式与现有生成通知的方式相同,不再赘述。
可见,本实施例公开的通知展示方法,在生成多条第一类型通知后,并非展示全部第一类型通知,而是通过确定第一类型通知的子类型,并根据子类型确定第一类型通知的优先级,进而只展示优先级最高的一条第一类型通知,减少了展示的通知的总条数,便于用户及时找到想要获取的通知。
在一个具体的例子中,步骤103所述展示优先级最高的目标第一类型通知之后,图1所示的方法还可包括图1中未示出的步骤104:
104、调整所述目标第一类型通知对应的子类型的优先级。
本实施例中,考虑到用户不同的使用习惯,同一通知对于不同用户的影响不同,因此,为了满足不同用户的需求,需要动态调整第一类型通知对应的子类型的优先级,也即每次执行步骤103所述展示优先级最高的目标第一类型通知之后,均调整所述目标第一类型通知对应的子类型的优先级。
在一个具体的例子中,步骤104所述调整所述目标第一类型通知对应的子类型的优先级,具体包括图1中未示出的步骤1041至1043:
1041、检测第一预设时长内所述目标第一类型通知是否被点击;若是,则执行步骤1042;若否,则执行步骤1043。
本实施例中,为了进一步控制展示的通知的总数量,因此,考虑到控制展示第一类型通知的时机,为此,提出第一预设时长的概念,第一预设时长可理解为展示通知的周期,第一预设时长例如为四小时。
1042、提高所述目标第一类型通知对应的子类型的优先级。
1043、降低所述目标第一类型通知对应的子类型的优先级。
本实施例中,通知对于用户的影响体现在用户是否查看了通知,用户查看通知,说明用户对通知感兴趣,通知对于用户来说比较重要,用户未查看通知,说明用户对通知不感兴趣,通知对于用户来说不太重要。考虑到用户查看通知需要点击通知,因此,本实施例将第一类型通知是否被点击作为调整第一类型通知对应的子类型的优先级的条件。
本实施例中,步骤1042具体可以为:将目标第一类型通知对应的子类型的优先级增加第一预设值,第一预设值例如为1.7。
本实施例中,步骤1043具体可以为:将目标第一类型通知对应的子类型的优先级减少第二预设值,第二预设值例如为1.2。
本实施例中,若用户主动删除目标第一类型通知,则认定所述目标第一类型通知未被点击,并执行步骤1043。
本实施例中,若检测到所述第一预设时长内所述目标第一类型通知被点击,则该方法进一步包括:删除所述目标第一类型通知以及删除与所述目标第一类型通知的子类型相关联的子类型所对应的通知。子类型2300与子类型2301相关联,子类型之间是否相关联可根据实际情况确定。
在一个具体的例子中,步骤103所述展示优先级最高的目标第一类型通知之前,图1所示方法还可包括图1中未示出的如下步骤A1和B1:
A1、确定当前时刻与上一次展示第一类型通知的时刻之间的第一时长。
本实施例中,展示第一类型通知的时刻可以通过以下方式确定:
在步骤103所述展示优先级最高的目标第一类型通知之后,记录展示所述目标第一类型通知的时刻。
相应地,步骤A1具体为:确定当前时刻与上一次记录的展示时刻之间的第一时长。
B1、判断第一时长是否达到第一预设时长;若是,则执行所述展示优先级最高的目标第一类型通知的步骤。
本实施例中,给步骤103所述展示优先级最高的目标第一类型通知增加了一个限定条件,也即B1所述判断第一时长是否达到第一预设时长,若未达到,则不执行步骤103所述展示优先级最高的目标第一类型通知。
在一个具体的例子中,步骤103所述展示优先级最高的目标第一类型通知之前,图1所示方法还可包括图1中未示出的如下步骤B2:
B2、判断当日已经展示的第一类型通知的个数是否达到预设的每日展示个数;若否,则执行所述展示优先级最高的目标第一类型通知的步骤。
本实施例中,为了进一步控制展示的通知的总数量,因此,提出每日展示个数的概念,每日展示个数是预先设置好的,预设的每日展示个数也可以理解为每日上限(DailyCap),预设的每日展示个数例如为三个,即DailyCap=3。
本实施例中,给步骤103所述展示优先级最高的目标第一类型通知增加了另一个限定条件,也即B2所述判断当日已经展示的第一类型通知的个数是否达到预设的每日展示个数,若达到,则不执行步骤103所述展示优先级最高的目标第一类型通知。
在一个具体的例子中,图1所示的方法还可包括图1中未示出的步骤100:
100、在终端解锁后,根据多个预设的第一类型通知生成条件,生成多个第一类型通知。
本实施例中,步骤101所述在生成多个第一类型通知后,确定每个所述第一类型通知对应的子类型之前,执行步骤100。
本实施例中,以八个第一类型通知为例,每个第一类型通知预设不同的第一类型通知生成条件,具体说明如下:
子类型1205的通知的生成条件为:超过预设扫描天数阈值未进行扫描,预设天数阈值例如为三天;
子类型2300的通知的生成条件为:垃圾总量超过预设垃圾总量阈值,预设垃圾总量阈值例如为300M;
子类型2301的通知的生成条件为:存储空间占比低于预设存储空间占比阈值,预设存储空间占比阈值例如为40%;
子类型2400的通知的生成条件为:CPU温度超过预设CPU温度阈值;
子类型1201的通知的生成条件为:内存占用率超过预设占用率阈值;
子类型1202的通知的生成条件为:后台使用流量的应用个数超过预设的应用个数阈值;
子类型1100的通知的生成条件为:病毒库已自动更新;
子类型2302的通知的生成条件为:超过预设清理天数阈值未进行清理。
本实施例中,生成通知的前提是终端解锁后,若终端未解锁,即使满足生成条件,也不生成通知,从而减少终端软硬件资源消耗。
在一个具体的例子中,步骤100中所述根据多个预设的第一类型通知生成条件,生成多个第一类型通知之前,图1所示的方法还可包括图1中未示出的如下步骤100’和100”:
100’、确定当前时刻与上一次执行所述生成多个第一类型通知的步骤的开始时刻之间的第二时长。
本实施例中,执行所述生成多个第一类型通知的步骤的开始时刻可以通过以下方式确定:
记录执行步骤100中所述生成多个第一类型通知的步骤的开始时刻。
相应地,步骤100’具体为:确定当前时刻与上一次记录的开始时刻之间的第二时长。
100”、判断所述第二时长是否达到第二预设时长;若是,则执行所述根据多个预设的第一类型通知生成条件,生成多个第一类型通知的步骤。
本实施例中,为了进一步控制展示的通知的总数量,需要控制生成第一类型通知的周期,因此,提出第二预设时长的概念,第二预设时长可理解为轮询周期,例如为15分钟。
本实施例中,轮询查找出所有满足预设的第一类型通知生成条件的通知,展示当前优先级最高的第一类型通知,优先级相同随机展示;轮询结果有通知展示时,如果已展示相同子类型的通知则刷新该条通知的内容。
本实施例中,若第二时长未达到第二预设时长,则不执行步骤100中所述根据多个预设的第一类型通知生成条件,生成多个第一类型通知。
在一个具体的例子中,步骤103所述展示优先级最高的目标第一类型通知之前,图1所示方法还可包括图1中未示出的如下步骤B3:
B3、判断当前时刻是否处于预设时间段内;若是,则执行所述展示优先级最高的目标第一类型通知的步骤。
本实施例中,为了进一步控制展示的通知的总数量,因此,提出预设时间段的概念,预设时间段可理解为可展示第一类型通知的时间段,预设时间段例如为早7点至凌晨1点。
本实施例中,给步骤103所述展示优先级最高的目标第一类型通知增加了又一个限定条件,也即B3所述判断当前时刻是否处于预设时间段内,若否,则不执行步骤103所述展示优先级最高的目标第一类型通知。
第二方面,如图2所示,本发明实施例公开:
P1、一种通知展示装置,可包括:第一确定单元21、第二确定单元22和展示单元23,各单元具体说明如下:
第一确定单元21,用于在生成多个第一类型通知后,确定每个所述第一类型通知对应的子类型;
第二确定单元22,用于根据预设的子类型与优先级的对应关系,确定每个所述第一类型通知对应的优先级;
展示单元23,用于展示优先级最高的目标第一类型通知。
P2、根据P1所述的装置,其特征在于,所述装置还包括图2中未示出的调整单元24:
调整单元24,用于所述展示单元23展示优先级最高的目标第一类型通知之后,调整所述目标第一类型通知对应的子类型的优先级。
P3、根据P2所述的装置,所述调整单元24,具体用于:检测第一预设时长内所述目标第一类型通知是否被点击;若是,则提高所述目标第一类型通知对应的子类型的优先级;若否,则降低所述目标第一类型通知对应的子类型的优先级。
P4、根据P1所述的装置,所述装置还可包括图2中未示出的第一确定单元25和第一判断单元26:
第一确定单元25,用于确定当前时刻与上一次所述展示单元23展示第一类型通知的时刻之间的第一时长;
第一判断单元26,用于判断所述第一时长是否达到第一预设时长;
相应地,所述展示单元23,用于所述第一判断单元26判定所述第一时长达到第一预设时长后,展示优先级最高的目标第一类型通知。
P5、根据P1或P4所述的装置,所述装置还可包括图2中未示出的第二判断单元27:
第二判断单元27,用于判断当日已经展示的第一类型通知的个数是否达到预设的每日展示个数;
相应地,所述展示单元23,用于所述第二判断单元27判定当日已经展示的第一类型通知的个数未达到预设的每日展示个数后,展示优先级最高的目标第一类型通知。
P6、根据P1所述的装置,所述装置还可包括图2中未示出的生产单元20:
生产单元20,用于在终端解锁后,根据多个预设的第一类型通知生成条件,生成多个第一类型通知。
P7、根据P6所述的装置,所述装置还可包括图2中未示出的第二确定单元28和第三判断单元29:
第二确定单元28,用于确定当前时刻与上一次所述生产单元20生成多个第一类型通知的开始时刻之间的第二时长;
第三判断单元29,用于判断所述第二时长是否达到第二预设时长;
相应地,所述生成单元20,用于在所述第三判断单元29判定所述第二时长达到第二预设时长后,根据多个预设的第一类型通知生成条件,生成多个第一类型通知。
P8、根据P5所述的装置,所述装置还可包括图2中未示出的第四判断单元30:
第四判断单元30,用于判断当前时刻是否处于预设时间段内;
相应地,所述展示单元23,用于在所述第四判断单元30判定当前时刻处于预设时间段内之后,展示优先级最高的目标第一类型通知。
P9、根据P3所述的装置,所述装置还可包括图2中未示出的删除单元31:
删除单元31,用于所述调整单元24检测到第一预设时长内所述目标第一类型通知被点击后,删除所述目标第一类型通知以及删除与所述目标第一类型通知的子类型相关联的子类型所对应的通知。
P10、根据P1所述的装置,所述展示单元23,还用于在生成第二类型通知后,展示所述第二类型通知。
以上实施例公开的通知展示装置能够实现第一方面各实施例公开的通知展示方法的流程,为避免重复,不再赘述。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。