具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
请参阅图1,示出了本申请实施例提供的信息推送方法及装置的应用场景图。
如图1中所示,用户终端1和服务器2位于无线网络或有线网络中,通过无线网络或有线网络,用户终端1和服务器2进行数据交互。
于本申请实施例中,用户终端1可以为移动终端设备,例如可以包括智能手机、平板电脑、电子书阅读器、膝上型便携计算机、车载电脑、穿戴式移动终端等等。
在一些实施例中,客户端安装在用户终端1内,例如,可以是安装在用户终端1的应用程序。用户登录客户端后,可以在客户端的论坛列表界面看到用户所关注的论坛,例如,图2所示的论坛列表界面,在该界面显示不同的论坛对应的论坛标签。用户点击某个论坛标签或该标签对应的图标,就可以进入该论坛,浏览该论坛下的帖子。作为一种实施方式,论坛可以是由客户端的用户创建的,也可以是由客户端的开发或管理人员创建的,而在创建论坛时,为每个论坛都会有一个论坛标签,且每个论坛标签对应一个应用程序的标识,具体地,论坛标签为论坛的名称,该应用程序的标识可以是应用程序的名称。例如,一个论坛标签是王者荣耀交流组,其所对应的应用程序的标识为王者荣耀。当然,应用程序的标识也可以是应用程序的包名,例如,穿越火线论坛的论坛标签是穿越火线交流组,其所对应的应用程序的标识为穿越火线的包名,即com.tencent.tmgp.cf。
服务器2内有存储空间,用于管理、存储用户数据并提供用户服务。用户通过客户端创建论坛之后,客户端将每个论坛标签与应用程序的标识发送至服务器,服务器将其对应存储。服务器可以是单独的服务器,也可以是服务器集群,可以是本地服务器,也可以是云端服务器。
作为一种实施方式,服务器将论坛标签与应用程序的标识存储在一个映射表中,该映射表包括多个论坛标签和每个论坛标签对应的应用程序的标识。例如,以下表的形式存储:
表1
为了提高客户端的用户使用率,提高客户端的用户访问量,客户端对定期在用户打开客户端的某个界面(例如图2所示的界面)时,会在某个区域显示服务器向客户端推送的论坛标签,期望用户进入该论坛,并能获得自己感兴趣的内容,以提高用户的访问次数。但是,现在推送的论坛标签不够准确,例如,是针对一些新用户,即首次登录的用户,仅仅是推送一些热门论坛,极大降低了用户体验度。
因此,为了解决这些技术缺陷,本申请实施例提供了一种信息推送方法。请参阅图3,示出了本申请实施例提供的一种信息推送方法,该方法应用于图6的服务器,其执行主体为上述的服务器。该信息推送方法用于提高论坛标签推送的用户体验度,例如,用于提高新用户的论坛推送的体验度。在具体的实施例中,该信息推送方法包括:步骤S301至S305。
S301:当检测到在终端登录客户端的操作时,判断是否首次登录。
用户在登录客户端时,发送一个登录请求至服务器。其中,登录请求包括用户名和密码,在服务器获取该用户名和密码之后,根据预先存储的与用户名对应的登录密码,比对登录请求内的用户名和密码是否匹配,如果匹配,即用户名已经注册过,且用户名对应的密码正确,则运行该用户名登录客户端,并将此次用户名的登录操作相关的数据存储在用户记录中。该用户记录记录了用户名对应的登录操作、数据上传和下载操作等,例如,登录的次数、登录的时间、数据上传操作或数据获取操作等。通过查找该用户记录的登录操作就可以判定本次用户名是否为首次登录。
作为一种实施方式,判断是否首次登录的过程可以是:获取登录客户端的用户名;在用户记录中查找所述用户名对应的登录次数,其中,所述用户记录存储有多个用户名和每个用户名对应的登录次数;若登录次数为预设值,则判定所述登录客户端的用户名首次登录。
具体地,通过解析上述的登录请求,可以获取到登录客户端的用户名。再从上述的用户记录中获取用户名对应的登录次数。其中,用户记录可以是记载了用户的登录次数,也可以是记录用户的登录操作,并为每个登录操作配置一个登录标记,通过统计用户记录中的登录标记就可以获取用户名对应的登录次数。然后,在获取到登录次数之后,将登录次数与预设值比对。其中,预设值的设定取决于执行将登录次数与预设值比对的步骤的时间节点。一种实施方式中,服务器在将本次登录操作存储在用户记录之前,执行判断是非首次登录的操作,则上述预设值为0,那么,如果登录次数为0,表示在本次登录之前,该用户名未登录过该客户端,则判定所述登录客户端的用户名首次登录,同理,如果登录次数不为0,则判定所述登录客户端的用户名非首次登录。另一种实施方式中,服务器在将本次登录操作存储在用户记录之后,再执行判断是否非首次登录的操作。则此实施方式中,预设值为1,那么,如果登录次数为1,表示在本次登录为第一次登录,即判定所述登录客户端的用户名首次登录。如果登录次数不为1,表示本次登录不是第一次登录,则判定所述登录客户端的用户名非首次登录。
如果判定登录客户端的用户名首次登录,则执行步骤S302,如果判定登录客户端的用户名非首次登录,则结束本次方法的操作,用户可以在其他界面获取客户端推送的内容。
S302:获取在第一预设时间段内终端安装的预设类别的应用程序的标识以及启动次数。
其中,第一预设时间段可以由用户根据实际使用环境而设定,于本发明实施例中,该第一预设时间段为本次登录的时间点之前的某个时间段。例如,本次登录的时间点之前的一个周或者一个月。另外,预设类别与客户端内的论坛的种类有关。于本发明实施例中,预设类别的应用程序为游戏类应用程序。上述的第一预设时间段内终端安装的预设类别的应用程序的标识和启动次数,可以理解为在第一预设时间段内,终端内安装的应用程序,以及这些应用程序对应的标识和启动次数。
具体地,客户端可以通过API接口获取终端安装的应用程序的标识和启动次数等信息,例如,通过UsageStatsManager获取应用程序的标识和启动次数等信息。其中,应用程度的标识可以是应用程序的名称,也可以是应用程序的包名,于本发明实施例中,以应用程序的标识为应用程序的名称为例说明本方法的流程。
在一种实施方式中,获取应用程序的标识和启动次数的方式为,发送获取指令给所述客户端,指示所述客户端反馈所述终端在第一预设时间段内安装的预设类别的应用程序的标识以及启动次数,接收所述客户端反馈的所述终端在第一预设时间段内安装的预设类别的应用程序的标识以及启动次数。其中,获取指令可以指定所要获取的标识以及启动次数对应的应用程序的类别以及所对应的预设时间。具体地,获取指令包括第一预设时间段和预设类别,客户端在获取到获取指令之后,获取到第一预设时间段和预设类别,通过API接口获取预设类别的应用程序在第一预设时间段内的启动次数。
在一种实施方式中,获取应用程序的标识以及启动次数的方式为,在成功登录之后,客户端主动获取终端安装的预设类别的应用程序的标识以及启动次数,将预设类别的应用程序的标识以及启动次数发送至服务器。
S303:根据预先设定的论坛标签和应用程序的标识的对应关系,对所获取的所有预设类别的应用程序的标识进行匹配,将对应有论坛标签的标识作为备选标识组。
其中,预设的论坛标签和应用程序的标识的对应关系可以是上述的表1,具体的,请参考前述实施例,在此不再赘述。将获取的应用程序的标识与表1中的应用程序的标识进行匹配,如果可以查找到应用程序的标识对应的论坛标签,则判定所获取的应用程序的标识对应有论坛标签。
例如,所获取的预设类别的应用程序的标识以及启动次数如下表所示:
表2
应用程序的标识 |
启动次数 |
阴阳师 |
2次 |
开心消消乐 |
1次 |
太极熊猫 |
2次 |
王者荣耀 |
5次 |
经过对所获取的所有预设类别的应用程序的标识进行匹配之后,查找到“阴阳师”对应的论坛标签为“阴阳师吧”,“太极熊猫”对应的论坛标签为“太极熊猫交流组”,“王者荣耀”对应的论坛标签为“王者荣耀交流组”,则备选标识组包括“阴阳师”、“太极熊猫”和“王者荣耀”。
S304:将备选标识组中,启动次数满足第一预设条件的标识对应的论坛标签作为待推送论坛标签。
由于,应用程序的启动次数越多,表示用户对该应用程序越感兴趣,因此,设定第一预设条件,对备选标识组筛选,获取启动次数满足第一预设条件的标识,将其作为待推送论坛标签。具体地,满足第一预设条件的标识为启动次数由高到低排序在前N个的标识,其中,N为正整数。则将备选标识组中,启动次数满足第一预设条件的标识对应的论坛标签作为待推送论坛标签的实施方式为,将备选标识组中,所有标识按照启动次数由高到低的顺序排序,将排序中靠前的N个标识作为待推送论坛标签。例如,N为2,将备选标识组中,启动次数最高的2个标识对应的论坛标签作为待推送论坛标签。
S305:将待推送论坛标签发送至所述客户端,指示客户端在预设界面的预设位置显示待推送论坛标签对应的推送信息。
其中,预设界面是用户在客户端的访问界面或浏览界面,例如,可以是用户的主页或者用户在成功登录客户端之后所显示的论坛界面。其中,推送信息包括待推送标签的名称、图标以及相应的操作按钮,例如,图2中,预设位置为界面底部的“可能感兴趣”区域,在该区域显示论坛标签的名称和对应的图标。
请参阅图4,示出了本申请实施例提供的一种信息推送方法,该方法应用于图6的服务器,其执行主体为上述的服务器。该信息推送方法用于提高论坛标签推送的用户体验度,例如,用于提高新用户的论坛推送的体验度。在具体的实施例中,该信息推送方法包括:步骤S401至S410。
S401:当检测到在终端登录客户端的操作时,判断是否首次登录。
如果判定登录客户端的用户名首次登录,则执行步骤S402,如果判定登录客户端的用户名非首次登录,则结束本次方法的操作,用户可以在其他界面获取客户端推送的内容。
S402:获取在第一预设时间段内终端安装的预设类别的应用程序的标识以及启动次数。
S403:根据预先设定的论坛标签和应用程序的标识的对应关系,对所获取的所有预设类别的应用程序的标识进行匹配,将对应有论坛标签的标识作为备选标识组。
S404:判断备选标识组中的标识的数量是否大于或等于N。
其中,N为正整数,N的设定依据需要为用户推送的论坛标签的数量而设定,于本申请实施例中,N为2,即表示为用户推送的论坛标签的数量为2个,下面以N为2说明具体的推送过程。在获取到备选标识组中,统计备选标识中的标识的个数,获得备选标识组中标识的数量,即所有标识的个数之和。判断该数量是否大于或等于2,如果大于或等于2,则执行步骤S405,如果小于2,则执行步骤S406。
S405:将启动次数由高到低排序在前N个的标识对应的论坛标签作为待推送论坛标签。
将启动次数最大的2个标识对应的论坛标签作为待推送论坛标签,具体地,将备选标识组中,所有标识按照启动次数由高到低的顺序排序,将排序中靠前的2个标识作为待推送论坛标签
S406:判断备选标识组中的标识的数量是否等于0。
备选标识组中的标识的数量可能会出现不足2个的情况,即预计推送2个论坛标签给用户,但是,所安装的所有游戏类应用程序中,开通了论坛的应用程序的数量不足两个。此时,会出现两种情况,第一种,备选标识组中的标识的数量等于0,另一种,备选标识组中的标识的数量小于2,但是大于0,也即小于2且不等于0。两种情况下,选择待推送论坛标签的方式不同,具体地,在判定备选标识组中的标识的数量不等于0时,执行步骤S407,在判定备选标识组中的标识的数量等于0时,执行步骤S409。
S407:获取M个热门标签,其中,M为正整数,且M为N与备选标识组中的标识的数量之差,热门标签的热度满足第二预设条件。
所述热门标签的热度为在第二预设时间段内,所述热门标签对应的信息发布数量。其中,第二预设时间段为本次登录的时间点之前的某个时间段。例如,本次登录的时间点之前的一个周或者一个月。其中,第二预设时间段可以与第一预设时间段相同。用户通过客户端发布的信息,会与论坛标签对应。可以是用户在发布信息时为信息选定的标签,也可以是用户选中一个论坛,在该论坛内发布信息时,所发布的信息自动与该论坛的论坛标签对应。因此,服务器内存储的每个信息都对应一个论坛标签,而且信息的发布时间也会被记录。统计论坛标签对应的发布时间满足第二预设时间段的所有信息,就能够获得该论坛在第二预设时间段内对应的信息发布数量。获得第二预设时间段内,所有论坛标签对应的信息发布数量,则热门标签的热度满足第二预设条件为,热门标签对应的信息发布数量在所有论坛标签按照对应的信息发布数量由高到低排序后的序列中的前M位。M的取值与N和备选标识组中的标识的数量有关,于本申请实施例中,N为2,也就是说,打算推送两个论坛标签给用户。若备选标识组中的标识的数量为1,则M为1。
S408:将备选标识组中的标识对应的论坛标签和M个热门标签作为待推送论坛标签。
如果所获取的安装的游戏应用程序中,只有一个开通了论坛,也就是只有一个游戏应用程序的标识对应了论坛标签,则备选标识组中的标识的数量小于预计推送的论坛标签的数量,则就选择一定数量的热门标签补足。以N为2为例,如果备选标识组中的标识为1,则选择一个热门标签。例如,备选标识组中的标识为王者荣耀,所对应的论坛标签为王者荣耀交流组,而选择的热门标签为阴阳师交流组,则将王者荣耀交流组和阴阳师交流组共同作为待推送论坛标签。
S409:获取N个所述热门标签。
如果所获取的安装的游戏应用程序中,所有的游戏均为开通了论坛,也就是所获取的安装的游戏应用程序中,没有游戏应用程序对应论坛标签。则直接获取N个热门标签。
S410:将所获取的N个所述热度标签作为待推送论坛标签
S411:将待推送论坛标签发送至所述客户端,指示客户端在预设界面的预设位置显示待推送论坛标签对应的推送信息。
上述步骤为详细描述的部分可参考前述实施例,在此不再赘述。
请参阅图5,示出了本申请第二实施例提供的一种信息推送装置500,该方法应用于图6的服务器,其执行主体为上述的服务器。该信息推送装置用于提高论坛标签推送的用户体验度,例如,用于提高老用户的论坛推送的体验度。在具体的实施例中,则该信息推送装置500包括:判断单元501、获取单元502、匹配单元503、筛选单元504和推送单元505。
判断单元501,用于当检测到在终端登录客户端的操作时,判断是否首次登录;
获取单元502,用于如果首次登录,获取在第一预设时间段内所述终端安装的预设类别的应用程序的标识以及启动次数;
匹配单元503,用于根据预先设定的论坛标签和应用程序的标识的对应关系,对所获取的所有预设类别的应用程序的标识进行匹配,将未对应有论坛标签的标识作为备选标识组;
筛选单元504,用于将所述备选标识组中,启动次数满足第一预设条件的标识对应的论坛标签作为待推送论坛标签;
推送单元505,用于将所述待推送论坛标签发送至所述客户端,指示所述客户端在预设界面的预设位置显示所述待推送论坛标签对应的推送信息。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
请参阅图6,基于上述方法和装置,提供给了一种服务器。该服务器600包括存储器602和处理器601,所述存储器602与所述处理器601耦合;所述存储器602存储指令,当所述指令由所述处理器601执行时以使所述处理器601执行上述方法。
所述存储器602可用于存储软件程序以及模块,所述处理器62通过运行存储在所述存储器602内的软件程序以及模块,从而执行各种功能应用以及数据处理。所述存储器602可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,所述存储器602可进一步包括相对于所述处理器601远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
综上所述,本申请实施例提供了一种信息推送方法、装置、服务器以及可读存储介质,以解决新用户的论坛版块推荐所存在的不准确的缺陷。具体的,在用户首次登录的情况下,获取安装有客户端的终端内安装的预设类别的应用程序的标识、以及启动次数,然后,再查找出所获取的应用程序的标识中对应有论坛标签的标识,再根据每个应用程序的启动次数从中选取待推送论坛标签,并将其推送给用户的客户端。根据终端内安装的应用程序的启动次数来推送论坛标签,而不再是仅仅为用户推送热门标签,因此,可以将用户的使用应用程序的次数,选择更符合用户兴趣的论坛标签,使得所推送的论坛标签更加合理,提高用户体验度。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,″计算机可读介质″可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(移动终端),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。