从节点服务器向设备发送 APN

Sending APN from node server to device

我有一个配置为向指定设备令牌发送通知的 Express 应用程序,我能够发送和接收通知。

我的问题是,我目前通过输入设备令牌手动将通知从我的服务器发送到设备。我可以从连接到我的应用程序的 firebase 数据库中获取令牌。

我如何为数据库更改所针对的每个事件发送单个设备的令牌。我没有在数据库中分配特定用户(或者我无法弄清楚 express 应用程序如何跟踪任何用户)。有没有办法我可以设法获取特定用户,获取他的令牌,然后发送所需的通知。通知内容存在于用户的DB Document中。

我可以放一个 observer/Listener 吗?或者有没有其他办法。 我是 APNS 新手。

P.S : 我正在使用 node-apn npm 进行 APNS 连接。

希望我说清楚了。 谢谢!

您需要以下内容:

1).一个新的 table “设备”,用于存储用户的所有设备令牌以及以下内容:

userId
deviceType (should be enum [“android”, “ios”])
deviceId (string, id)

2).两个 api 用于移动应用程序端:

注册一个特定的移动设备 - 移动应用程序将在应用程序登录后立即发送“userId”和“deviceId”。服务器检查是否存在相同“userId”和“deviceId”的记录,如果不存在,则必须在“Device Table”

中创建一个

注销特定移动设备 - 移动应用程序将在从应用程序注销时发送“deviceId”以释放。 (这样做是因为有时 2 个不同的用户可以在同一设备上登录移动应用程序)后端会删除同一设备 ID 的记录。

最终,当您收到任何要向用户发送推送的事件时,从 table 检索设备令牌并将推送发送到该令牌。