1

我正在寻找将数据(String)从我的服务器PHP)发送到一个特定的 android 设备的最佳方法。我可以检查设备在我的服务器上是否在线/离线(使用 http-post 方法)。但我不知道如何在没有 GCM的情况下将数据发送到特定设备。(我不是在寻找推送通知,我会向最多 100 个用户发送消息。)

4

2 回答 2

3

在不使用 GCM 的情况下,您有多种选择:

  • 应用程序以指定的时间间隔轮询服务器以获取更新。它可能会影响设备的电池寿命和网络使用情况。
  • 应用程序打开与服务器的 TCP 连接,然后服务器使用该连接向应用程序发送更新。不过,我很确定这不是您想在 PHP 中做的事情。
  • 服务器向设备发送一条短信(假设它是一部手机),应用程序拦截它。这将要求您的服务器知道收件人的电话号码,并暗示使用一些 SMS API(通常是付费的)。
  • 应用程序(WebView 或 Web 应用程序)使用 WebSockets连接到服务器
  • 使用不同于 GCM 的推送服务(即 Urban Airship)

从所有这些中,我会首先研究民意调查。这通常被认为是一种不好的做法,但事实并非如此。查看此AT&T 博客文章了解一些测量结果。

于 2013-10-22T20:25:15.887 回答
0

另一种解决方案是使用MQTT

  1. 在您的服务器中安装 MQTT 并创建您的队列。

  2. 使用 PHP 库之一写入 PHP 队列:https ://github.com/mqtt/mqtt.github.io/wiki/libraries

  3. 在 Android 中使用 http://www.eclipse.org/paho/clients/android/接收消息

通信是异步的,所有工作都在您的 LAN 内进行,无需外部公共服务(如 GCM)。

我希望这会有所帮助。

于 2018-09-27T07:17:53.630 回答