后台:一个Rails应用程序,在Heroku上使用Postgres数据库。使用UIWebView使其成为原生的'在iOS中。在尝试包含推送通知时,有一些宝石,例如APNS,RPush和Grocer等。
但是,他们需要设备令牌才能发送推送通知,并且需要将其链接到正确的用户ID,以便我们将通知发送给合适的人。比如使用聊天功能时。
据我所知,这些宝石更多地用于向所有用户推送通知。为了能够将它们发送给特定点的特定用户,我需要令牌与用户对应。
据我所知,目前还没有相关文件。我想最简单的方法之一是,如果Swift可以直接与Postgres数据库对话,看看谁登录了应用程序,然后将令牌分配给他们?
答案 0 :(得分:5)
我会提前说一件事,虽然这可能很明显,但您必须将用户的设备令牌存储在rails应用程序的模型中。以下是我通常的做法:
POST /user/1234/devices.json {token: "...xxx..."}
如果您想向该特定用户发送推送通知,您可以执行某些操作(使用Rpush,但您可以为其中任何一个修改此内容),例如:
@user.devices.each do |device|
n = Rpush::Apns::Notification.new
n.app = your_rpush_app
n.device_token = device.token
n.alert = "Here's a pretty sweeeeeet message! Eh?"
n.data = {}
n.save!
end
这将导致消息被发送到每个用户设备!您显然可以将其调整为仅使用一个设备,允许多个操作系统等。但是,您明白了这一点:)