Firebase云消息传递中的“主题消息”,“目标消息”和“用户段”之间的差异

时间:2017-12-01 23:36:01

标签: android push-notification firebase-cloud-messaging android-push-notification

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

  1. 国家1
  2. 国家2
  3. 在应用程序的设置中,用户可以使用单选按钮订阅国家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")unsubscribeFromTopic("country2")来取消订阅主题用户。

    如果您可以通过让我知道我的陈述是否正确,或者您是否认为我误解了“主题消息”,“目标消息”和“用户群”之间的概念差异,我将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:0)

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

  

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

答案 1 :(得分:0)

为确保应用程序的安全性,请阅读此内容。...

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

如果用户组可以访问设备组或只有指定数量的人可以访问该功能组,则可以定义设备组的安全性功能。更多参考here