一种直播间中图标互斥显示的实现方法及装置与流程

文档序号:17430942发布日期:2019-04-17 03:29阅读:295来源:国知局
一种直播间中图标互斥显示的实现方法及装置与流程

本发明涉及互联网开发技术领域,更具体地,涉及一种直播间中图标互斥显示的实现方法及装置。



背景技术:

目前直播平台为了推广其他应用会在直播间中插入各种各样的推广图标,用户点击这些推广图标时则会链接到相应的应用。这些推广图标常常与其他图标存在互斥逻辑,即当其他图标需要显示时,这些推广图标在其他图标显示的位置不能出现。

传统方案中避免图标互斥情形出现是静态实现的,即图标a所在的位置图标b不能占据,如果占据就会导致ab重叠。但是由于在直播间中手机屏幕控件受限,采用静态的互斥方法还是会不可避免的出现图标重叠的问题。

因此,亟需提供一种方法能够解决在有限的手机屏幕中采用现有图标互斥显示方法易出现图标重叠的问题。



技术实现要素:

为解决现有图标互斥显示方法易出现图标重叠的问题,本发明提供一种直播间中图标互斥显示的实现方法及装置。

根据本发明的一个方面,提供一种直播间中图标互斥显示的实现方法,包括:

s1,当用户进入直播间时,向服务器发送用于查询第一图标的显示状态的http请求,并判断是否接收到服务器推送的与所述第一图标存在互斥逻辑的第二图标的显示状态消息;

s2,若接收到的服务器返回的所述第一图标的显示状态为开启,且所述第一图标获知所述第二图标的显示状态为关闭,则在当前直播间内显示所述第一图标。

其中,步骤s1还包括:

若在预设时间内没有接收到服务器推送的所述第二图标的显示状态消息,则向服务器发送用于查询第二图标的显示状态的http请求。

其中,步骤s1还包括:

若接收到所述第二图标的显示状态消息或所述用于查询第二图标的显示状态的http请求的返回结果,则根据所述第二图标的显示状态消息或所述返回结果获取所述第二图标的显示状态,并在当前直播间内对所述第二图标进行相应的显示或隐藏。

其中,在步骤s1和s2间,还包括:

当获取到所述第二图标的显示状态时,调用sendmessage方法将所述第二图标的显示状态通过activity透传给第一图标;

当第一图标接收到第二图标的显示状态为开启时,将标记位hasrequest的值设为true。

其中,步骤s2中所述第一图标获知所述第二图标的显示状态为关闭的步骤进一步包括:

获取标记位hasrequest的值,若所述标记位hasrequest的值为false,则第一图标获知所述第二图标的显示状态为关闭。

根据本发明的另一个方面,提供一种直播间中图标互斥显示的实现装置,包括:

显示状态获取模块,用于当用户进入直播间时,向服务器发送用于查询第一图标的显示状态的http请求,并判断是否接收到服务器推送的与所述第一图标存在互斥逻辑的第二图标的显示状态消息;

互斥显示模块,用于若接收到的服务器返回的所述第一图标的显示状态为开启,且所述第一图标获知所述第二图标的显示状态为关闭,额在当前直播间内显示所述第一图标。

其中,所述显示状态获取模块还用于:

若在预设时间内没有接收到服务器推送的所述第二图标的显示状态消息,则向服务器发送用于查询第二图标的显示状态的http请求。

其中,所述显示状态获取模块还用于:

若接收到所述第二图标的显示状态消息或所述用于查询第二图标的显示状态的http请求的返回结果,则根据所述第二图标的显示状态消息或所述返回结果获取所述第二图标的显示状态,并在当前直播间内对所述第二图标进行相应的显示或隐藏。

其中,还包括:

显示状态传递模块,用于当获取到所述第二图标的显示状态时,调用sendmessage方法将所述第二图标的显示状态通过activity透传给第一图标;

设置模块,用于当第一图标接收到第二图标的显示状态为开启时,将标记位hasrequest的值设为true。

其中,所述互斥显示模块具体用于:

获取标记位hasrequest的值,若所述标记位hasrequest的值为false,则第一图标获知所述第二图标的显示状态为隐藏。

本发明提出的一种直播间中图标互斥显示的实现方法及装置,实现了两个图标之间的联动展示,可以有效解决互斥图标显示出现覆盖的问题,提升用户体验。

附图说明

图1为根据本发明一实施例提供的一种直播间中图标互斥显示的实现方法的流程示意图;

图2为根据本发明另一实施例提供的一种直播间中图标互斥显示的实现装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他的实施例,都属于本发明保护的范围。

