【问题标题】:Communicate to Android App via Rails Server- send data from app to server?通过 Rails Server 与 Android 应用程序通信 - 将数据从应用程序发送到服务器?
【发布时间】:2013-04-22 15:18:49
【问题描述】:

我有一个 Ruby on Rails 应用程序正在运行,它有一个电话号码数据库。我需要在 5 部不同的手机上运行应用程序,以便它们从 Rails 服务器收到带有电话号码的通知(这是一个接一个地完成的,并非所有手机都将号码放在一起)。收到电话号码后,应用程序会检查是否有现有电话。如果没有电话,它会拨打该号码,否则会向 Rails 服务器发送“电话忙”状态。

我正在想办法做到这一点。我弄清楚了它的应用部分:我使用呼叫意图启动了一个新活动,并在我的清单文件中设置了适当的权限,我还可以使用电话管理器检查状态。

但我无法弄清楚通信部分。我首先想到了使用 GCM 的推送通知,然后我什至读到了从我的服务器到我的应用程序的独立 TCP 连接。

我的问题是:我不清楚使用 GCM 是否是强制性的,或者我可以通过实时通信解决它?如果是,怎么做?

PS:只要将电话号码添加到服务器上的数据库中,我就希望发送通知。实时。

22/03/13 编辑:

所以我尝试了 GCM 并构建了我的 Android 应用程序和 Rails 服务器。我可以使用“gcm”gem 几乎实时发送推送通知。

我需要弄清楚应用部分的响应。我需要通过呼叫成功/失败通知来确认号码。如果可以,我如何通过 GCM 做到这一点?

【问题讨论】:

  • PS:只要将电话号码添加到服务器上的数据库中,我就希望发送通知。实时。为此,我建议推送通知“Android GCM”

标签: android ruby-on-rails tcp push-notification


【解决方案1】:

我无法理解你的问题。为什么不能简单地创建一个加号事件并调用 ROR 的 API 并发送成功/失败通知状态。

如果您想将它添加到数据库中,那很好,如果您想在基于 Web 的界面上添加通知,那就完全不同了。使用 Web Sockets 或 Socket IO

【讨论】:

    【解决方案2】:

    我最终使用了 Google Cloud Messaging。它并不完全可靠,并且不适用于某些 Android 手机,但是,我找到了一款适用于我的手机,并且适合我的用例。

    我通过 GCM 将一个号码推送到应用程序,然后应用程序使用拨号意图拨打电话。此外,在拨号时,它还会通过异步帖子更新服务器上的电话和呼叫状态。我为此实现了一个 PhoneStateListener。

    在使用来自 github 的“gcm”gem 时,我意识到 gcm 消息的响应不正确。很多时候,即使消息没有传递,它也会说响应是“成功的”。这是 GCM 不可靠的另一个原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多