0

我想使用 Firebase Cloud Messaging 向我的应用程序的用户发送推送通知。我有两类:

  1. 国家 1
  2. 国家 2

在应用程序的设置中,用户有单选按钮来订阅国家 1 或国家 2。我已经完成了https://firebase.google.com/docs/cloud-messaging/android/client中描述的步骤,当我使用FirebaseInstanceId.getInstance().getToken(),我正在成功获取设备令牌。通过使用 Firebase 控制台的撰写消息部分,我能够向单个设备发送通知。Firebase 控制台具有三个单选按钮:

1) 用户细分 2) 主题 3) 单机

我了解如何使用设备令牌向单个设备发送消息。现在我试图完全理解“主题消息”、“目标消息”和“用户细分”之间的区别。我在https://firebase.google.com/docs/cloud-messaging/android/topic-messaging阅读以下信息:

主题消息针对吞吐量而不是延迟进行了优化。为了快速、安全地传送到单个设备或小组设备,请将消息定位到注册令牌,而不是主题。

对于我需要的东西,我认为使用“主题消息”会很方便,我将有两个主题:“国家 1”和“国家 2”,在这种情况下,用户决定订阅他们想要接收促销的国家.

“用户细分”意味着我获取一组设备令牌并将它们添加到一个细分,然后我向该细分广播推送通知,对吗?在“主题消息”的情况下,我会让用户订阅他们想要的国家,并且在我的代码中,我会有如下几行让某人订阅特定国家,对吗?:

FirebaseMessaging.getInstance().subscribeToTopic("country1");
FirebaseMessaging.getInstance().subscribeToTopic("country2");

同样,我会简单地使用unsubscribeFromTopic("country1")andunsubscribeFromTopic("country2")来取消订阅用户的主题。

如果您能告诉我我的陈述是否正确,或者您发现我误解了“主题消息”、“目标消息”和“用户细分”之间的概念差异,我将不胜感激。谢谢你。

4

2 回答 2

0

为了您的应用程序的安全,请阅读此内容....

主题消息传递允许任何应用程序客户端订阅主题。安全性不如任何人都可以订阅。更多参考这里

设备组很好,因为您可以定义组的安全功能,如果任何人都可以访问它们,或者只有指定数量的人可以访问该功能。更多参考这里

于 2020-11-06T14:32:07.150 回答
0

我正在寻找的概念性答案在https://firebase.google.com/docs/cloud-messaging/android/send-multiple

向多个设备发送消息:Firebase 云消息传递提供了两种将消息定位到多个设备的方法: 主题消息传递,它允许您将消息发送到已选择加入特定主题的多个设备。设备组消息,允许您向属于您定义的组的多个设备发送消息。

于 2017-12-02T00:54:47.957 回答