在服务器上管理APNS和FCM令牌

约旦

我一直在尝试找出如何在我正在编写的设备注册和推送通知服务器上管理APNS令牌。

问题的症结在于在卸载和应用程序更新中唯一地标识设备。甚至供应商的标识符也可以在安装或更新之间进行更改。苹果和谷歌似乎并不真的希望您能够做到这一点。

似乎存在一些变通办法,例如在iOS设备上使用钥匙串和在Android上使用内部存储,但是据我了解,这些方法中至少有一种需要用户许可才能拒绝某些用户。我想尊重用户的隐私并与他们建立信任。

到目前为止,这是我提出的逻辑:

  1. 将由被唯一标识的存储推令牌application Idplatformuser Iddevice Id(在应用程序的localStorage存储的唯一值) -我们称这个唯一的标识符APUD Id
  2. 我们将拥有一个本质上是upsert端点(就像我通常讨厌upserts或实际上是任何通用端点一样-看来这可能是例外的好情况),它需要更新令牌或其他设备数据并确定是否有一个现有的匹配项APUD Id-如果是这样,请更新该行,否则创建一个新的匹配项
  3. 当将推送通知发送到特定用户的设备时,找到所有尚未被软删除的匹配条目(也许硬删除在这里比较容易,以避免在涉及多个服务实例时出现并发错误,但这很可能是OT-理想情况下,我们要保留这些数据至少在一段时间内出于支持和调试目的)。由于我们无法唯一地标识设备,因此这些通知应使用适当的折叠ID(应允许设备唯一地标识通知),以防止用户接收重复的通知。
  4. 如果Apple或Google做出响应,指示令牌已过期/未注册,请软删除该条目。

问题:

  1. 步骤4是否可靠?有一个更好的方法吗?有什么方法可以通过cron作业来主动管理过期的令牌?这会导致大量的令牌积累而很少过期吗?
  2. 通常有没有更好甚至规范的方法来解决这个问题?
AL。

逻辑看起来不错。它与我在一些答案中建议的方法类似(如果不相同)。

步骤4是否可靠?有一个更好的方法吗?有什么方法可以通过cron作业来主动管理过期的令牌?这会导致大量的令牌积累而很少过期吗?

可靠的是,它应防止令牌堆积并防止不必要的推送请求。

通常有没有更好甚至规范的方法来解决这个问题?

除此以外,我还没有找到更好的方法来处理FCM令牌。

根据您拥有(或可能很快拥有)的任何其他规格,只需确保(尽可能:

  • 每个用户的令牌映射都是准确的(通过每个平台的onTokenRefresh()
  • 过期令牌被删除(或在需要时进行归档,例如调试)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在解析服务器上配置APNS

来自分类Dev

Firebase FCM令牌-何时发送到服务器?

来自分类Dev

Azure API管理-OAuth服务器令牌终结点?

来自分类Dev

在iOS客户端和后端服务器上管理对AWS服务的访问

来自分类Dev

iOS:生产推送通知,来自APNS服务器的无效令牌

来自分类Dev

在APNS服务器中了解未注册令牌的方法(使用Spring Server)

来自分类Dev

Firebase:如何从服务器上的用户名和密码生成访问令牌?

来自分类Dev

FCM服务器实施

来自分类Dev

FCM服务器实施

来自分类Dev

GForge AS服务器管理和管理员

来自分类Dev

在远程服务器上生成SSH和GnuPG密钥。关键管理最佳实践

来自分类Dev

如何在服务器上使承载令牌无效

来自分类Dev

服务器上的Azure移动应用刷新令牌

来自分类Dev

无法订阅,服务器上的通知令牌未更新

来自分类Dev

验证服务器上的Deezer访问令牌

来自分类Dev

连接APNS服务器时出错

来自分类Dev

OpenVPN访问服务器和网络管理器

来自分类Dev

ubuntu服务器和网络管理器

来自分类Dev

我在哪里在我的服务器上安装 APNS 认证?

来自分类Dev

如何在远程服务器上管理Laravel 4

来自分类Dev

Node.js服务器上Postgresql的管理面板

来自分类Dev

如何在AWS服务器上管理用户会话?

来自分类Dev

在世界服务器上管理玩家

来自分类Dev

如何通过plesk面板管理数据库服务器和Web服务器

来自分类Dev

APNS的反馈服务(Apple推送通知服务器)

来自分类Dev

服务器内存管理

来自分类Dev

如何在本地主机和远程服务器上轻松管理Jekyll网页的不同基本URL?

来自分类Dev

如何从服务器端php和mysql管理各种客户端应用程序(android / iphone)之间的会话令牌?

来自分类Dev

CakePHP API 服务器响应时间和 FCM 推送通知

Related 相关文章

  1. 1

    在解析服务器上配置APNS

  2. 2

    Firebase FCM令牌-何时发送到服务器?

  3. 3

    Azure API管理-OAuth服务器令牌终结点?

  4. 4

    在iOS客户端和后端服务器上管理对AWS服务的访问

  5. 5

    iOS:生产推送通知,来自APNS服务器的无效令牌

  6. 6

    在APNS服务器中了解未注册令牌的方法(使用Spring Server)

  7. 7

    Firebase:如何从服务器上的用户名和密码生成访问令牌?

  8. 8

    FCM服务器实施

  9. 9

    FCM服务器实施

  10. 10

    GForge AS服务器管理和管理员

  11. 11

    在远程服务器上生成SSH和GnuPG密钥。关键管理最佳实践

  12. 12

    如何在服务器上使承载令牌无效

  13. 13

    服务器上的Azure移动应用刷新令牌

  14. 14

    无法订阅,服务器上的通知令牌未更新

  15. 15

    验证服务器上的Deezer访问令牌

  16. 16

    连接APNS服务器时出错

  17. 17

    OpenVPN访问服务器和网络管理器

  18. 18

    ubuntu服务器和网络管理器

  19. 19

    我在哪里在我的服务器上安装 APNS 认证?

  20. 20

    如何在远程服务器上管理Laravel 4

  21. 21

    Node.js服务器上Postgresql的管理面板

  22. 22

    如何在AWS服务器上管理用户会话?

  23. 23

    在世界服务器上管理玩家

  24. 24

    如何通过plesk面板管理数据库服务器和Web服务器

  25. 25

    APNS的反馈服务(Apple推送通知服务器)

  26. 26

    服务器内存管理

  27. 27

    如何在本地主机和远程服务器上轻松管理Jekyll网页的不同基本URL?

  28. 28

    如何从服务器端php和mysql管理各种客户端应用程序(android / iphone)之间的会话令牌?

  29. 29

    CakePHP API 服务器响应时间和 FCM 推送通知

热门标签

归档