我正在开发一个需要实现 Android 推送通知的应用程序。
我决定直接使用 Firebase Cloud Messaging;不使用任何其他抽象,例如 AWS SNS 或 Pusher。
我想通过使用以下方法避免在后端存储和管理设备令牌。
在安卓应用中。
- 当用户登录android应用程序时,获取设备令牌但不将其发送到服务器。
- 订阅基于约定约定的主题,以使该主题对该用户来说是唯一的。
- 注销时取消订阅该主题。
在服务器中。
- 每当出现向特定用户发送通知的情况时,根据约定向主题发送推送通知。
我想知道这是否是避免管理设备令牌的可行策略?
反对使用主题的案例。
来自官方文档。
基于发布/订阅模型,FCM 主题消息传递允许您将消息发送到已选择加入特定主题的多个设备。您可以根据需要编写主题消息,FCM 会处理路由并将消息可靠地传递到正确的设备。
例如,当地天气预报应用程序的用户可以选择加入“恶劣天气警报”主题并接收威胁特定区域的风暴通知。体育应用程序的用户可以订阅他们最喜欢的球队的实时比赛比分的自动更新。
当要通知多个设备时,我看到建议使用主题。但是我决定为每个用户创建一个主题,这意味着大多数主题最终只会被一台设备订阅;这种方法可以吗?