如图1所示,为本发明一实施例提供的一种直播间中图标互斥显示的实现方法的流程示意图,包括:

s1,当用户进入直播间时,向服务器发送用于查询第一图标的显示状态的http请求,并判断是否接收到服务器推送的与所述第一图标存在互斥逻辑的第二图标的显示状态消息;

s2,若接收到的服务器返回的所述第一图标的显示状态为开启,且所述第一图标获知所述第二图标的显示状态为关闭,则在当前直播间内显示所述第一图标。

具体地,在直播平台中,第一图标用于推广其他的应用,如果用户进入直播间后,直播间内显示了第一图标,当用户点击第一图标时就会跳转到第一图标所对应应用的链接,例如若第一图标为王者陪玩app的图标,则当用户点击时,当前直播间页面会跳转到王者陪玩app的下载页面。第二图标,与第一图标存在互斥逻辑,所述互斥逻辑即指业务逻辑互斥,当第二图标显示时所述第一图标不能在当前直播间内显示,第二图标包括:转盘、抽奖、充能等,当直播间内出现这类图标时,第一图标不应该被显示。所述第一图标的显示需要严格依赖第二图标。初始化状态下将第一图标和第二图标均设置为不可见状态,在android系统中,通过调用函数setvisibility(gone)来实现。

因此,步骤s1,当用户进入直播间时,第一图标主动向服务器发起查询显示状态的http请求,其中,所述http请求携带用户身份信息和第一图标的信息,服务器是根据用户身份信息获知是否需要向当前用户推广第一图标所表示的应用。而第二图标则是被动接收服务器推送的显示状态消息,所述显示状态消息用于表示第二图标的展示与否。

http请求的返回时间是不确定的,因此,获知第一图标的显示状态与第二图标的显示状态的时间也是不确定的。如何确保正确的显示第一图标与第二图标,在s2中,当第一图标需要被显示时,要确定第二图标的显示状态,只有当第二图标隐藏时,才能显示第一图标。即,若服务器返回的第一图标的显示状态为开启时,不能直接就将第一图标在当前直播间内进行显示,而是要确定第二图标的显示状态为隐藏之后,才将第一图标在当前直播间内显示出来,这样就可以避免出现第二图标被显示时,第一图标也被显示了出来,从而导致图标重叠的情形出现。

本发明实施例提出的一种直播间中图标互斥显示的实现方法,实现了两个图标之间的联动展示,可以有效解决互斥图标显示出现覆盖的问题,提升用户体验。

基于上述实施例,步骤s1还包括:

若在预设时间内没有接收到服务器推送的所述第二图标的显示状态消息,则向服务器发送用于查询第二图标的显示状态的http请求。

具体地,第二图标的展示与否是通过服务器中与第二图标相对应的服务(即用于实现第二图标所表示的业务逻辑)来进行推送的,也就是说第二图标的显示状态消息可能是在用户进入房间之前推送或用户刚好进入房间的时候推送或者进入房间之后一段时间才推送的。因此,如果在用户进入房间之前服务器就已经推送了第二图标的显示状态消息,此时第二图标的显示与否由于无法获取到已经推送的消息导致无法正常显示,为了解决该问题需要在用户进入房间时,对第二图标做一定的逻辑判断:

1)当用户进入房间时或者在用户进入房间后的预定时间段内,判断是否接收到了服务器推送的第二图标的显示状态消息;

2)若在用户进入房间后的预设时间段内没有收到服务器推送的状态显示消息,此时需要向服务器发送一个用于查询第二图标显示状态的查询接口,所述查询接口即http请求,所述http请求携带用户身份信息和第二图标的信息。

基于上述实施例,步骤s1还包括:

若接收到所述第二图标的显示状态消息或所述用于查询第二图标的显示状态的http请求的返回结果,则根据所述第二图标的显示状态消息或所述返回结果获取所述第二图标的显示状态,并在当前直播间内对所述第二图标进行相应的显示或隐藏。

具体地,第二图标的显示优先级高于第一图标,因此,不管在何时,若接收到所述第二图标的显示状态消息或所述用于查询第二图标的显示状态的http请求的返回结果,则根据所述显示状态消息的内容或所述返回结果的内容,获取所述第二图标的显示状态,若所述第二图标的显示状态为开启,则在当前直播间内对所述第二图标进行显示;若所述第二图标的显示状态为关闭,则在当前直播间内继续隐藏所述第二图标。

基于上述各实施例,在步骤s1和s2间,还包括:

当获取到所述第二图标的显示状态时,调用sendmessage方法将所述第二图标的显示状态通过activity透传给第一图标;

当第一图标接收到第二图标的显示状态为开启时,将标记位hasrequest的值设为true。

