最近研究了一下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