gpt4 book ai didi

ios - 在 Rails 中使用 RPush (APNs) 推送给特定用户

转载 作者:行者123 更新时间:2023-11-29 12:32:53 24 4
gpt4 key购买 nike

背景:一个 Rails 应用程序,在 Heroku 上使用 Postgres 数据库。使用 UIWebView 使其在 iOS 中成为“原生”。当尝试包含推送通知时,有诸如 APNS 之类的 gem。 , RPushGrocer ,等等。

但是他们需要设备 token 才能向其发送推送通知,并且需要将其链接到正确的用户 ID,以便我们将通知发送给正确的人。例如在使用聊天功能时。

据我所知,这些 gem 更多地用于向所有用户更大规模地推送通知。为了能够在特定点将它们发送给特定用户,我需要 token 与用户相对应。

据我所知,没有这方面的文档。我在想最简单的方法之一是 Swift 是否可以直接与 Postgres 数据库对话,看看谁登录了应用程序,然后将 token 分配给他们?

最佳答案

有一件事我要提前说,虽然这可能是显而易见的,但您必须将用户的设备 token 存储在您的 Rails 应用程序的模型中。以下是我通常的做法:

  1. 使用属于用户的 token (字符串)字段创 build 备模型
  2. 创建一个 API 端点,允许您像 POST/user/1234/devices.json {token: "...xxx..."}
  3. 一样存储该 device_token
  4. 在您的 iPhone 应用程序中,注册一个用户以接收推送通知,然后该通知会为您提供设备 token
  5. 将该设备 token 推送到您的 API 端点:)
  6. 当您想向该特定用户发送推送通知时,您会做一些事情(使用 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

这将导致一条消息被发送到每个用户设备!您显然可以将其调整为仅使用一个设备,允许多个操作系统等。但是,您明白了:)

关于ios - 在 Rails 中使用 RPush (APNs) 推送给特定用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35179227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com