最近研究了一下Android推送,在网上搜到了很多种方式,觉得IBM的MQTT协议这种方式还是挺不错的。
下面介绍一下搭建过程:
需要准备的工具如下:
(1)、下载Mosquitto(MQTT的代理,也可以用IBM的ISMB)
http://mosquitto.org/download/
我下载的是mosquitto-1.1.2-install-win32.exe,根据自己的需要下载,不安装这个推送不了消息。
(2)、下载AndroidPushNotificationsDemo
https://github.com/tokudu/Androi ... /archive/master.zip
(3)、下载PhpMQTTClient
https://github.com/tokudu/PhpMQTTClient/archive/master.zip
将PHPMQTTClient部署到PHP服务器上,运行,打开mosquitto安装目录的mosquitto.exe
将以下AndroidPushNotificationsDemo的代码根据自己的情况修改。
public class PushService extends Service { // this is the log tag public static final String TAG = "DemoPushService"; // the IP address, where your MQTT broker is running. //修改成自己的服务器地址
private static final String MQTT_HOST = // "209.124.50.174" // "192.168.12.19" "10.0.2.2" ; // the port at which the broker is running. private static int MQTT_BROKER_PORT_NUM = 1883; // Let's not use the MQTT persistence. private static MqttPersistence MQTT_PERSISTENCE = null;
输入Device target ID ,内容,点击按钮,OK!
PS:
原来其实是不需要那个PHP的,直接用mosquitto_pub.exe就可以测试了,运行客户端程序,在命令窗口中使用Mosquitto_pub.exe -q [Qos级别] -t [主题] -m [发布的内容] 进行测试。这个android客户端例子中订阅的topic是“tokudu/你的deviceID”。
一些别的资料:
http://www.cnblogs.com/yjl49/archive/2012/05/17/2506819.html