0

我正在开发一个需要实现 Android 推送通知的应用程序。

我决定直接使用 Firebase Cloud Messaging;不使用任何其他抽象,例如 AWS SNS 或 Pusher。

我想通过使用以下方法避免在后端存储和管理设备令牌。

在安卓应用中。

  1. 当用户登录android应用程序时,获取设备令牌但不将其发送到服务器。
  2. 订阅基于约定约定的主题,以使该主题对该用户来说是唯一的。
  3. 注销时取消订阅该主题。

在服务器中。

  1. 每当出现向特定用户发送通知的情况时,根据约定向主题发送推送通知。

我想知道这是否是避免管理设备令牌的可行策略?

反对使用主题的案例。

来自官方文档

基于发布/订阅模型,FCM 主题消息传递允许您将消息发送到已选择加入特定主题的多个设备。您可以根据需要编写主题消息,FCM 会处理路由并将消息可靠地传递到正确的设备。

例如,当地天气预报应用程序的用户可以选择加入“恶劣天气警报”主题并接收威胁特定区域的风暴通知。体育应用程序的用户可以订阅他们最喜欢的球队的实时比赛比分的自动更新。

当要通知多个设备时,我看到建议使用主题。但是我决定为每个用户创建一个主题,这意味着大多数主题最终只会被一台设备订阅;这种方法可以吗?

4

2 回答 2

0

当要通知多个设备时,我看到建议使用主题

是的,多个设备有共同的听音内容,这就是主题。主题用于一般客户可以接收的消息,因为它是公开的——即任何人都可以订阅和接收发送给它的消息。

建议用于多个设备,但对于同一个用户是使用设备组(有关管理设备组的提示,请参阅我的答案)。但是,如果您不介意“主题公开”部分,那么您的方法应该没问题。

于 2017-09-05T17:00:03.403 回答
0

是的,如果我们想向安装您的应用程序的人发送推送通知,这里需要设备令牌。我的研究我们可以在第一次安装您的应用程序时将设备令牌保存在后端,根据我的理解,这会更好,这样我们就可以轻松地在所有设备上发送推送通知。

于 2018-01-19T07:46:29.550 回答