Firbase Cloud Messaging 中后端令牌处理的最佳实践

Lic*_*itz 6 java spring google-cloud-messaging

我正在阅读FCM 注册令牌管理的最佳实践,并对服务器上的令牌处理有疑问

来自他们的文档:

我们强烈建议在您的代码和服务器中实现令牌时间戳,并定期更新此时间戳。此时间戳必须由您的代码和服务器实现,因为 FCM SDK 不为您提供该时间戳

“在代码中实现令牌时间戳”是否意味着生成时间戳并将其与我的令牌一起存储在数据库中,并在每次使用令牌时检查刷新时间戳?

所以我认为token相关的流程应该是这样的:

  1. 客户端应用程序生成 firebase 令牌并将其传递到后端,并与时间戳一起存储(例如现在 + 5 天)
  2. 当触发推送通知的过程发生时,将从数据库中提取令牌,并将存储的时间戳与当前时间戳进行比较。
  3. 如果当前时间戳大于存储的时间戳,则令牌被视为无效,因此我执行FirebaseAuth.getInstance(myapp).revokeRefreshTokens(token);
  4. 否则时间戳被更新并存储回数据库,并且令牌用于发送推送
  5. api 还应该包含一个端点来检查令牌是否未过期,如果未过期则更新时间戳,否则返回错误

如果我犯了一些错误,请纠正我。