我想使用 Firebase Cloud Messaging 向我的应用程序的用户发送推送通知。我有两类:
- 国家 1
- 国家 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")
来取消订阅用户的主题。
如果您能告诉我我的陈述是否正确,或者您发现我误解了“主题消息”、“目标消息”和“用户细分”之间的概念差异,我将不胜感激。谢谢你。