一种消息推送方法和装置的制造方法
【技术领域】
[0001]本发明涉及互联网技术领域,尤其涉及一种消息推送方法和装置。
【背景技术】
[0002]随着互联网技术的飞速发展,人们生活中会使用到越来越多的客户端用以获取互联网服务,而针对不同版本号、不同机型适配、不同语言适配会推出很多不同版本的客户端,这些不同版本的客户端支持的读取能力不一样,有的支持视频功能,有的版本不支持,有的支持文件传输,有的不支持,有的支持语音通话,有的不支持。面对日益繁多的客户端版本以及各种客户端的历史版本,当接收到不能支持的消息类型时,或者无法展示,或者导致客户端出错自动关闭或停止运行,甚至造成操作系统的崩溃,严重影响客户端的正常使用。
【发明内容】
[0003]本发明实施例所要解决的技术问题在于,提供一种消息推送方法和装置,可对向客户端推送经过版本兼容处理的目标消息,确保客户端能够对接收到的消息进行正常处理。
[0004]为了解决上述技术问题,本发明实施例提供了一种消息推送方法,所述方法包括:
[0005]在向客户端推送目标消息之前,获取所述客户端的版本标识信息;
[0006]根据所述版本标识信息获取所述客户端的消息读取能力;
[0007]根据所述客户端的消息读取能力判断所述客户端是否支持读取所述目标消息;
[0008]若判断所述客户端不支持读取所述目标消息,则对所述目标消息进行版本兼容处理;
[0009]向所述客户端推送经过版本兼容处理的目标消息。
[0010]相应地,本发明实施例还提供了一种消息推送装置,包括:
[0011]版本标识获取模块,用于在向客户端推送目标消息之前,获取所述客户端的版本标识信息;
[0012]读取能力获取模块,用于根据所述版本标识信息获取所述客户端的消息读取能力;
[0013]读取能力判断模块,用于根据所述客户端的消息读取能力判断所述客户端是否支持读取所述目标消息;
[0014]版本兼容处理模块,用于若读取能力判断模块判断所述客户端不支持读取所述目标消息,则对所述目标消息进行版本兼容处理;
[0015]消息推送模块,用于向所述客户端推送经过版本兼容处理的目标消息。
[0016]本发明实施例通过在发送目标消息前先获取目标客户端的的消息读取能力,在判断客户端不支持读取所述目标消息时对目标消息进行版本兼容处理,从而可以确保客户端能够对接收到的消息进行成功处理,避免发生报错或客户端中止工作等情况。
【附图说明】
[0017]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1是本发明实施例中的一种消息推送方法的流程示意图;
[0019]图2是本发明另一实施例中的消息推送方法的流程示意图;
[0020]图3是本发明另一实施例中的消息推送方法的流程示意图;
[0021]图4是本发明实施例中的一种消息推送装置的结构示意图;
[0022]图5是本发明实施例中消息推送装置的读取能力判断模块的结构示意图;
[0023]图6是本发明实施例中消息推送装置的版本兼容处理模块的结构示意图;
[0024]图7是本发明实施例中的客户端的消息读取能力的一种表现形式。
【具体实施方式】
[0025]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0026]本发明实施例中的消息推送方法可以由消息推送装置实施,例如消息推送服务器或其他可以向客户端推送消息的网络单元执行,例如另一个客户端、或网络消息转发装置等。示例性的,本发明实施例中的消息推送装置可以为即时通讯服务器、应用后台服务器、网页服务器或SNS (Social Networking Services,即社会性网络服务)服务器等,可以为单独的服务器设备,也可以由多个实现具体功能的服务器设备组成的服务器集群。
[0027]图1是本发明实施例中的一种消息推送方法的流程示意图,如图所示本实施例中的消息推送方法可以包括:
[0028]S101,在向客户端推送目标消息之前,获取所述客户端的版本标识信息。
[0029]所述目标消息可以为即时通讯消息、应用事件消息、系统消息、SNS消息或网页消息等。具体的,消息推送装置在确定需要向客户端推送目标消息后,首先通过执行本实施例中的S101?S103判断客户端是否支持读取所述目标消息。所述客户端的版本标识信息可以包括平台类型(如android版、1s版、windows版)、语言类型(中文版、英文版、日文版)、主打功能类型(例如轻聊版、实时对讲版、标准版)以及版本号(如1.0、2.0、3.0)中的任一种。
[0030]在可选实施例中,消息推送装置可以通过获取所述客户端的登录状态信息从而获取所述客户端的版本标识信息,所述登录状态信息可以为所述客户端在登录时或登录后的任意时刻上报的,可以包括所述客户端的登录账号、在线状态以及版本标识信息等。在可选实施例中,可以由登录状态管理服务器负责管理各个用户对应的客户端的登录状态信息,当消息推送装置需要时可以从所述登录状态管理服务器获取到对应客户端的登录状态信息。
[0031]S102,根据所述版本标识信息获取所述客户端的消息读取能力。
[0032]具体的,可以在推出各个版本的客户端时,记录下每个版本客户端的消息读取能力以及该版本的版本标识信息,从而建立版本标识信息和该版本客户端的消息读取能力之间的对应关系,消息推送装置在向客户端推送目标消息之前,可以根据获取到的版本标识信息在该预设的版本标识信息和该版本客户端的消息读取能力之间的对应关系中查找与获取到的版本标识信息对应的该版本客户端消息读取能力。示例性的某个版本客户端的消息读取能力可以如图7所示,包括该版本客户端支持的至少一种读取能力,图中勾选了的表示该版本客户端支持该读取能力。
[0033]在可选实施例中,可以由版本能力管理服务器负责管理各个版本客户端的消息读取能力,当消息推送装置需要时可以根据获取到的版本标识信息从所述版本能力管理服务器获取所述客户端的消息读取能力。
[0034]S103,根据所述客户端的消息读取能力判断所述客户端是否支持读取所述目标消息。
[0035]即根据所述客户端的消息读取能力判断所述客户端是否能够展示所述目标消息。如所述目标消息为语音消息,若消息推送装置根据所述客户端的消息读取能力确定所述客户端支持播放语音消息,则确定所述客户端支持读取所述目标消息,反之则确定所述客户端不支持读取所述目标消息。
[0036]在可选实施例中,消息推送装置可以首先获取所述目标消息的消息类型,进而根据预设的消息类型与其所需的读取能力之间的对应关系,获取所述目标消息所需对应的至少一个读取能力,然后判断所述客户端的消息读取能力中是否包括所述目标消息所需对应的所有读取能力,若是则确定所述客户端支持读取所述目标消息,否则确定所述客户端不支持读取所述目标消息。在该实施例中,开发人员可以在每定义一种新的消息类型时,即随之定义或设置客户端为了展示该类型的消息所需要支持的读取能力,从而消息推送装置可以在需要时获取到不同消息类型所需的读取能力。
[0037]S104,若判断所述客户端不支持读取所述目标消息,则对所述目标消息进行版本兼容处理。
[0038]具体实现中,消息推送装置可以将所述目标消息转化为特定格式的消息类型,特定格式的消息类型
可以例如文本消息或确定所述客户端能够支持的消息类型,也可以根据所述目标消息的类型或内容生成一个通知消息作为经过版本兼容处理后的目标消息,例如目标消息为语音消息,若客户端不支持对应的读取能力,则消息推送装置可以生成一条文字消息“好友AA向您发送了一条语音消息,由于您客户端当前版本不支持未能成功接收”;又例如所述目标消息为视频分享消息,其携带目标视频数据或可以唤起接收方客户端的视频播放功能播放指定视频数据,若客户端不支持对应的读取能力,则消息推送装置可以生成一条文字消息,携带所述指定视频数据的访问链接或地址,让客户端接收后可以根据所述访问链接或地址通过其他方式播放指定视频数据。
[0039]S105,向所述客户端推送经过版本兼容处理的目标消息。
[0040]本发明实施例通过在发送目标消息前先获取目标客户端的的消息读取能力,在判断客户端不支持读取所述目标消息时对目标消息进行版本兼容处理,从而可以确保客户端能够对接收到的消息进行成功处理,避免发生报错或客户端中止工作等情况。
[0041]图2是本发明另一实施例中的消息推送方法的流程示意图,如图所示本实施例中的消息推送方法可以包括:
[0042]S201,获取所述客户端的登录状态信息,所述登录状态信息包括所述客户端的登录账号、在线状态以及版本标识信息。
[0043]所述登录状态信息可以为所述客户端在登录时或登录后的任意时刻上报的,可以包括所述客户端的登录账号、在线状态以及版本标识信息等。在可选实施例中,可以由登录状态管理服务器负责管理各个用户对应的客户端的登录状态信息,当消息推送装置需要时可以从所述登录状态管理服务器获取到对应客户端的登录状态信息。具体的,消息推送装置在确定需要向客户端推送目标消息后,首先获取所述客户端的登录状态信息用以判断客户端是否支持读取所述目标消息。在可选实施例中,消息推送装置可以首先根据所述客户端预先设置的消息过滤或屏蔽规则,判断是否需要为客户端对所述目标消息进行消息过滤或屏蔽处理,在确认需要向客户端推送目标消息后,方执行本实施例中的消息推送方法流程。
[0044]S202,根据所述版本标识信息获取所述客户端的消息读取能力,所述消息读取能力包括所述客户端支持的至少一种读取能力。
[0045]具体的,可以在推出各个版本的客户端时,记录下每个版本客户端的消息读取能力以及该版本的版本标识信息,从而建立版本标识信息和该版本客户端的消息读取能力之间的对应关系,消息推送装置在向客户端推送目标消息之前,可以根据获取到的版本标识信息在该预设的版本标识信息和该版本客户端的消息读取能力之间的对应关系中查找与获取到的版本标识信息对应的该版本客户端消息读取能力。示例性的某个版本客户端的消息读取能力可以如图7所示,图中勾选了的表示该版本客户端支持该读取能力。
[0046]在可选实施例中,可以由版本能力管理服务器负责管理各个版本客户端的消息读取能力,当消息推送装置需要时可以根据获取到的版本标识信息从所述版本能力管理服务器获取所述客户端的消息读取能力。
[0047]S203,获取所述目标消息的消息类型。
[0048]所述消息类型可以包括文本消息、语音消息、视频消息、富文本消息或携带特定消息格式的上述消息中的任一种,如带有消息尾巴的文本消息,带有用户签名信息(照片或文字内容)的富文本消息等。
[0049]示例性的,消息推送装置可以根据所述目标消息所携带的消息类型标识确定所述目标消息的消息类型。
[0050]S204,根据预设的消息类型与其所需的读取能力之间的对应关系,获取所述目标消息所需对应的至少一个读取能力。
[0051]在该实施例中,开发人员可以预先在每定义一种新的消息类型时,即随之定义或设置客户端为了展示该类型的消息所需要支持的读取能力,从而消息推送装置可以在需要时获取到不同消息类型所需的读取能力。
[0052]S205,判断所述客户端的消息读取能力中是否包括所述目标消息所需对应的所有读取能力。若是则为S209,否则为S206。
[0053]S206,确定客户端不支持读取所述目标消息。
[0054]S207,对所述目标消息进行版本兼容处理。
[0055]具体实现中,消息推送装置可以将所述目标消息转化为特定格式的消息类型,特定格式的消息类型可以例如文本消息或确定所述客户端能够支持的消息类型,也可以根据所述目标消息的类型或内容生成一个通知消息作为经过版本兼容处理后的目标消息,例如目标消息为语音消息,若客户端不支持对应的读取能力,则消息推送装置可以生成一条文字消息“好友AA向您发送了一条语音消息,由于您客户端当前版本不支持未能成功接收”;又例如所述目标消息为视频分享消息,其携带目标视频数据或可以唤起接收方客户端的视频播放功能播放指定视频数据,若客户端不支持对应的读取能力,则消息推送装置可以生成一条文字消息,携带所述指定视频数据的访问链接或地址,让客户端接收后可以根据所述访问链接或地址通过其他方式播放指定视频数据。
[0056]在可选实施例中,消息推送装置可以根据所述客户端的消息读取能力和预设的消息类型与其所需的读取能力之间的对应关系,确定所述客户端支持的消息类型,进而将所述目标消息转化为所述客户端支持的消息类型。例如所述客户端的消息读取能力中包其支持的读取能力A、读取能力B和读取能力C,进而根据预设的消息类型与其所需的读取能力之间的对应关系,发现语音消息所需的读取能力为读取能力A、读取能力B和读取能力C,则确定所述客户端支持语音消息这一消息类型,那么消息推送装置可以在客户端不支持目标消息的消息类型时,将目标消息转化为语音消息,如目标消息原本为视频消息,则可以从视频消息中提取出语音数据,转化后的目标消息即为携带所述提取得到的语音数据的语音消息。
[0057]S208,向所述客户端推送经过版本兼容处理的目标消息。
[0058]S209,确定客户端支持读取所述目标消息。
[0059]S210,向所述客户端推送所述目标消息。即直接向客户端推送所述目标消息。
[0060]本发明实施例通过在发送目标消息前先获取目标客户端的的消息读取能力,在判断客户端不支持读取所述目标消息时对目标消息进行版本兼容处理,从而可以确保客户端能够对接收到的消息进行成功处理,避免发生报错或客户端中止工作等情况。
[0061]图3是本发明另一实施例中的消息推送方法的流程示意图,如图所示本实施例中的消息推送方法可以包括:
[0062]S301,获取所述客户端的登录状态信息,所述登录状态信息包括所述客户端的登录账号、在线状态以及版本标识信息。
[0063]所述登录状态信息可以为所述客户端在登录时或登录后的任意时刻上报的,可以包括所述客户端的登录账号、在线状态以及版本标识信息等。在可选实施例中,可以由登录状态管理服务器负责管理各个用户对应的客户端的登录状态信息,当消息推送装置需要时可以从所述登录状态管理服务器获取到对应客户端的登录状态信息。具体的,消息推送装置在确定需要向客户端推送目标消息后,首先获取所述客户端的登录状态信息用以判断客户端是否支持读取所述目标消息。在可选实施例中,消息推送装置可以首先根据所述客户端预先设置的消息过滤或屏蔽规则,判断是否需要为客户端对所述目标消息进行消息过滤或屏蔽处理,在确认需要向客户端推送目标消息后,方执行本实施例中的消息推送方法流程。
[0064]S302,根据所述版本标识信息获取所述客户端的消息读取能力,所述消息读取能力包括所述客户端支持的至少一种读取能力。
[0065]具体的,可以在推出各个版本的客户端时,记录下每个版本客户端的消息读取能力以及该版本的版本标识信息,从而建立版本标识信息和该版本客户端的消息读取能力之间的对应关系,消息推送装置在向客户端推送目标消息之前,可以根据获取到的版本标识信息在该预设的版本标识信息和该版本客户端的消息读取能力之间的对应关系中查找与获取到的版本标识信息对应的该版本客户端消息读取能力。
示例性的某个版本客户端的消息读取能力可以如图7所示,图中勾选了的表示该版本客户端支持该读取能力。
[0066]在可选实施例中,可以由版本能力管理服务器负责管理各个版本客户端的消息读取能力,当消息推送装置需要时可以根据获取到的版本标识信息从所述版本能力管理服务器获取所述客户端的消息读取能力。
[0067]S303,获取所述目标消息的消息类型。
[0068]所述消息类型可以包括文本消息、语音消息、视频消息、富文本消息或携带特定消息格式的上述消息中的任一种,如带有消息尾巴的文本消息,带有用户签名信息(照片或文字内容)的富文本消息等。
[0069]示例性的,消息推送装置可以根据所述目标消息所携带的消息类型标识确定所述目标消息的消息类型。
[0070]S304,根据预设的消息类型与其所需的读取能力之间的对应关系,获取所述目标消息所需对应的至少一个读取能力。
[0071]在该实施例中,开发人员可以预先在每定义一种新的消息类型时,即随之定义或设置客户端为了展示该类型的消息所需要支持的读取能力,从而消息推送装置可以在需要时获取到不同消息类型所需的读取能力。
[0072]S305,确定所述客户端的消息读取能力中未包括所述目标消息所需对应的所有读取能力。
[0073]S306,确定所述客户端不支持读取所述目标消息
[0074]S307,根据预设的消息类型与其所需的读取能力之间的对应关系,确定所述客户端支持的消息类型。
[0075]具体的,消息推送装置可以根据所述客户端的消息读取能力和预设的消息类型与其所需的读取能力之间的对应关系,确定所述客户端支持的消息类型,例如所述客户端的消息读取能力中包其支持的读取能力A、读取能力B和读取能力C,进而根据预设的消息类型与其所需的读取能力之间的对应关系,发现语音消息所需的读取能力为读取能力A、读取能力B和读取能力C,则确定所述客户端支持语音消息这一消息类型,进而可以根据上述判断方法得到所述客户端支持的所有消息类型。
[0076]S308,将所述目标消息转化为所述客户端支持的消息类型。
[0077]消息推送装置可以在确定所述客户端支持的消息类型后,将所述目标消息转化为所述客户端支持的消息类型,例如确定所述客户端支持文本消息,则将目标消息转化为文本消息。进而在可选实施例中,可以预先设定各个消息类型的可选替代类型,还可以设定多个可选替代类型的优先级,例如视频消息的可选替代类型为语音消息和文本消息,并且语音消息的优先级要高于文本消息,若确定客户端当前不支持视频消息,但支持语音消息和文本消息,那么消息推送装置可以在确定需要向该客户端推送消息类型为视频消息的目标消息时,根据优先级将目标消息转化为语音消息,例如可以从视频消息中提取出语音数据,转化后的目标消息即为携带所述提取得到的语音数据的语音消息。
[0078]S309,向所述客户端推送经过转化的目标消息。
[0079]本发明实施例通过在发送目标消息前先获取目标客户端的的消息读取能力,在判断客户端不支持读取所述目标消息时对目标消息进行版本兼容处理,从而可以确保客户端能够对接收到的消息进行成功处理,避免发生报错或客户端中止工作等情况。
[0080]图4是本发明实施例中的一种消息推送装置的结构示意图,如图所示本发明实施例中的消息推送装置至少可以包括:
[0081]版本标识获取模块410,用于在向客户端推送目标消息之前,获取所述客户端的版本标识信息。
[0082]所述目标消息可以为即时通讯消息、应用事件消息、系统消息、SNS消息或网页消息等。所述客户端的版本标识信息可以包括平台类型(如android版、1s版、windows版)、语言类型(中文版、英文版、日文版)、主打功能类型(例如轻聊版、实时对讲版、标准版)以及版本号(如1.0、2.0、3.0)中的任一种。
[0083]在可选实施例中,版本标识获取模块410可以通过获取所述客户端的登录状态信息从而获取所述客户端的版本标识信息,所述登录状态信息可以为所述客户端在登录时或登录后的任意时刻上报的,可以包括所述客户端的登录账号、在线状态以及版本标识信息等。在可选实施例中,可以由登录状态管理服务器负责管理各个用户对应的客户端的登录状态信息,版本标识获取模块410从所述登录状态管理服务器获取到对应客户端的登录状态?目息Ο
[0084]读取能力获取模块420,用于根据所述版本标识信息获取所述客户端的消息读取能力。
[0085]具体的,可以在推出各个版本的客户端时,记录下每个版本客户端的消息读取能力以及该版本的版本标识信息,从而建立版本标识信息和该版本客户端的消息读取能力之间的对应关系,读取能力获取模块420可以根据获取到的版本标识信息在该预设的版本标识信息和该版本客户端的消息读取能力之间的对应关系中查找与获取到的版本标识信息对应的该版本客户端消息读取能力。示例性的某个版本客户端的消息读取能力可以如图7所示,包括该版本客户端支持的至少一种读取能力,图中勾选了的表示该版本客户端支持该读取能力。
[0086]在可选实施例中,可以由版本能力管理服务器负责管理各个版本客户端的消息读取能力,读取能力获取模块420可以根据获取到的版本标识信息从所述版本能力管理服务器获取所述客户端的消息读取能力。
[0087]读取能力判断模块430,用于根据所述客户端的消息读取能力判断所述客户端是否支持读取所述目标消息。
[0088]即根据所述客户端的消息读取能力判断所述客户端是否能够展示所述目标消息。如所述目标消息为语音消息,若根据所述客户端的消息读取能力确定所述客户端支持播放语音消息,则读取能力判断模块430确定所述客户端支持读取所述目标消息,反之则确定所述客户端不支持读取所述目标消息。
[0089]进而在可选实施例中,读取能力判断模块430进一步可以包括:
[0090]消息类型获取单元431,用于获取所述目标消息的消息类型。
[0091 ] 所述消息类型可以包括文本消息、语音消息、视频消息、富文本消息或携带特定消息格式的上述消息中的任一种,如带有消息尾巴的文本消息,带有用户签名信息(照片或文字内容)的富文本消息等。
[0092]示例性的,消息类型获取单元431可以根据所述目标消息所携带的消息类型标识确定所述目标消息的消息类型。
[0093]读取能力获取单元432,用于根据预设的消息类型与其所需的读取能力之间的对应关系,获取所述目标消息所需对应的至少一个读取能力;
[0094]在该实施例中,开发人员可以预先在每定义一种新的消息类型时,即随之定义或设置客户端为了展示该类型的消息所需要支持的读取能力,读取能力获取单元432从而可以在需要时获取到不同消息类型所需的读取能力。
[0095]读取能力判断单元433,用于判断所述客户端的消息读取能力中是否包括所述目标消息所需对应的所有读取能力,若是则确定所述客户端支持读取所述目标消息,否则确定所述客户端不支持读取所述目标消息。
[0096]版本兼容处理模块440,用于若读取能力判断模块判断所述客户端不支持读取所述目标消息,则对所述目标消息进行版本兼容处理。
[0097]具体实现中,版本兼容处理模块440可以将所述目标消息转化为特定格式的消息类型,特定格式的消息类型可以例如文本消息或确定所述客户端能够支持的消息类型,也可以根据所述目标消息的类型或内容生成一个通知消息作为经过版本兼容处理后的目标消息,例如目标消息为语音消息,若客户端不支持对应的读取能力,则版本兼容处理模块440将其转化为一条文字消息“好友AA向您发送了一条语音消息,由于您客户端当前版本不支持未能成功接收”;又例如所述目标消息为视频分享消息,其携带目标视频数据或可以唤起接收方客户端的视频播放功能播放指定视频数据,若客户端不支持对应的读取能力,则版本兼容处理模块440可以生成一条文字消息,携带所述指定视频数据的访问链接或地址,让客户端接
收后可以根据所述访问链接或地址通过其他方式播放指定视频数据。
[0098]在可选实施例中,版本兼容处理模块440如图6所示进一步可以包括:
[0099]消息类型获取单元441,用于根据所述客户端的消息读取能力和预设的消息类型与其所需的读取能力之间的对应关系,确定所述客户端支持的消息类型。
[0100]例如所述客户端的消息读取能力中包其支持的读取能力A、读取能力B和读取能力C,进而根据预设的消息类型与其所需的读取能力之间的对应关系,确定语音消息所需的读取能力为读取能力A、读取能力B和读取能力C,则消息类型获取单元441可以确定所述客户端支持语音消息这一消息类型,进而可以根据上述判断方法得到所述客户端支持的所有消息类型。
[0101]消息转化单元442,用于将所述目标消息转化为所述客户端支持的消息类型。
[0102]消息转化单元442可以在确定所述客户端支持的消息类型后,将所述目标消息转化为所述客户端支持的消息类型,例如确定所述客户端支持文本消息,则将目标消息转化为文本消息。进而在可选实施例中,可以预先设定各个消息类型的可选替代类型,还可以设定多个可选替代类型的优先级,例如视频消息的可选替代类型为语音消息和文本消息,并且语音消息的优先级要高于文本消息,若确定客户端当前不支持视频消息,但支持语音消息和文本消息,那么消息转化单元442可以在确定需要向该客户端推送消息类型为视频消息的目标消息时,根据优先级将目标消息转化为语音消息,例如可以从视频消息中提取出语音数据,转化后的目标消息即为携带所述提取得到的语音数据的语音消息。
[0103]消息推送模块450,用于向所述客户端推送经过版本兼容处理的目标消息。
[0104]本发明实施例的消息推送装置通过在发送目标消息前先获取目标客户端的的消息读取能力,在判断客户端不支持读取所述目标消息时对目标消息进行版本兼容处理,从而可以确保客户端能够对接收到的消息进行成功处理,避免发生报错或客户端中止工作等情况。
[0105]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0106]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【主权项】
1.一种消息推送方法,其特征在于,所述方法包括: 在向客户端推送目标消息之前,获取所述客户端的版本标识信息; 根据所述版本标识信息获取所述客户端的消息读取能力; 根据所述客户端的消息读取能力判断所述客户端是否支持读取所述目标消息; 若所述客户端不支持读取所述目标消息,则对所述目标消息进行版本兼容处理; 向所述客户端推送经过版本兼容处理的目标消息。2.如权利要求1所述的消息推送方法,其特征在于,所述对所述目标消息进行版本兼容处理包括: 根据所述客户端的消息读取能力将所述目标消息转化为所述客户端支持的消息类型。3.如权利要求2所述的消息推送方法,其特征在于,所述消息读取能力包括所述客户端支持的至少一种读取能力; 所述根据所述客户端的消息读取能力将所述目标消息转化为所述客户端支持的消息类型包括: 根据所述客户端的消息读取能力和预设的消息类型与其所需的读取能力之间的对应关系,确定所述客户端支持的消息类型; 将所述目标消息转化为所述客户端支持的消息类型。4.如权利要求1所述的消息推送方法,其特征在于,所述获取所述客户端的版本标识信息包括: 获取所述客户端的登录状态信息,所述登录状态信息包括所述客户端的登录账号、在线状态以及版本标识信息。5.如权利要求1所述的消息推送方法,其特征在于,所述消息读取能力包括所述客户端支持的至少一种读取能力; 所述根据所述客户端的消息读取能力判断所述客户端是否支持读取所述目标消息包括: 获取所述目标消息的消息类型; 根据预设的消息类型与其所需的读取能力之间的对应关系,获取所述目标消息所需对应的至少一个读取能力; 判断所述客户端的消息读取能力中是否包括所述目标消息所需对应的所有读取能力,若是则确定所述客户端支持读取所述目标消息,否则确定所述客户端不支持读取所述目标消息。6.如权利要求1所述的消息推送方法,其特征在于,所述对所述目标消息进行版本兼容处理包括: 将所述目标消息转化为文本消息。7.如权利要求1?6中任一项所述的消息推送方法,其特征在于,所述客户端的版本标识信息包括平台类型、语言类型、主打功能类型以及版本号中的任一种。8.一种消息推送装置,其特征在于,包括: 版本标识获取模块,用于在向客户端推送目标消息之前,获取所述客户端的版本标识信息; 读取能力获取模块,用于根据所述版本标识信息获取所述客户端的消息读取能力; 读取能力判断模块,用于根据所述客户端的消息读取能力判断所述客户端是否支持读取所述目标消息; 版本兼容处理模块,用于若读取能力判断模块判断所述客户端不支持读取所述目标消息,则对所述目标消息进行版本兼容处理; 消息推送模块,用于向所述客户端推送经过版本兼容处理的目标消息。9.如权利要求8所述的消息推送装置,其特征在于,所述消息读取能力包括所述客户端支持的至少一种读取能力; 所述读取能力判断模块包括: 消息类型获取单元,用于获取所述目标消息的消息类型; 读取能力获取单元,用于根据预设的消息类型与其所需的读取能力之间的对应关系,获取所述目标消息所需对应的至少一个读取能力; 读取能力判断单元,用于判断所述客户端的消息读取能力中是否包括所述目标消息所需对应的所有读取能力,若是则确定所述客户端支持读取所述目标消息,否则确定所述客户端不支持读取所述目标消息。10.如权利要求8所述的消息推送装置,其特征在于,所述版本兼容处理模块用于: 根据所述客户端的消息读取能力将所述目标消息转化为所述客户端支持的消息类型。11.如权利要求10所述的消息推送装置,其特征在于,所述消息读取能力包括所述客户端支持的至少一种读取能力; 所述版本兼容处理模块包括: 消息类型获取单元,用于根据所述客户端的消息读取能力和预设的消息类型与其所需的读取能力之间的对应关系,确定所述客户端支持的消息类型; 消息转化单元,用于将所述目标消息转化为所述客户端支持的消息类型。12.如权利要求8所述的消息推送装置,其特征在于,所述版本标识获取模块用于: 获取所述客户端的登录状态信息,所述登录状态信息包括所述客户端的登录账号、在线状态以及版本标识信息。13.如权利要求8所述的消息推送装置,其特征在于,所述版本兼容处理模块用于: 将所述目标消息转化为文本消息。14.如权利要求8?13中任一项所述的消息推送装置,其特征在于,所述客户端的版本标识信息包括平台类型、语言类型、主打功能类型以及版本号中的任一种。
【专利摘要】本发明实施例公开了一种消息推送方法,所述方法包括:在向客户端推送目标消息之前,获取所述客户端的版本标识信息;根据所述版本标识信息获取所述客户端的消息读取能力;根据所述客户端的消息读取能力判断所述客户端是否支持读取所述目标消息;若判断所述客户端不支持读取所述目标消息,则对所述目标消息进行版本兼容处理;向所述客户端推送经过版本兼容处理的目标消息。本发明实施例还公开了一种消息推送装置。采用本发明,可以向客户端发送目标消息时进行版本兼容处理,确保客户端能够对接收到的消息进行成功处理。
【IPC分类】H04L29/08
【公开号】CN105491092
【申请号】CN201410480113
【发明人】王军, 杨超
【申请人】腾讯科技(深圳)有限公司
【公开日】2016年4月13日
【申请日】2014年9月18日