2012-03-05 24 views
39

我是Android新手,希望使用MQTT作为Android的推送通知器。
我已阅读约MQTT但不明白。如果任何一个使用了这个库,以便PLZ告诉我,我必须做的,开始使用它..在android中使用MQTT的基本步骤

我有一个Java服务器(在Windows上运行)和大量客户端(Android手机上我的应用程序将被安装)。我的服务器将随时向所有或某些特定客户端发送消息。

我的基本要求是什么?我的意思是有

  1. 服务器要求?
  2. 某种注册?
  3. 要在android中包含的库?
  4. Android设备的标识符? (如C2DM要求谷歌帐户,每个设备)

plz帮助我在这方面

回答

52

您需要:

  1. 它运行在服务器端的MQTT经纪人。这可能就像是开源的蚊子经纪人。
  2. 您的Android应用中包含的MQTT客户端库,可让您的应用连接,订阅和发布消息。在http://mqtt.org/software
  3. 上列出的许多Java选项提供了一种唯一标识用户或设备的方法,然后将其用作主题,以便您可以单独发布消息到一个设备。

山谷里写了这个(http://www.dalelane.co.uk/blog/?p=1599)一个很好的指南,也有关于MQTT一套好的资源(https://github.com/mqtt/mqtt.github.io/wiki

+4

戴尔莱恩的旧链接已损坏。这里是新的http://dalelane.co.uk/blog/?p=1599 – nanospeck 2014-10-04 14:56:18

+3

如果有人在寻找示例应用程序的Android Studio端口,我在这里做了一个:https://github.com/bytehala/ android-mqtt-quickstart – lemuel 2016-03-30 16:44:06

+1

@lemuel我到达这里是因为我正在寻找如何为MQTT编写Android应用程序。虽然Dale Lane的博客解释了它,但他的示例使用了旧的IBM MQTT库,并且应用程序中的许多代码已被弃用。真正帮助我的是你的示例应用程序。这真的很棒!谢谢。 – eepty 2017-01-11 17:09:06

7

如果你想使用MQTT在Android设备发送推送通知,然后这个演示将最适合你。

通过使用这个例子,你可以发送推送通知到你的Android设备。

https://github.com/tokudu/AndroidPushNotificationsDemo 

如果你想创建一个像LEADBOLT,AIRPUSH,等你自己推入服务..然后你不得不需要以下的东西。

[1]配置自己的服务器发送推送通知。 对于配置服务器.. (如tokudu在PHP,WAMP工作)[A]安装PEAR [B]安装SAM [C]配置SAM

[2]您需要mosquitto或IMB的RSMB来选择目标Android设备。 [3]你需要一些android代码来接收通知,发送保持活动信号到服务器,创建与服务器的连接等...(可以在TOKUDU示例中找到)。

如果您有任何问题,然后告诉我,我一定会帮助你。

+0

谢谢。你能帮我设置和配置apache服务器中的消息代理SAM吗? – Viswa 2012-04-14 19:26:07

+0

警告:该项目使用以前版本的MQTT,它可以正常工作,但它不提供验证(用户名/密码)的功能。 – 2015-07-30 17:24:41

8

基本步骤

  1. 安装使用PHP的WAMP服务器安装WAMP服务器(版本应该比 5.1.0上)
  2. ,启动WAMP服务器(这样 能获取默认配置)。
  3. 打开命令提示,将目录更改到PHP {版本},

对于防爆。C:\wamp\bin\php\php5.3.0

[1] 安装PEAR

  • 现在我们必须通过运行下面的命令来安装PHP PEAR(即,不是默认安装) 。

    PHP -d phar.require_hash = 0 ./PEAR/go-pear.phar

    OR

    PHP -d phar.require_hash = 0去-pear.phar

  • 现在检查在C:\wamp\bin\php\php5.3.0\PEAR (安装与否)下的目录PEAR。在目录

  • 现在C:\wamp\bin\php\php5.3.0PEAR_ENV.reg(注册表文件)的创建,使上双击改变PHP.ini文件梨invironment

  • 现在梨安装,我们必须运行下面的命令(可选的)。

    梨升级

    梨安装升级通道

    所以PEAR设置现已完成

[2] 安装SAM(简单的异步消息传递)

  • 要安装SAM我们必须运行以下命令

    转到C:\ WAMP \ BIN \ PHP \ php5.3.0

    PECL安装-B SAM

[3] 选择并运行Mosquitto或RSBM

  • 真正的小型消息代理(RSMB)是一个简单的MQTT代理,也由IBM提供的 http://www.alphaworks.ibm.com/tech/rsmb。它默认运行在 端口1883上。在我们的架构中,它接受来自 服务器的消息并将它们传递给正确的设备。 RSMB也可以被 替换为Mosquitto服务器http://mosquitto.atchoo.org/
  • 让我们走吧RSMB。
  • 下载并转到的Windows文件夹中RSMB(您的版本)
  • 开始Broker.exe

现在你的服务器配置。您可以使用它来推送通知。