43

我是 Android 新手,想使用MQTT作为来自服务器的 Android 推送通知器。
我读过MQTT但不太了解。如果有人使用过这个库,请告诉我我必须做什么才能开始使用它..

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

我的基本要求是什么?我的意思是在那儿

  1. 服务器要求?
  2. 某种注册?
  3. 要包含在 android 中的库?
  4. Android 设备的标识符?(因为 C2DM 需要为每台设备提供 Google 帐户)

请在这方面帮助我

4

3 回答 3

56

你需要:

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

Dale Lane 写了一个很好的指南(http://www.dalelane.co.uk/blog/?p=1599),还有一组关于 MQTT 的很好的资源(https://github.com/mqtt /mqtt.github.io/wiki )

于 2012-03-05T17:12:50.470 回答
8

基本步骤

  1. 用PHP安装WAMP服务器(版本应高于5.1.0)
  2. 安装 WAMP 服务器后,启动 WAMP 服务器(以便它可以获取默认配置)。
  3. 打开命令提示符并将目录更改为 PHP{version},

对于前。 光盘 C:\wamp\bin\php\php5.3.0

[1] 安装梨

  • 现在我们必须通过运行以下命令来安装 PHP PEAR(即默认未安装)。

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

    或者

    php -d phar.require_hash=0 go-pear.phar

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

  • 现在在目录C:\wamp\bin\php\php5.3.0PEAR_ENV.reg创建了(注册表文件),因此双击它以PHP.ini使用 PEAR 环境更改文件

  • 现在安装 pear 后,我们必须运行以下命令(可选)。

    梨升级

    pear install 升级通道

    这样 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。
  • 下载并转到rsmb 中的Windows文件夹(您的版本)
  • 启动Broker.exe

现在您的服务器已配置。您可以将其用于推送通知。

于 2012-04-16T10:03:47.627 回答
7

如果您想使用 MQTT 在 android 设备中发送推送通知,那么此演示将最适合您。

通过使用此示例,您可以将推送通知发送到您的 android 设备。

    https://github.com/tokudu/AndroidPushNotificationsDemo

如果您想创建自己的推送服务,如 LEADBOLT、AIRPUSH 等。那么您必须具备以下条件。

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

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

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

于 2012-03-31T05:53:11.433 回答