我有一个快速应用程序,配置为向指定的设备令牌发送通知,我能够发送和接收通知。
我的问题是,我目前通过输入设备令牌手动将通知从我的服务器发送到设备。我可以从连接到我的应用程序的firebase数据库中获取令牌。
如何为每个进行数据库更改的事件发送单个设备的令牌。我没有在数据库中分配特定用户(或者我无法弄清楚快递应用程序如何跟踪任何用户)。有没有办法我可以设法获取特定用户,获取他的令牌,然后发送所需的通知。通知内容存在于用户的DB文档中。
我可以放一个观察者/听众。或者还有其他方式。 我是APNS的新手。
P.S:我使用node-apn npm进行APNS连接。
我希望我很清楚。 谢谢!
答案 0 :(得分:1)
您需要关注:
1)。一个新表“device”,用于存储用户的所有设备令牌以及以下内容:
userId
deviceType (should be enum [“android”, “ios”])
deviceId (string, id)
2)。移动应用程序端的两个api:
注册特定的移动设备 - 移动应用程序将在应用程序登录后立即发送“userId”和“deviceId”。用于检查相同“userId”和“deviceId”的记录是否存在的服务器,如果不存在则必须在“设备表”中创建一个
取消注册特定的移动设备 - 移动应用会在从应用退出时将“deviceId”发送为免费。 (这样做是因为有时2个不同的用户可以在同一设备上登录移动应用程序)后端会删除相同设备ID的记录。
最终当您收到任何要向用户发送推送的事件时,请从表中检索设备令牌并将推送发送到该令牌。