ubuntu11.04上搭建Android推送服务器

 查阅了一些网上关于Android上实现推送的文章 , 常用的实现方法有:

1.使用android默认C2DM框架

2. APP 保持轮循

3. 采用XMPP协议,自己搭建推送服务器

 

下面介绍一下自己在ubuntu11.04下搭建XMPP推送服务器的方法:

1. 下载Android Push Notification 相关包,包括

androidpn-server-0.5.0-bin.zip
androidpn-demoapp-0.5.0.zip


2. 安装apache2 ,eclipse,android SDK


3. 启动apache服务,并且停止iptables

手动添加iptables规则

socol@socol:~$ sudo vim /usr/bin/iptables-stop.sh
socol@socol:~$ sudo chmod 750 /usr/bin/iptables-stop.sh
socol@socol:~$ sudo chown root:root /usr/bin/iptables-stop.sh

 内容如下:

#! /bin/sh
# 清空 filter 表格規則(無指定表格,則為 filter 表格)
iptables -X

# 清空 nat 表格規則
iptables -t nat -F
iptables -t nat -X

# 清空 mangle 表格規則
iptables -t mangle -F
iptables -t mangle -X

# 指定 filter 表格預設規則
# INPUT、FORWARD、OUTPUT 皆為放行
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

清除防火墙:

socol@socol:~$ sudo /usr/bin/iptables-stop.sh

 

4. 运行解压后的androidpn-server

socol@socol:~/下载/androidpn-server-0.5.0/bin$ mkdir ../logs
socol@socol:~/下载/androidpn-server-0.5.0/bin$ ./run.sh

 

5. 在firefox中输入127.0.0.1:7070,显示设备和推送管理页面

 

 

6. 将androidpn-demoapp导入eclipse中

运行后出现错误:

W/Cannot connect to server.( 1052): 0
W/System.err( 1052): XMPPError connecting to 127.0.0.1:5222.: remote-server-error(502) XMPPError connecting to 127.0.0.1:5222.
W/System.err( 1052):   -- caused by: java.net.ConnectException: /127.0.0.1:5222 - Connection refused
 


根据提示 ,修改androidpn-demoapp-0.5.0/res/raw/androidpn.properties:

apiKey=1234567890
xmppHost=10.0.2.2
xmppPort=5222
 

7. 在firefox中发送消息:

ubuntu11.04上搭建Android推送服务器

 

8. 模拟器/手机上接受到消息:

ubuntu11.04上搭建Android推送服务器

你可能感兴趣的:(android推送)