CN103209392A - 一种跨进程多应用消息推送方法及装置 - Google Patents

一种跨进程多应用消息推送方法及装置 Download PDF

Info

Publication number
CN103209392A
CN103209392A CN2012100127639A CN201210012763A CN103209392A CN 103209392 A CN103209392 A CN 103209392A CN 2012100127639 A CN2012100127639 A CN 2012100127639A CN 201210012763 A CN201210012763 A CN 201210012763A CN 103209392 A CN103209392 A CN 103209392A
Authority
CN
China
Prior art keywords
message
definition
push server
type
described push
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.)
Granted
Application number
CN2012100127639A
Other languages
English (en)
Other versions
CN103209392B (zh
Inventor
严峻
杨谦
张祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210012763.9A priority Critical patent/CN103209392B/zh
Publication of CN103209392A publication Critical patent/CN103209392A/zh
Application granted granted Critical
Publication of CN103209392B publication Critical patent/CN103209392B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种跨进程多应用消息推送方法,相应的方法包括通过预定应用及相应的协议接口调用注册消息推送跨进程的监听器;当所述预定应用接收到所述推送服务器推送的消息后,触发相应的监听器监听到的事件,使在所述推送服务器上注册的应用响应所述推送服务器推送的消息。本发明通过与推送服务器建立连接,将推送消息推送到在推送服务器上注册的相应的应用上,实现了对多种消息类型的推送,能够适应国内的网络环境,具有良好的确认机制,消息推送可靠性较高。

Description

一种跨进程多应用消息推送方法及装置
技术领域
本发明提供了一种跨进程多应用消息推送方法及装置,属于即时通讯技术领域。
背景技术
谷歌推出的安卓(Android)系统是一种应用于智能手机的操作系统,由于安卓系统具有的系统代码开源、能够灵活支持移动互联网等特点,许多第三方软件开发厂商也加入到了谷歌阵营,并且第三方软件开发厂商开发的软件已经被广大安卓智能手机用户所接受。为了能使安卓智能手机用户更便捷的使用安卓系统,谷歌开发了一种C2DM(GoogleAndroid Cloud to Device Messageing,谷歌安卓云推送)技术,这种C2DM技术可以将需要交互的消息内容直接从云端推送安卓软件资源到手机,实现了在终端用户允许的情况下,在终端的后台直接与服务器进行信息交互,为终端用户提供了更好的使用体验。
但C2DM技术也存在相应的缺点,即仅适用于简单的消息类型,推送的消息不支持包含图片、文件等丰富内容的数据;另外,由于C2DM技术针对的是以谷歌安卓市场为主的业务,对于国内的网络环境适应性差,缺少良好的确认机制,消息推送可靠性低。
发明内容
本发明为解决现有的安卓系统云推送技术中存在的仅适用于简单的消息类型、对于国内的网络环境适应性差,缺少良好的确认机制,消息推送可靠性低的问题,进而提供了一种跨进程多应用消息推送方法及装置。
一种跨进程多应用消息推送方法,包括:
通过预定应用及相应的协议接口调用注册消息推送跨进程监听器;
当所述预定应用接收到所述推送服务器推送的消息后,触发相应的监听器监听到的事件,使在所述推送服务器上注册的应用响应所述推送服务器推送的消息。
一种跨进程多应用消息推送装置,包括:
连接建立模块,用于通过预定应用及相应的协议接口调用注册消息推送跨进程监听器;
消息推送模块,用于当所述预定应用接收到所述推送服务器推送的消息后,触发相应的监听器监听到的事件,使在所述推送服务器上注册的应用响应所述推送服务器推送的消息。
由上述本发明提供的技术方案可以看出,通过与推送服务器建立连接,将推送消息推送到在推送服务器上注册的相应的应用上,实现了对多种消息类型的推送,具有良好的确认机制,消息推送可靠性较高。
附图说明
图1是本发明具体实施方式提供的跨进程多应用消息推送方法的流程示意图;
图2是本发明具体实施方式提供的跨进程多应用消息推送装置的结构示意图。
具体实施方式
本发明具体实施方式提供了一种跨进程多应用消息推送方法,包括通过预定应用及相应的协议接口调用注册消息推送跨进程监听器;当所述预定应用接收到所述推送服务器推送的消息后,触发相应的监听器监听到的事件,使在所述推送服务器上注册的应用响应所述推送服务器推送的消息。本具体实施方式提供的技术方案实现了PC客户端、Web页面、各种移动终端设备向Android平台终端设备推送消息服务,同时在Android终端中实现了消息到跨进程多应用中事件的转换。首先消息发送者向平台服务器发送相应的消息推送请求,当Android终端设备在有相应网络条件连接上消息推送服务的接入服务器之后,接入服务器将消息推送到终端设备,负责通信的程序解析消息数据,并且通过跨进程调用将消息转换成相应的事件,供其它应用响应,完成消息推送的流程。下面以某运行在安卓系统上的第三方软件为例并结合说明书附图对本具体实施方式作具体说明,如图1所示,相应的跨进程多应用消息推送方法包括:
步骤11,通过预定应用及相应的协议接口调用注册消息推送跨进程监听器。
具体的,在本具体实施方式涉及的第三方软件中,预定应用可以是运行在需要消息推送服务的终端设备中的Service程序,该Service程序是一种普通的android service程序,该Service程序可以通过JNI(Java Native Interface,JAVA本地调用)接口或者直接通过JAVA程序与推送服务器建立TCP SOCKET连接,并通过这个TCP SOCKET连接发送和接收数据。建立TCP SOCKET连接后能够执行的任务包括登录验证、接收消息或发送消息,其中消息的类型可以是普通文本IM消息、图片、文件、群发消息、好友状态改变、系统通知等消息。
相应的协议可以是AIDL(Android Interface Definition Language,安卓接口描述语言)协议,以实现多应用跨进程的消息通信机制。由于安卓系统中的进程之间不能共享内存,为了使其他的应用也可以访问应用提供的服务,安卓系统采用了AIDL方式来实现内存共享。消息推送服务器的应用在运行开始时可通过相应的程序,例如bindService()来绑定服务,然后通过绑定后的AIDL协议的接口调用注册消息推送跨进程监听器,该Servicec程序使用RemoteCallbackList维护注册了服务的监听器。其中的监听器用于在该Servicec程序接收到推送的消息之后被触发,用于监听各个进程之间的事件,以完成跨进程消息到事件的处理。
步骤12,当所述预定应用接收到所述推送服务器推送的消息后,触发相应的监听器监听到的事件,使在所述推送服务器上注册的应用响应所述推送服务器推送的消息。
具体的,当步骤11中的Service程序收到推送的消息之后,可以先通过所述推送消息的消息协议中不同的协议定义判断所述推送的消息的类型,所述协议定义包括消息类型的定义、字段类型定义、字段长度定义、字段内容、发送命令定义或接收确认命令定义中的至少一种。在确定了推送消息的类型后,相应的Servicec程序触发各监听器所监听的事件,完成跨进程消息到事件的处理,各应用响应消息事件。例如A应用需要关注某账号的IM消息,那么在A应用开发过程实现相应的接口,用来响应IM消息,如在UI上显示。当A启动的时候运行绑定服务的代码,将自身作为监听器注册到既定应用B上,并且将告知监听的消息类型;当账号收到其它终端的IM消息,由服务器推送给B,B判断消息类型为IM消息,B将通知所有注册了IM消息的监听应用,即A包含在内,并将消息本身传递给相应的监听应用,即通知到A,A响应消息事件,完成消息推送的整个过程。
另外,推送服务器与终端之间推送消息的协议可采用一种二进处理协议,字节流中不同位置、不同长度、不同大小的值代表不同的含义,该协议定义有消息类型的定义、字段类型定义、字段长度定义、字段内容、发送命义定义与接收确认命令定义组成。当推送的消息中包括有多种类型的内容时,可以将相应的推送消息按类型划分成若干个部分,每个部分按类型通过协议中相应的方式进行处理,例如一个推送消息中包括文字和图片,则根据协议中对于文字和图片的处理方式分别对文字和图片进行处理后,再将文字和图片整合成一个消息后推送给终端。各部分消息由消息定义和消息体组成,消息体可采用已有的加密算法或直接使用JAVA程序进行加密和解密。
采用本实施例提供的技术方案,通过与推送服务器建立连接,将推送消息推送到在推送服务器上注册的相应的应用上,实现了对多种消息类型的推送,能够适应国内的网络环境,具有良好的确认机制,消息推送可靠性较高。
本发明的具体实施方式还提供了一种跨进程多应用消息推送装置,如图2所示,包括:
连接建立模块21,用于通过预定应用及相应的协议接口调用注册消息推送跨进程监听器;
消息推送模块22,用于当所述预定应用接收到所述推送服务器推送的消息后,触发相应的监听器监听到的事件,使在所述推送服务器上注册的应用响应所述推送服务器推送的消息。
可选的,在连接建立模块21中可以包括连接建立子模块,用于通过JNI接口或者直接通过JAVA程序与所述推送服务器建立TCP SOCKET连接。
可选的,在消息推送模块22中,所述推送的消息的类型包括普通文本IM消息、图片、多媒体文件、群发消息、好友状态改变或系统通知中的至少一种。
可选的,在消息推送模块中22中可以包括消息类型判断子模块,用于通过所述推送消息的消息协议中不同的协议定义判断所述推送的消息的类型,所述协议定义包括消息类型的定义、字段类型定义、字段长度定义、字段内容、发送命令定义或接收确认命令定义中的至少一种。
可选的,所述推送消息的消息体采用相应的算法进行加密。
上述跨进程多应用消息推送装置中包含的各模块的处理功能的实现方式在之前的方法具体实施方式中已经描述,在此不再重复描述。
采用本实施例提供的技术方案,通过与推送服务器建立连接,将推送消息推送到在推送服务器上注册的相应的应用上,实现了对多种消息类型的推送,能够适应国内的网络环境,具有良好的确认机制,消息推送可靠性较高。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种跨进程多应用消息推送方法,其特征在于,包括:
通过预定应用及相应的协议接口调用注册消息推送跨进程监听器;
当所述预定应用接收到所述推送服务器推送的消息后,触发相应的监听器监听到的事件,使在所述推送服务器上注册的应用响应所述推送服务器推送的消息。
2.根据权利要求1所述的方法,其特征在于,所述与推送服务器建立连接包括通过JNI接口或者直接通过JAVA程序与所述推送服务器建立TCP SOCKET连接。
3.根据权利要求1所述的方法,其特征在于,所述推送的消息的类型包括普通文本IM消息、图片、多媒体文件、群发消息、好友状态改变或系统通知中的至少一种。
4.根据权利要求1至4任意一项所述的方法,其特征在于,在所述预定应用接收到所述推送服务器推送的消息后包括:
通过所述推送消息的消息协议中不同的协议定义判断所述推送的消息的类型,所述协议定义包括消息类型的定义、字段类型定义、字段长度定义、字段内容、发送命令定义或接收确认命令定义中的至少一种。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述推送消息的消息体采用相应的算法进行加密。
6.一种跨进程多应用消息推送装置,其特征在于,包括:
连接建立模块,用于通过预定应用及相应的协议接口调用注册消息推送跨进程监听器;
消息推送模块,用于当所述预定应用接收到所述推送服务器推送的消息后,触发相应的监听器监听到的事件,使在所述推送服务器上注册的应用响应所述推送服务器推送的消息。
7.根据权利要求6所述的装置,其特征在于,在连接建立模块中包括:
连接建立子模块,用于通过JNI接口或者直接通过JAVA程序与所述推送服务器建立TCP SOCKET连接。
8.根据权利要求6所述的装置,其特征在于,在消息推送模块中,所述推送的消息的类型包括普通文本IM消息、图片、多媒体文件、群发消息、好友状态改变或系统通知中的至少一种。
9.根据权利要求6至8任意一项所述的装置,其特征在于,在消息推送模块中包括:
消息类型判断子模块,用于通过所述推送消息的消息协议中不同的协议定义判断所述推送的消息的类型,所述协议定义包括消息类型的定义、字段类型定义、字段长度定义、字段内容、发送命令定义或接收确认命令定义中的至少一种。
10.根据权利要求6至8任意一项所述的装置,其特征在于,所述推送消息的消息体采用相应的算法进行加密。
CN201210012763.9A 2012-01-16 2012-01-16 一种跨进程多应用消息推送方法及装置 Active CN103209392B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210012763.9A CN103209392B (zh) 2012-01-16 2012-01-16 一种跨进程多应用消息推送方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210012763.9A CN103209392B (zh) 2012-01-16 2012-01-16 一种跨进程多应用消息推送方法及装置

Publications (2)

Publication Number Publication Date
CN103209392A true CN103209392A (zh) 2013-07-17
CN103209392B CN103209392B (zh) 2016-05-18

Family

ID=48756449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210012763.9A Active CN103209392B (zh) 2012-01-16 2012-01-16 一种跨进程多应用消息推送方法及装置

Country Status (1)

Country Link
CN (1) CN103209392B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103490981A (zh) * 2013-09-11 2014-01-01 曹欢欢 一种跨移动应用的消息推送方法和装置
CN103731476A (zh) * 2013-12-10 2014-04-16 乐视网信息技术(北京)股份有限公司 一种提高信息推送速度的方法和装置
WO2015021842A1 (zh) * 2013-08-14 2015-02-19 华为技术有限公司 访问ott应用、服务器推送消息的方法及装置
CN105677536A (zh) * 2016-01-08 2016-06-15 上海斐讯数据通信技术有限公司 一种任务消息的实现方法及实现该任务消息的任务系统
CN105824710A (zh) * 2015-11-16 2016-08-03 广东亿迅科技有限公司 一种数据处理方法
CN106027365A (zh) * 2016-04-29 2016-10-12 乐视控股(北京)有限公司 一种信息交互的方法及装置
CN108600094A (zh) * 2018-05-11 2018-09-28 深圳壹账通智能科技有限公司 消息推送过程的监听方法、装置、计算机设备及存储介质
CN110781014A (zh) * 2019-10-28 2020-02-11 苏州思必驰信息科技有限公司 基于Android设备的录音数据的多进程分发方法与系统
CN111355802A (zh) * 2020-03-03 2020-06-30 中国邮政储蓄银行股份有限公司 信息推送方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070136592A1 (en) * 2000-04-12 2007-06-14 Smith Richard A Wireless internet gateway
CN101345902A (zh) * 2007-07-13 2009-01-14 上海东登视讯科技有限公司 手机多媒体视频短信的群发方法
CN102075539A (zh) * 2011-01-25 2011-05-25 中兴通讯股份有限公司 数据推送系统及方法
CN102316423A (zh) * 2010-07-06 2012-01-11 华为技术有限公司 一种信息推送方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070136592A1 (en) * 2000-04-12 2007-06-14 Smith Richard A Wireless internet gateway
CN101345902A (zh) * 2007-07-13 2009-01-14 上海东登视讯科技有限公司 手机多媒体视频短信的群发方法
CN102316423A (zh) * 2010-07-06 2012-01-11 华为技术有限公司 一种信息推送方法、装置和系统
CN102075539A (zh) * 2011-01-25 2011-05-25 中兴通讯股份有限公司 数据推送系统及方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015021842A1 (zh) * 2013-08-14 2015-02-19 华为技术有限公司 访问ott应用、服务器推送消息的方法及装置
US10432740B2 (en) 2013-08-14 2019-10-01 Huawei Technologies Co., Ltd. Method and apparatus for accessing OTT application and pushing message by server
CN103490981A (zh) * 2013-09-11 2014-01-01 曹欢欢 一种跨移动应用的消息推送方法和装置
CN103490981B (zh) * 2013-09-11 2017-03-08 曹欢欢 一种跨移动应用的消息推送方法和装置
CN103731476A (zh) * 2013-12-10 2014-04-16 乐视网信息技术(北京)股份有限公司 一种提高信息推送速度的方法和装置
CN105824710A (zh) * 2015-11-16 2016-08-03 广东亿迅科技有限公司 一种数据处理方法
CN105677536A (zh) * 2016-01-08 2016-06-15 上海斐讯数据通信技术有限公司 一种任务消息的实现方法及实现该任务消息的任务系统
CN106027365A (zh) * 2016-04-29 2016-10-12 乐视控股(北京)有限公司 一种信息交互的方法及装置
CN108600094A (zh) * 2018-05-11 2018-09-28 深圳壹账通智能科技有限公司 消息推送过程的监听方法、装置、计算机设备及存储介质
CN110781014A (zh) * 2019-10-28 2020-02-11 苏州思必驰信息科技有限公司 基于Android设备的录音数据的多进程分发方法与系统
CN110781014B (zh) * 2019-10-28 2022-11-01 思必驰科技股份有限公司 基于Android设备的录音数据的多进程分发方法与系统
CN111355802A (zh) * 2020-03-03 2020-06-30 中国邮政储蓄银行股份有限公司 信息推送方法和装置

Also Published As

Publication number Publication date
CN103209392B (zh) 2016-05-18

Similar Documents

Publication Publication Date Title
CN103209392A (zh) 一种跨进程多应用消息推送方法及装置
KR101488268B1 (ko) 푸시 메시지 서비스 방법 및 시스템
US7813745B2 (en) Method for implementing a push service
CN1767508B (zh) 即时消息传送服务中的文件传输方法以及用于支持该方法的移动通信终端
CN102833422B (zh) 一种移动智能终端基于短信控制的长命令系统
CN103916296A (zh) 一种融合局域网的通信系统
CN103259714A (zh) 即时信息通知方法及装置
EP1909511A1 (en) Application activation method
CN101110789B (zh) 一种即时消息系统中发送即时消息报告的方法
KR100733603B1 (ko) 모바일 멀티미디어 인스턴트 메신저 서비스 시스템 및 그를 이용한 모바일 멀티미디어 메신저 서비스 방법
CN101621764B (zh) 基于Java Push机制手机通讯应用的信息传送方法及系统
CN105704001A (zh) 一种微信服务器消息分发方法及系统
US20060089164A1 (en) Method and system for transmitting MMS notification message
CN101888607A (zh) 基于widget实现手机聊天的方法及手机
US20130188559A1 (en) Method for Establishing a Communication Connection over the Internet Between Mobile Terminals, Computer Program, and Storage Medium
CN101548514B (zh) 在一个移动无线电系统中交换消息的方法和设备
CN102523577A (zh) 应用服务更新方法和装置
CN105024907A (zh) 一种推送im信息的方法和系统、服务器以及平台
RU2666240C1 (ru) Система и способ управления push-уведомлениями
CN105025448A (zh) 一种推送im信息的方法和系统、服务器以及平台
CN101330664A (zh) 多媒体业务的实现方法、系统和装置
CN103888535A (zh) 一种基于微信平台的位置信息处理方法和系统
CN103227977A (zh) 在移动通信网络中实现短信发送或群发的方法及系统
CN114816785A (zh) 业务数据处理方法、装置、电子设备及存储介质
CN102611639A (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
C14 Grant of patent or utility model
GR01 Patent grant