具体地,由于第一图标的展示与否严格依赖第二图标,因此,当获取到第二图标的显示状态时,需要将第二图标的显示状态通知给第一图标,以使第一图标获知第二图标的显示与否。

第一图标与第二图标之间的通信可以通过activity来实现。当获取到所述第二图标的显示状态时,调用sendmessage方法将所获取到的第二图标的显示状态通过activity传递给第一图标,activity表示的是直播页面,当第二图标的显示状态已知时,通过调用sendmessage(msg,target)方法将该第二图标的显示状态信息发送到activity中,其中msg表示的消息内容,为第二图标的显示状态信息,target表示的是消息接收的对象信息,为第一图标。这样activity就接收到第二图标发送过来的消息了,activity通过解析activity中的target找到目标对象,然后将该消息透传给第一图标,这样就完成了消息从第二图标转发到第一图标中的整个过程。

值得说明的是,第一图标与第二图标之间的通信还可以采用其他方式来实现。

当第一图标接收到第二图标的显示状态为开启时,将标记位hasrequest的值设置为true。标记位hasrequest是为了做同步处理使用的,hasrequest=true表示第一图标已经发送过请求或者第二图标是显示状态为开启,可以避免第二图标发送消息通知第一图标进行隐藏,而第一图标的请求后返回导致第一图标再次被显示出来的问题出现。标记位hasrequest的初始值为false,只有在已经发送了查询第一图标的显示状态的htttp请求或者接收到第二图标的显示状态为开启时,hasrequest的值才为true。

基于上述实施例,步骤s2中所述第一图标获知所述第二图标的显示状态为关闭的步骤进一步包括:

获取标记位hasrequest的值,若所述标记位hasrequest的值为false,则第一图标获知所述第二图标的显示状态为关闭。

当服务器返回的第一图标的显示状态为开启时,并不直接将第一图标在当前直播间内进行展示,而是只有获知了所述第二图标的显示状态为关闭时,才能将第一图标进行显示。获知第二图标的显示状态为关闭是根据标记位hasrequest=false确定的,因为当第二图标的显示状态为开启时,标记位hasrequest的值一定为true。不管第一图标获知第二图标的显示状态为关闭是在服务器返回的第一图标的显示状态为开启之前,还是之后,第一图标的显示都需要等待确认第二图标的显示状态为关闭时,才会被执行。

本发明实施例通过添加一个标记位,使得在http请求应答时间不确定的情形下,能够解决图标的互斥显示的同步问题,不至于使互斥显示出现逻辑紊乱,避免了出现图标重叠的问题。

如图2所示,为本发明另一实施例提供的一种直播间中图标互斥显示的实现装置的结构示意图,包括:显示状态获取模块21和互斥显示模块22,其中,

显示状态获取模块21,用于当用户进入直播间时,向服务器发送用于查询第一图标的显示状态的http请求,并判断是否接收到服务器推送的与所述第一图标存在互斥逻辑的第二图标的显示状态消息;

互斥显示模块22,用于若接收到的服务器返回的所述第一图标的显示状态为开启,且所述第一图标获知所述第二图标的显示状态为关闭,额在当前直播间内显示所述第一图标。

具体地,显示状态获取模块21用于当用户进入直播间时,向服务器发起查询显示状态的http请求,其中,所述http请求携带用户身份信息和第一图标的信息,服务器是根据用户身份信息获知是否需要向当前用户推广第一图标所表示的应用。并被动接收服务器推送的第二图标的显示状态消息,所述显示状态消息用于表示第二图标的展示与否。

http请求的返回时间是不确定的,因此,获知第一图标的显示状态与第二图标的显示状态的时间也是不确定的。如何确保正确的显示第一图标与第二图标,互斥显示模块用于,当第一图标需要被显示时,要确定第二图标的显示状态,只有当第二图标隐藏时,才能显示第一图标。即互斥显示模块22,在服务器返回的第一图标的显示状态为开启时,不能直接就将第一图标在当前直播间内进行显示,而是要确定第二图标的显示状态为隐藏之后,才将第二图标在当前直播间内显示出来,这样就可以避免出现第二图标被显示时,第一图标也被显示了出来,从而导致图标重叠的情形出现。

本发明实施例提出的一种直播间中图标互斥显示的实现装置,实现了两个图标之间的联动展示,可以有效解决互斥图标显示出现覆盖的问题,提升用户体验。

基于上述实施例,所述显示状态获取模块21还用于:

若在预设时间内没有接收到服务器推送的所述第二图标的显示状态消息,则向服务器发送用于查询第二图标的显示状态的http请求。

