不使用GCM将数据发送到特定设备

时间:2013-10-22 20:17:34

标签: php android remote-control

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

2 个答案:

答案 0 :(得分:3)

不使用GCM,您有几种选择:

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

从所有这些我将首先考虑投票。它通常被认为是一种不好的做法,但并不一定如此。对于某些测量,请查看此AT&T blog post

答案 1 :(得分: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/

  4. 接收消息

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

我希望这会有所帮助。