CN105871981A - 一种推送服务实现方法、装置、终端设备及系统 - Google Patents
一种推送服务实现方法、装置、终端设备及系统 Download PDFInfo
- Publication number
- CN105871981A CN105871981A CN201510864025.0A CN201510864025A CN105871981A CN 105871981 A CN105871981 A CN 105871981A CN 201510864025 A CN201510864025 A CN 201510864025A CN 105871981 A CN105871981 A CN 105871981A
- Authority
- CN
- China
- Prior art keywords
- push
- message
- push service
- service
- application
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1073—Registration or de-registration
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/4061—Push-to services, e.g. push-to-talk or push-to-video
Abstract
本发明提供一种推送服务实现方法、装置、终端设备及系统。本发明推送服务实现方法,包括:推送服务创建与推送服务器的长连接;所述推送服务保存所述终端设备中多个需要接收推送消息的应用的注册信息;所述推送服务通过所述长连接接收到所述推送服务器推送给应用的消息后,根据保存的所述应用的注册信息,将所述消息发送至相应的应用。本发明通过创建和维持与服务器之间的唯一的长连接,所有的推送消息统一由这条连接与推送服务器通讯,解决了现有技术中终端设备需要维护多条与推送服务器的长连接,对终端设备功耗和对推送服务器造成巨大压力的问题。
Description
技术领域
本发明涉及通讯技术领域,尤其涉及一种推送服务实现方法、装置、终端设备及系统。
背景技术
当前的移动终端设备或智能终端设备为了更加地人性化,往往会记录用户的动作、爱好等内容,然后根据用户不同的动作、爱好推送一些不同的内容,另外也会推送一些用户关心内容或者商户广告,这就不可避免使用推送服务。
为了保持推送的及时性和稳定性,客户端(Client)需要与服务端(Server)保持长连接。所述的长连接是指,在一个连接上可以连续发送多个数据包的连接,在该连接保持期间,如果没有数据包发送,需要双方发链路检测包,也就是说虽然没有数据包发送,也不会断开该连接。
现在市面主流的app(应用)及推送sdk(Software Development Kit,软件开发工具包)都采用单app单连接的方式,即每个app都需要单独维护一条与推送服务器的长连接,例如,QQ维护与QQ服务器的长连接,微信维护与微信服务器的长连接等等。
然而,上述在前方案存在如下不足:采用这种单app单连接的方式,由于长连接是长久保持的,所以如果需要推送消息的话必须时刻保持该连接可用,这样,对于一些推送频率不是很高的应用,也必须维护着这条连接,因而增加了终端设备的功耗;另一方面,一台终端设备有可能有多个app都连接至同一推送服务器,那么服务器的压力也会相应地增大。
发明内容
本发明提供一种推送服务实现方法,以解决现有方案中终端设备需要维护多条与推送服务器的长连接,从而对终端设备功耗和对推送服务器造成巨大压力的问题。
本发明提供一种推送服务实现方法,在终端设备中创建推送服务,该方法包括:
推送服务创建与推送服务器的长连接;
所述推送服务保存所述终端设备中多个需要接收推送消息的应用的注册信息;
所述推送服务通过所述长连接接收到所述推送服务器推送给应用的消息后,根据保存的所述应用的注册信息,将所述消息发送至相应的应用。
进一步地,可以在终端设备中内置推送服务客户端,由该推送服务客户端创建推送服务。
此外,还可以通过推送sdk在终端设备中创建推送服务,首先检测所述终端设备中是否存在推送服务客户端,如果检测到,则使用所述推送服务客户端创建的推送服务;如果没有检测到推送服务客户端,则再检测所述终端设备中是否存在正在运行的维护长连接的推送服务,如果没有检测到,则通过推送sdk自行创建推送服务。
进一步地,所述方法还包括:每隔10分钟检测一次维护长连接的推送服务是否还存活,如果已经被杀掉,则重新启动推送服务维护长连接。
进一步地,所述方法还包括:检测系统卸载广播,这样,当应用被卸载时,可以收到相应广播,如果发现被卸载的app为维护长连接的app,则在终端设备中重新创建推送服务。
进一步地,所述方法还包括:推送服务接收到应用上传的消息后,根据保存的所述应用的注册信息,将所述消息上传至推送服务器,并在上传的消息中包含应用的注册信息。
本发明提供的上述方案中,通过推送服务(下文中也称作service)这一独立的系统服务,创建并维护与推送服务器的长连接;然后终端设备中的所有需要接收推送消息的app均可共享这一长连接;推送服务从该长连接接收到推送服务器发送给app的推送消息时,根据预先保存的app的注册信息,将该推送消息发送给相应的app。
与现有技术相比,本发明通过service与服务器之间创建的唯一的长连接,所有的推送消息统一由这条连接与服务器通讯,如此,服务器的压力就会极大地减轻,同时,由于所有app均可共享这一长连接,而无需每个app与推送服务器之间单独创建长连接,因而对终端设备的功耗影响也大大降低。
与上述推送服务实现方法相对应,本发明还提供一种推送服务实现装置,该装置包括推送服务客户端,所述推送服务客户端包括:
第一连接模块,用于创建推送服务,以创建并维护与推送服务器的长连接,以及,与多个需要接收推送消息的应用通讯;
第一注册模块,用于保存所述多个需要接收推送消息的应用的注册信息;
第一收发模块,用于接收所述推送服务器推送给应用的消息;并根据所述第一注册模块保存的所述应用的注册信息,将接收到的所述推送服务器推送给应用的消息发送至相应的应用。
本发明还提供一种推送服务实现装置,该装置包括推送sdk,所述推送sdk包括:
启用模块,用于检测所述终端设备中是否存在正在运行的维护长连接的推送服务,如果未能检测到,则启用第二连接模块;
第二连接模块,用于创建推送服务,以创建并维护与推送服务器的长连接,以及,与多个需要接收推送消息的应用通讯;
第二注册模块,用于保存所述多个需要接收推送消息的应用的注册信息;
第二收发模块,用于接收所述推送服务器推送给应用的消息;并根据所述第二注册模块保存的所述应用的注册信息,将接收到的所述推送服务器推送给应用的消息发送至相应的应用。
所述启用模块还用于,在检测所述终端设备中是否存在正在运行的维护长连接的推送服务之前,先检测所述终端设备中是否存在推送服务客户端:
如果检测到所述终端设备中存在推送服务客户端,则请求启用所述第一连接模块创建并维护的长连接;
如果未能检测到所述终端设备中存在推送服务客户端,则再检测所述终端设备中是否存在正在运行的维护长连接的推送服务。
进一步地,所述启用模块用于,通过检测系统中是否存在推送服务客户端的应用,来检测所述终端设备中是否存在推送服务客户端;
通过获取运行中服务列表,匹配服务名称是否为运行维护长连接的推送服务,来检测所述终端设备中是否存在正在运行的维护长连接的推送服务。
进一步地,所述启用模块还用于,定期检测维护长连接的推送服务是否还存活,如果已经被杀掉,则重新请求启用所述第一连接模块;或者,重新请求启用所述第二连接模块。
进一步地,所述启用模块还用于,检测系统卸载广播,如果发现维护长连接的推送服务的应用被卸载,则重新请求启用所述第一连接模块;或者,重新请求启用所述第二连接模块。
进一步地,所述第一收发模块还用于,接收应用上传的消息;以及,将所述消息上传至推送服务器,并根据所述第一注册模块保存的所述应用的注册信息,在上传的消息中包含所述应用的信息。
进一步地,所述第二收发模块还用于,接收应用上传的消息;以及,将所述消息上传至推送服务器,并根据所述第二注册模块保存的所述应用的注册信息,在上传的消息中包含所述应用的信息。
本发明还提供一种推送服务实现终端设备,所述终端设备包括如上所述的推送服务实现装置,具体地,可以包括上述的推送服务客户端,和推送sdk中的其中一种或其任意组合。
本发明还提供一种推送服务实现系统,包括如上所述的推送服务实现装置,以及推送服务器。
与现有技术相比,本发明通过service与服务器之间创建的唯一的长连接,所有的推送消息统一由这条连接与推送服务器通讯,如此,推送服务器的压力就会极大地减轻,同时,由于所有app均可共享这一长连接,而无需每个app与推送服务器之间单独创建长连接,因而对终端设备的功耗影响也大大降低。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明推送服务实现方法实施例一的流程图;
图2为本发明推送服务实现方法实施例二的流程图;
图3是本发明推送服务实现方法实施例三的流程图;
图4为本发明推送服务实现装置实施例一的结构示意图;
图5为本发明推送服务实现装置实施例二的结构示意图;
图6为本发明推送服务实现装置实施例三的结构示意图;
图7为本发明推送服务实现系统实施例一的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明推送服务实现方法实施例一的流程图,如图1所示,本实施例的方法可以包括:
步骤101、在终端设备中内置推送服务客户端,创建推送服务;
本实施例中,如果是乐视终端设备,例如乐视手机、乐视pad、乐视智能电视等,系统中会内置一个客户端应用,该客户端应用可以称作StvPush app,用于创建推送服务(service)。
步骤102、推送服务创建与推送服务器的长连接;
StvPush app中会创建一个service,负责维护长连接及与需要接收推送消息的app之间通讯。
步骤103、推送服务保存终端设备中多个需要接收推送消息的app的注册信息;
其中,service在被创建时,会维护与推送服务器的长连接,并保存所有注册成功的app信息。
步骤104、推送服务接收到推送服务器推送给app的消息;
其中,推送服务器推送的消息都会携带要推送到app的信息。
步骤105、推送服务根据保存的app的注册信息,将消息发送给相应的app。
其中,Service根据推送服务器推送的消息中包含的app的信息,从已注册的app中,确定目标app,将推送消息发送给该目标app。
本实施例,通过在终端设备(如乐视手机、乐视pad、乐视智能电视等)系统中内置一个StvPush app,创建推送服务(service),service是一个独立的系统服务,创建并维护与推送服务器的长连接;然后终端设备中的所有需要接收推送消息的app均可共享这一长连接;推送服务从该长连接接收到推送服务器发送的推送消息时,根据预先保存的app的注册信息(例如对应关系等),将该消息发送给相应的app。
与现有技术相比,本发明通过service与服务器之间创建的唯一的长连接,所有的推送消息统一由这条连接与推送服务器通讯,如此,推送服务器的压力就会极大地减轻,同时,由于所有app均可共享这一长连接,而无需每个app与推送服务器之间单独创建长连接,因而对终端设备的功耗影响也大大降低。
图2为本发明推送服务实现方法实施例二的流程图,如图2所示,本实施例的方法可以包括:
步骤201、在终端设备中集成推送sdk,创建推送服务;
本实施例中,如果是其他第三方终端设备,则可以在终端设备中集成推送sdk(本文中也称作PushSDK),用于创建推送服务(service)。由推送sdk负责app的接口调用及与service通讯。
步骤202、推送服务创建与推送服务器的长连接;
service负责维护长连接,以及负责app的接口调用及与需要接收推送的app之间通讯。
步骤203、推送服务保存终端设备中多个需要接收推送消息的app的注册信息;
其中,service在被创建时,会维护与推送服务器的长连接,并保存所有注册成功的app信息。
步骤204、推送服务接收到推送服务器推送给app的消息。
步骤205、推送服务根据保存的app的注册信息,将消息发送至相应的app。
本实施例与前述实施例一的区别在于,如果是非乐视设备,或者终端设备中不存在内置的StvPush app,则通过集成推送sdk来创建service,实现本发明的推送服务功能。
与现有技术相比,本发明通过集成推送sdk创建service,并与推送服务器之间创建唯一的长连接,所有的推送消息统一由这条连接与推送服务器通讯,如此,推送服务器的压力就会极大地减轻,同时,由于所有app均可共享这一长连接,而无需每个app与推送服务器之间单独创建长连接,因而对终端设备的功耗影响也大大降低。
图3为本发明实施例三的推送服务实现方法的流程图,该实现方法为图1和图2的技术方案的结合。
下面结合图3所示的流程,对本发明推送服务实现方法实施例的技术方案进行更详细的说明。
如图3所示,本发明实施例三的推送服务实现方法,包括如下主要步骤:
步骤301:系统app启动。
步骤302:检测是否存在推送app(Push app)。
具体地,可以通过根据包名,用PackageManager来检查系统中是否有该包名的应用。
步骤303:如果推送app不存在,则检测是否有运行维护长连接的service。
具体地,可以通过ActivityManager获取运行中服务列表,匹配服务名称来检测是否为运行长连接的service。
步骤304:如果没有运行维护长连接的service,则自己启动维护长连接的service。
步骤305:如果步骤302存在推送app,或者步骤303有维护长连接的service,则使用该service。
步骤306:检测系统卸载广播,当发现被卸载的app为维护长连接的app时,重复步骤302。
具体地,通过注册软件卸载广播,可以使得软件卸载时能够接收到系统发送的广播。
步骤307:判断是否为维护长连接的service,如果是重复步骤303。
步骤308:定期检测维护长连接的service是否存活,如果没有存活,则重复304。
如果是非乐视设备,或者由于其他一些原因,service有可能被杀掉,所以,针对非乐视设备,可以每隔10分钟检测一次是否维护长连接的service还存活,如果已经被杀掉则启动自身的service维护长连接。
本实施例,如果是乐视的设备,系统中会内置一个StvPush app,该StvPushapp会创建一个service负责维护长连接及与需要接收推送的app之间通讯。如果非乐视设备,则通过集成的推送sdk创建一个service维护长连接及与需要接收推送消息的app之间通讯。
通过本发明这种单设备单连接策略,实现了每个终端设备只需维护一条与服务器的Socket长连接,服务器端推送的消息都通过这条Socket长连接传递给相应的app,app上传的消息也通过这条Socket长连接传递到服务器端,因此,既减轻了终端设备的功耗,也减轻了服务器的压力。
图4为本发明推送服务实现装置实施例一的结构示意图,如图4所示,本实施例的推送服务实现装置包括推送服务客户端,该推送服务客户端可以包括:
第一连接模块,用于创建推送服务,以创建并维护与推送服务器的长连接,以及,与多个需要接收推送消息的app通讯;
第一注册模块,用于保存所述多个需要接收推送消息的app的注册信息;
第一收发模块,用于接收推送服务器推送给app的消息;并根据所述注册模块保存的所述app的注册信息,将接收到的所述推送服务器推送给app的消息发送至相应的app。
此外,所述第一收发模块还用于,接收app上传的消息;并将所述消息上传至推送服务器,并且,根据所述第一注册模块保存的所述app的注册信息,在上传的消息中包含所述app的信息。
本实施例的装置,可以用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图5为本发明推送服务实现装置实施例二的结构示意图,如图5所示,本实施例的推送服务实现装置可以包括推送sdk,所述推送sdk包括:
启用模块,用于检测所述终端设备中是否存在正在运行的维护长连接的推送服务,如果未能检测到,则启用第二连接模块;
第二连接模块,用于创建推送服务,以创建并维护与推送服务器的长连接,以及,与多个需要接收推送消息的app通讯;
第二注册模块,用于保存所述多个需要接收推送消息的app的注册信息;
第二收发模块,用于接收推送服务器的推送消息,并根据所述注册模块保存的所述app的注册信息,将接收到的所述推送服务器推送给app的消息发送至相应的app。
进一步地,所述启用模块用于,通过ActivityManager获取运行中服务列表,匹配服务名称是否为运行维护长连接的推送服务,来检测终端设备中是否存在正在运行的维护长连接的推送服务。
进一步地,所述启用模块还用于,定期检测维护长连接的推送服务是否还存活,如果已经被杀掉,则重新请求启用所述第二连接模块。
进一步地,所述启用模块还用于,检测系统卸载广播,如果发现维护长连接的推送服务的应用被卸载,则重新请求启用所述第二连接模块。
进一步地,所述第二收发模块还用于,接收app上传的消息;将所述消息上传至推送服务器,并根据所述第二注册模块保存的所述app的注册信息,在上传的消息中包含所述app的信息。
本实施例的装置,可以用于执行图2所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本发明推送服务实现装置实施例三的结构示意图,如图6所示,本实施例的推送服务实现装置包括:推送服务客户端,和推送sdk,其中,推送服务客户端可以采用图4装置实施例的结构,推送sdk可以采用图5推送sdk实施例的结构。
本实施例中的推送sdk与前述装置实施例二的区别在于,所述启用模块还用于,在检测所述终端设备中是否存在正在运行的维护长连接的推送服务之前,先检测所述终端设备中是否存在推送服务客户端:
如果检测到所述终端设备中存在推送服务客户端,则请求启用所述第一连接模块创建并维护的长连接;
进一步地,所述启用模块还用于,在检测所述终端设备中是否存在正在运行的维护长连接的推送服务之前,先检测所述终端设备中是否存在推送服务客户端:
如果检测到所述终端设备中存在推送服务客户端,则请求启用所述第一连接模块创建并维护的长连接;
如果未能检测到所述终端设备中存在推送服务客户端,则再检测所述终端设备中是否存在正在运行的维护长连接的推送服务。
进一步地,所述启用模块用于,通过PackageManager检测系统中是否存在推送服务客户端的应用,来检测所述终端设备中是否存在推送服务客户端。
进一步地,所述启用模块还用于,定期检测维护长连接的推送服务是否还存活,如果已经被杀掉,则重新请求启用所述第一连接模块;或者,重新请求启用所述第二连接模块。
进一步地,所述启用模块还用于,检测系统卸载广播,如果发现维护长连接的推送服务的应用被卸载,则重新请求启用所述第一连接模块;或者,重新请求启用所述第二连接模块。
对应地,本实施例的推送服务实现装置可以执行图1~图3中任一方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
本发明还提供一种推送服务实现终端设备及系统,本实施例的推送服务实现终端设备包括:推送服务客户端,或者推送sdk,或者二者的结合。
如图7所示,本发明实施例的推送服务实现系统,包括上述的推送服务实现装置,以及推送服务器。其中,推送服务实现装置可以采用如图4、图5或图6中的结构。请见图7,推送服务实现装置与推送服务器之间具有唯一的长连接,终端设备中所有需要接收推送消息的app均可共享该长连接。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (18)
1.一种推送服务实现方法,其特征在于,在终端设备中创建推送服务,所述方法包括:
推送服务创建与推送服务器的长连接;
所述推送服务保存所述终端设备中多个需要接收推送消息的应用的注册信息;
所述推送服务通过所述长连接接收到所述推送服务器推送给应用的消息后,根据保存的所述应用的注册信息,将所述消息发送至相应的应用。
2.根据权利要求1所述的方法,其特征在于,所述在终端设备中创建推送服务,包括:
在所述终端设备中内置推送服务客户端,由所述推送服务客户端创建所述推送服务。
3.根据权利要求2所述的方法,其特征在于,所述方法包括:
检测所述终端设备中是否存在推送服务客户端;
如果检测到所述终端设备中存在推送服务客户端,则使用所述推送服务客户端创建的推送服务。
4.根据权利要求3所述的方法,其特征在于,在终端设备中创建推送服务,还包括:
如果未能检测到所述终端设备中存在推送服务客户端,或者未能检测到所述终端设备中存在正在运行的维护长连接的推送服务,则通过推送软件开发工具包创建推送服务。
5.根据权利要求4所述的方法,其特征在于,
通过获取运行中服务列表,匹配服务名称是否为运行维护长连接的推送服务,来检测终端设备中是否存在正在运行的维护长连接的推送服务。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
定期检测维护长连接的推送服务是否还存活,如果已经被杀掉,则重新启动维护长连接的推送服务,并创建与推送服务器的长连接。
7.根据权利要求1至6之任一项所述的方法,其特征在于,所述方法还包括:
检测系统卸载广播,如果发现维护长连接的推送服务的应用被卸载,则在所述终端设备中重新创建推送服务。
8.根据权利要求1至6之任一项所述的方法,其特征在于,所述方法还包括:
所述推送服务接收到应用上传的消息后,根据保存的所述应用的注册信息,将所述消息上传至推送服务器,并在上传的消息中包含该应用的信息。
9.一种推送服务实现装置,其特征在于,所述装置包括推送服务客户端,所述推送服务客户端包括:
第一连接模块,用于创建推送服务,以创建并维护与推送服务器的长连接,以及,与多个需要接收推送消息的应用通讯;
第一注册模块,用于保存所述多个需要接收推送消息的应用的注册信息;
第一收发模块,用于接收所述推送服务器推送给应用的消息;并根据所述第一注册模块保存的所述应用的注册信息,将接收到的所述推送服务器推送给应用的消息发送至相应的应用。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括推送sdk,所述推送sdk包括:
启用模块,用于检测所述终端设备中是否存在正在运行的维护长连接的推送服务,如果未能检测到,则启用第二连接模块;
第二连接模块,用于创建推送服务,以创建并维护与推送服务器的长连接,以及,与多个需要接收推送消息的应用通讯;
第二注册模块,用于保存所述多个需要接收推送消息的应用的注册信息;
第二收发模块,用于接收所述推送服务器推送给应用的消息;并根据所述第二注册模块保存的所述应用的注册信息,将接收到的所述推送服务器推送给应用的消息发送至相应的应用。
11.根据权利要求10所述的装置,其特征在于,
所述启用模块还用于,在检测所述终端设备中是否存在正在运行的维护长连接的推送服务之前,先检测所述终端设备中是否存在推送服务客户端:
如果检测到所述终端设备中存在推送服务客户端,则请求启用所述第一连接模块创建并维护的长连接;
如果未能检测到所述终端设备中存在推送服务客户端,则再检测所述终端设备中是否存在正在运行的维护长连接的推送服务。
12.根据权利要求11所述的装置,其特征在于,
所述启用模块用于,通过检测系统中是否存在推送服务客户端的应用,来检测所述终端设备中是否存在推送服务客户端;
通过获取运行中服务列表,匹配服务名称是否为运行维护长连接的推送服务,来检测所述终端设备中是否存在正在运行的维护长连接的推送服务。
13.根据权利要求11所述的装置,其特征在于,
所述启用模块还用于,定期检测维护长连接的推送服务是否还存活,如果已经被杀掉,则重新请求启用所述第一连接模块;或者,重新请求启用所述第二连接模块。
14.根据权利要求13所述的装置,其特征在于,
所述启用模块还用于,检测系统卸载广播,如果发现维护长连接的推送服务的应用被卸载,则重新请求启用所述第一连接模块;或者,重新请求启用所述第二连接模块。
15.根据权利要求9至14之任一项所述的装置,其特征在于,
所述第一收发模块还用于,接收应用上传的消息;以及,将所述消息上传至推送服务器,并根据所述第一注册模块保存的所述应用的注册信息,在上传的消息中包含所述应用的信息。
16.根据权利要求10至14之任一项所述的装置,其特征在于,
所述第二收发模块还用于,接收应用上传的消息;以及,将所述消息上传至推送服务器,并根据所述第二注册模块保存的所述应用的注册信息,在上传的消息中包含所述应用的信息。
17.一种推送服务实现终端设备,其特征在于,所述终端设备包括如权利要求9至15之任一项所述的推送服务客户端、和/或如权利要求10至16之任一项所述的推送sdk。
18.一种推送服务实现系统,其特征在于,所述系统包括推送服务器,以及如权利要求9至16之任一项所述的推送服务实现装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510864025.0A CN105871981A (zh) | 2015-11-30 | 2015-11-30 | 一种推送服务实现方法、装置、终端设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510864025.0A CN105871981A (zh) | 2015-11-30 | 2015-11-30 | 一种推送服务实现方法、装置、终端设备及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105871981A true CN105871981A (zh) | 2016-08-17 |
Family
ID=56623705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510864025.0A Pending CN105871981A (zh) | 2015-11-30 | 2015-11-30 | 一种推送服务实现方法、装置、终端设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105871981A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106385491A (zh) * | 2016-09-05 | 2017-02-08 | 努比亚技术有限公司 | 一种控制推送消息的系统、方法、移动终端和推送服务器 |
CN106790727A (zh) * | 2017-03-30 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 消息推送方法及装置 |
CN106933660A (zh) * | 2017-02-17 | 2017-07-07 | 广州启生信息技术有限公司 | 一种安卓平台下应用进程保活的实现方法 |
WO2018219061A1 (zh) * | 2017-05-27 | 2018-12-06 | 北京奇虎科技有限公司 | 消息推送的多路复用方法及装置、电子设备 |
CN109831484A (zh) * | 2018-12-29 | 2019-05-31 | 天津字节跳动科技有限公司 | App共享推送sdk服务的选举方法、装置、介质和电子设备 |
CN110177126A (zh) * | 2019-04-04 | 2019-08-27 | 口碑(上海)信息技术有限公司 | 统一消息通道的数据通讯方法、装置及系统 |
CN107864229B (zh) * | 2017-12-27 | 2020-10-09 | 北京小米移动软件有限公司 | 消息推送方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140006631A1 (en) * | 2012-06-29 | 2014-01-02 | Nokia Corporation | Method and apparatus for communication session-based initiation of networked terminals |
CN103916442A (zh) * | 2013-01-07 | 2014-07-09 | 阿里巴巴集团控股有限公司 | 消息推送实现方法、移动终端及消息推送系统 |
-
2015
- 2015-11-30 CN CN201510864025.0A patent/CN105871981A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140006631A1 (en) * | 2012-06-29 | 2014-01-02 | Nokia Corporation | Method and apparatus for communication session-based initiation of networked terminals |
CN103916442A (zh) * | 2013-01-07 | 2014-07-09 | 阿里巴巴集团控股有限公司 | 消息推送实现方法、移动终端及消息推送系统 |
Non-Patent Citations (1)
Title |
---|
黄明恩: "基于Android平台的云推送服务的设计与实现", 《中国优秀硕士论文全文数据库 信息科技辑》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106385491A (zh) * | 2016-09-05 | 2017-02-08 | 努比亚技术有限公司 | 一种控制推送消息的系统、方法、移动终端和推送服务器 |
CN106385491B (zh) * | 2016-09-05 | 2019-10-29 | 努比亚技术有限公司 | 一种控制推送消息的系统、方法和移动终端 |
CN106933660A (zh) * | 2017-02-17 | 2017-07-07 | 广州启生信息技术有限公司 | 一种安卓平台下应用进程保活的实现方法 |
CN106933660B (zh) * | 2017-02-17 | 2020-12-08 | 广州启生信息技术有限公司 | 一种安卓平台下应用进程保活的实现方法 |
CN106790727A (zh) * | 2017-03-30 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 消息推送方法及装置 |
CN106790727B (zh) * | 2017-03-30 | 2019-10-25 | 武汉斗鱼网络科技有限公司 | 消息推送方法及装置 |
WO2018219061A1 (zh) * | 2017-05-27 | 2018-12-06 | 北京奇虎科技有限公司 | 消息推送的多路复用方法及装置、电子设备 |
CN107864229B (zh) * | 2017-12-27 | 2020-10-09 | 北京小米移动软件有限公司 | 消息推送方法及装置 |
CN109831484A (zh) * | 2018-12-29 | 2019-05-31 | 天津字节跳动科技有限公司 | App共享推送sdk服务的选举方法、装置、介质和电子设备 |
CN109831484B (zh) * | 2018-12-29 | 2022-04-22 | 天津字节跳动科技有限公司 | App共享推送sdk服务的选举方法、装置、介质和电子设备 |
CN110177126A (zh) * | 2019-04-04 | 2019-08-27 | 口碑(上海)信息技术有限公司 | 统一消息通道的数据通讯方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105871981A (zh) | 一种推送服务实现方法、装置、终端设备及系统 | |
CN103534980B (zh) | 利用反馈消息提供推送服务的系统和方法 | |
CN103475939B (zh) | 一种处理播放记录的方法、装置及服务器 | |
CN105991412B (zh) | 消息推送方法及装置 | |
CN102958008B (zh) | 一种实现即时通讯的方法、系统和移动终端 | |
CN102708192B (zh) | 一种文档共享的方法及系统、设备 | |
WO2012023836A3 (en) | Retrieval of user equipment capabilities by application server | |
GB2589211A (en) | Methods and systems of using remote subscriber identification modules at device | |
CN104796473A (zh) | 一种跨平台的信息推送方法及系统 | |
CN107465666A (zh) | 一种客户端ip获取方法与装置 | |
CA2544717A1 (en) | Storing, sending and receiving text message threads on a wireless communication device | |
CN105337973A (zh) | 消息交互方法及其系统 | |
CN104462033A (zh) | 在设备间实现编辑操作的方法及设备 | |
CN105897885A (zh) | 跨网络数据传输方法和装置 | |
CN110493122A (zh) | 一种会话信息的同步方法、装置、计算设备及存储介质 | |
CN105827740A (zh) | 一种联系人信息备份方法、设备及系统 | |
CN110312266B (zh) | 终端的多系统实现wifi通信的方法和装置 | |
CN111465873A (zh) | 一种数据发送方法和电子设备 | |
CN106067906A (zh) | 一种重新连接的方法及监控设备 | |
CN104869253A (zh) | 一种移动终端连接智能试衣镜的方法及系统 | |
CN105791520A (zh) | 一种通讯录更新的方法和相应装置 | |
CN103581197A (zh) | 跨服务器实现团队数据处理的方法和系统 | |
CN105978796A (zh) | 基于不稳定移动网络的消息通信方法及系统 | |
CN103051484B (zh) | 会话业务处理方法、系统和会话边缘控制器 | |
CN102629345A (zh) | 链式沟通协作方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160817 |
|
WD01 | Invention patent application deemed withdrawn after publication |