具体地,第二图标的展示与否是通过服务器中与第二图标相对应的服务(即用于实现第二图标所表示的业务逻辑)来进行推送的,也就是说第二图标的显示状态消息可能是在用户进入房间之前推送或用户刚好进入房间的时候推送或者进入房间之后一段时间才推送的。因此,如果在用户进入房间之前服务器就已经推送了第二图标的显示状态消息,此时第二图标的显示与否由于无法获取到已经推送的消息导致无法正常显示,为了解决该问题需要在用户进入房间时,所述显示状态获取模块21需对第二图标做一定的逻辑判断:

1)当用户进入房间时或者在用户进入房间后的预定时间段内,判断是否接收到了服务器推送的第二图标的显示状态消息;

2)若在用户进入房间后的预设时间段内没有收到服务器推送的状态显示消息,此时需要向服务器发送一个用于查询第二图标显示状态的查询接口,所述查询接口即http请求,所述http请求携带用户身份信息和第二图标的信息。

基于上述实施例,所述显示状态获取模块21还用于:

若接收到所述第二图标的显示状态消息或所述用于查询第二图标的显示状态的http请求的返回结果,则根据所述第二图标的显示状态消息或所述返回结果获取所述第二图标的显示状态,并在当前直播间内对所述第二图标进行相应的显示或隐藏。

具体地,第二图标的显示优先级高于第一图标,因此,不管在何时,显示状态获取模块21还用于若接收到所述第二图标的显示状态消息或所述用于查询第二图标的显示状态的http请求的返回结果,则根据所述显示状态消息的内容或所述返回结果的内容,获取所述第二图标的显示状态,若所述第二图标的显示状态为开启,则在当前直播间内对所述第二图标进行显示;若所述第二图标的显示状态为关闭,则在当前直播间内继续隐藏所述第二图标。

基于上述实施例,所述直播间中图标互斥显示的实现装置还包括:

显示状态传递模块,用于当获取到所述第二图标的显示状态时,调用sendmessage方法将所述第二图标的显示状态通过activity透传给第一图标;

设置模块,用于当第一图标接收到第二图标的显示状态为开启时,将标记位hasrequest的值设为true。

具体地,由于第一图标的展示与否严格依赖第二图标,因此,当显示状态传递模块获取到第二图标的显示状态时,需要将第二图标的显示状态通知给第一图标,以使第一图标获知第二图标显示与否。

第一图标与第二图标之间的通信可以通过activity来实现。当获取到所述第二图标的显示状态时,调用sendmessage方法将所获取到的第二图标的显示状态通过activity传递给第一图标,activity表示的是直播页面,当第二图标的显示状态已知时,通过调用sendmessage(msg,target)方法将该第二图标的显示状态信息发送到activity中,其中msg表示的消息内容,为第二图标的显示状态信息,target表示的是消息接收的对象信息,为第一图标。这样activity就接收到第二图标发送过来的消息了,activity通过解析activity中的target找到目标对象,然后将该消息透传给第一图标,这样就完成了消息从第二图标转发到第一图标中的整个过程。

当第一图标接收到第二图标的显示状态为开启时,设置模块将标记位hasrequest的值设置为true。标记位hasrequest是为了做同步处理使用的,hasrequest=true表示第一图标已经发送过请求或者第二图标是显示状态为开启,避免第二图标发送消息通知第一图标进行隐藏,而第一图标的请求后返回导致第一图标再次被显示出来的问题出现。标记位hasrequest的初始值为false,只有在已经发送了查询第一图标的显示状态的htttp请求或者接收到第二图标的显示状态为开启时,hasrequest的值才为true。

基于上述实施例,所述互斥显示模块具体用于:

获取标记位hasrequest的值,若所述标记位hasrequest的值为false,则第一图标获知所述第二图标的显示状态为隐藏。

当服务器返回的第一图标的显示状态为开启时,并不直接将第一图标在当前直播间内进行展示,而是只有互斥显示模块获知了所述第二图标的显示状态为关闭时,才能将第一图标进行显示。获知第二图标的显示状态为关闭是根据标记位hasrequest=false确定的,因为当第二图标的显示状态为开启时,标记位hasrequest的值一定为true。不管第一图标获知第二图标的显示状态为关闭是在服务器返回的第一图标的显示状态为开启之前,还是之后,第一图标的显示都需要等待确认第二图标的显示状态为关闭时,才会被执行。

本发明提出的一种直播间中图标互斥显示的实现方法及装置,实现了两个图标之间的联动展示,可以有效解决互斥图标显示出现覆盖的问题,提升用户体验。

最后,本发明的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1