【发布时间】:2014-05-13 16:58:33
【问题描述】:
我最近被分配了开发通知引擎的任务。对于通知,我们将使用推送通知。我正在为引擎寻找可能的最佳解决方案,因为将来我们还必须将应用程序扩展到其他设备。以下是项目的一些细节
后端: 该应用程序的后端是在 Ruby on Rails 中作为 Web 服务开发的
具有推送通知的设备 iPhone、Android、Pebble(智能手表)、Web 应用程序
当前解决方案: 目前,我们正在考虑为通知制作一个后端数据库表。 Rails 中的工人类将在 1 分钟后运行,并将所有通知推送到存储在数据库中的设备。从 webservice 方法中,我们将数据插入到通知表中。
对于推送通知,我们不想使用 UrbanShip 之类的服务。我们只会使用 Ruby Gems 来实现它们。目前,我们做了一个基于 GCM gem 的 Android 推送通知小演示。
问题:我的解决方法是否正确?或者这种问题有没有更好的解决方案。
编辑:
我认为我之前对问题的描述有点混乱。
最终我们将在 Ruby 中使用 GEMS 来发送推送通知。例如,对于 iOS,我们将使用 Houston 或 Grocer gem,对于 Android GCM。
问题:我们需要一些用于存储通知的数据库表,以便 GEMS(如上所述)可以使用它们将通知发送给用户。现在,要填充数据库表,我们需要在某处编写逻辑,以便我们可以在表中插入通知。
例如,假设当用户首次在应用程序中注册时,我们会向他发送通知。现在,要做到这一点,我们需要编写用于在注册函数中添加通知的代码。
喜欢
public void Register()
{
//Registration logic
//Add a notification in the notification table
}
现在,这是一个问题,因为我们需要在所有需要发送通知的函数中添加通知逻辑。 ROR 或一般情况下还有其他好的解决方案吗? 一些设计模式?
【问题讨论】:
标签: ruby-on-rails rubygems push-notification apple-push-notifications android-notifications