http://www.bjjrs.net/product/13629681868537.html
1 消息推送原理
九日升Android消息推送组件基于XMPP协议实现Android推送。XMPP(可扩展通讯和表示协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线探测。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息。
九日升Android消息推送组件实现原理见下图:
图1-消息推送原理图
九日升Android消息推送组件由服务器部分和客户端部分组成。每一部分都由XMPP协议组件和外部接口组件构成。XMPP协议组件负责服务器和Android客户端间的连接管理、消息通讯,外部接口组件负责接收应用系统、客户端应用的命令,向应用系统发送接收到的通知消息。
九日升Android消息组件提供基于Tomcat的服务器应用和Android开发jar包。其中基于Tomcat的服务器应用直接在Tomcat上部署即可,Android开发jar包引入Android项目即可。
2 集成方式
1)、服务器部署
九日升Android消息组件Tomcat的服务器应用直接部署在Tomcat中,端口号任意设定。
2)、客户端jar包引用
在Android项目中建立libs目录,然后将提供的Android开发jar包复制到该目录即可。见下图:
图2-jar包引入图
3)、Android项目AndroidManifest.xml文件修改
在该文件中增加以下权限:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
在该文件中注册服务:
<service android:enabled="true"
android:name="com.bjjrs.server.NotificationService"
android:label="NotificationService">
<intent-filter>
<action android:name="com.bjjrs.server.NotificationService" />
</intent-filter>
</service>
至此,九日升Android消息组件集成工作完成。
3 接口方式
1)、服务器端接口采用基于http协议的访问方式,采用http协议从服务器中获取各种信息,实现通知消息的推送。
如使用以下方式和参数就可以实现各种用户消息的查询:
使用如下方式就可以实现各种消息的推送:
http://localhost:8080/notification.do?action=pushNoti&userNames=&title=&content=
2)、Android客户端接口采用广播机制。
消息接收:当XMPP协议组件接收到推送消息时,将按照一定格式广播该消息,通知客户端其他应用接收并处理该消息。
消息发送:客户端应用需要向服务器或者其他客户端发送即时消息时,只需按一定格式广播该消息,XMPP组件就会自动接收该消息并发送到指定的其他客户端。
4 优势特点
1)、系统集成简单,无需复杂的设置。
2)、Android客户端应用和九日升Android消息推送组件完全分离,通过接口相互调用,实现模块应用最优化。
3)、客户端通讯机制采用广播方式,给客户端应用带来极大的灵活性和可扩展性,可以自由处理接收到的推送消息。
4)、九日升Android消息推送组件在服务器端具备消息存储、消息重发、消息路由等功能,在客户端部分具备断线重连、、收到确认、阅读确认、消息发送、命令执行等功能,确保消息能够推送到客户端,同时也保证客户端能够收到、阅读消息。
5 应用范围
九日升Android消息推送组件可在以下场景中使用:
1)、用于消息推送。如:通知下达、应急指挥等。
2)、用户及时消息交互。如在线聊天、工作情况交互等。
3)、用于远程控制。如控制远程客户端的状态、数据上报等。