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

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

Info

Publication number
CN103209392B
CN103209392B CN201210012763.9A CN201210012763A CN103209392B CN 103209392 B CN103209392 B CN 103209392B CN 201210012763 A CN201210012763 A CN 201210012763A CN 103209392 B CN103209392 B CN 103209392B
Authority
CN
China
Prior art keywords
message
push
push server
application
propelling movement
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.)
Active
Application number
CN201210012763.9A
Other languages
English (en)
Other versions
CN103209392A (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

Abstract

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

Description

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

Claims (10)

1.一种跨进程多应用消息推送方法,其特征在于,包括:
通过预定应用及相应的协议接口调用注册消息推送跨进程监听器;其中,所述预定应用是运行在需要消息推送服务的终端设备中的Service程序;
当所述预定应用接收到所述推送服务器推送的消息后,触发相应的监听器监听到的事件,使在所述推送服务器上注册的应用响应所述推送服务器推送的消息;
其中,在所述预定应用接收到所述推送服务器推送的消息后,触发相应的监听器监听到的事件,使在所述推送服务器上注册的应用响应所述推送服务器推送的消息包括:
通过所述推送消息的消息协议中不同的协议定义判断所述推送的消息的类型;
在确定了推送消息的类型后,相应的Service程序触发各监听器所监听的事件,完成跨进程消息到事件的处理,各应用响应消息事件。
2.根据权利要求1所述的方法,其特征在于,所述Service程序通过JN1接口或者直接通过JAVA程序与所述推送服务器建立TCPSOCKET连接。
3.根据权利要求1所述的方法,其特征在于,所述推送的消息的类型包括普通文本IM消息、图片、多媒体文件、群发消息、好友状态改变或系统通知中的至少一种。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述协议定义包括消息类型的定义、字段类型运义、字段长度定义、字段内容、发送命令定义或接收确认命令定义中的至少一种。
5.根据权利要求1至3任意一项所述的方法,其特征在于,所述推送消息的消息体采用相应的算法进行加密。
6.一种跨进程多应用消息推送装置,其特征在于,包括:
连接建立模块,用于通过预定应用及相应的协议接口调用注册消息推送跨进程监听器;其中,所述预定应用是运行在需要消息推送服务的终端设备中的Service程序;
消息推送模块,用于当所述预定应用接收到所述推送服务器推送的消息后,触发相应的监听器监听到的事件,使在所述推送服务器上注册的应用响应所述推送服务器推送的消息;
其中,在所述预定应用接收到所述推送服务器推送的消息后,触发相应的监听器监听到的事件,使在所述推送服务器上注册的应用响应所述推送服务器推送的消息包括:
通过所述推送消息的消息协议中不同的协议定义判断所述推送的消息的类型;
在确定了推送消息的类型后,相应的Service程序触发各监听器所监听的事件,完成跨进程消息到事件的处理,各应用响应消息事件。
7.根据权利要求6所述的装置,其特征在于,在连接建立模块中包括:
连接建立于模块,用于通过JN1接口或者直接通过JAVA程序与所述推送服务器建立TCPSOCKET连接。
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 CN103209392A (zh) 2013-07-17
CN103209392B true 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)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104378395B (zh) 2013-08-14 2019-02-05 华为技术有限公司 访问ott应用、服务器推送消息的方法及装置
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 深圳壹账通智能科技有限公司 消息推送过程的监听方法、装置、计算机设备及存储介质
CN110781014B (zh) * 2019-10-28 2022-11-01 思必驰科技股份有限公司 基于Android设备的录音数据的多进程分发方法与系统
CN111355802B (zh) * 2020-03-03 2023-04-18 中国邮政储蓄银行股份有限公司 信息推送方法和装置

Citations (3)

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

Family Cites Families (1)

* 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

Patent Citations (3)

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

Also Published As

Publication number Publication date
CN103209392A (zh) 2013-07-17

Similar Documents

Publication Publication Date Title
CN103209392B (zh) 一种跨进程多应用消息推送方法及装置
US11677878B2 (en) Methods and systems for notifications in communications networks
WO2012065381A1 (zh) 一种防止恶意软件发送数据的方法及装置
US10069872B2 (en) Architecture to establish serverless WebRTC connections
CN101227490B (zh) 网络存储方法及系统
US9924042B2 (en) Uniform RCS voice/videomail services
US20120083243A1 (en) Communication Network Signaling
CN105704001A (zh) 一种微信服务器消息分发方法及系统
JP4889813B1 (ja) データ仲介システム
KR20130062983A (ko) 음성메일과 연관된 비디오 콘텐츠에 대한 웹 기반 액세스
EP2439966B1 (en) Information processing system, communication system and communication method
CN101621764A (zh) 基于Java Push机制手机通讯应用的信息传送方法及系统
US20130188559A1 (en) Method for Establishing a Communication Connection over the Internet Between Mobile Terminals, Computer Program, and Storage Medium
CN106789577A (zh) 一种自动发送微信朋友圈的方法及系统
KR20090006120A (ko) 단말기로 인스턴트 메시지를 전송하는 방법 및 시스템
CN101548514B (zh) 在一个移动无线电系统中交换消息的方法和设备
CN101674351A (zh) 移动终端个性化多媒体来电显示装置及其工作方法
CN102571636A (zh) 一种基于开放业务发布平台的消息通信方法及系统
US10299311B2 (en) System and method for ensuring continuous communication between a user device and an emergency dispatcher unit
CN106211104B (zh) 一种传输短信的终端、系统及方法
WO2015039296A1 (en) Correlation of sent and received electronic messages
US8805346B1 (en) Caller information retrieval system for unavailable calls
CN103227977A (zh) 在移动通信网络中实现短信发送或群发的方法及系统
KR101378254B1 (ko) 적응형 메시징 방법 및 시스템
KR20100104063A (ko) 인스턴트 메시지 관리 장치를 포함하는 시스템 및 관리 방법

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