Firebase FCM主题缓存在旧令牌上-用户仍获得推送

Firebase FCM主题缓存在旧令牌上-用户仍获得推送,firebase,firebase-cloud-messaging,cordova-plugin-fcm,Firebase,Firebase Cloud Messaging,Cordova Plugin Fcm,有一个棘手的问题。我有firebase消息,在数据库中记录令牌(如规定)。然后我运行触发器发送到主题(使用函数)。我在取消订阅某个主题时注意到一个bug(名称中有一个空格-因为已修复),因此用户无法正常取消订阅。自从他们开始谈论这个话题。只是想知道是否有办法删除旧代币/到期-然后取消订阅所有主题。基本上,我希望创建一个“重置”按钮,以防这种情况再次发生 我的个人资料上也有同样的问题。然而,我的治疗(和测试)是删除并重新创建我的个人资料。这不是一个理想的解决方案!从那以后,一切都很顺利 基本上,我

有一个棘手的问题。我有firebase消息,在数据库中记录令牌(如规定)。然后我运行触发器发送到主题(使用函数)。我在取消订阅某个主题时注意到一个bug(名称中有一个空格-因为已修复),因此用户无法正常取消订阅。自从他们开始谈论这个话题。只是想知道是否有办法删除旧代币/到期-然后取消订阅所有主题。基本上,我希望创建一个“重置”按钮,以防这种情况再次发生

我的个人资料上也有同样的问题。然而,我的治疗(和测试)是删除并重新创建我的个人资料。这不是一个理想的解决方案!从那以后,一切都很顺利

基本上,我希望创建一个“重置”按钮,以防这种情况再次发生

目前您不能这样做,主题基于发布/订阅模型。因此,订阅某个主题的用户必须使用自己的手机取消订阅,以停止接收与该主题相关的通知


如果您无意中创建了一个主题,而所有用户都取消订阅了该主题,那么它就不再是一个主题,没有人能够订阅该主题或收到与之相关的任何通知。

如果该主题有空间,那么用户是如何订阅的?我在订阅时解决了这个问题,但不知何故忘记了申请取消订阅。深夜编码:)我知道-我在订阅时删除了主题中的任何空格(并添加了一些代码以防止空格)。它现在成功地订阅了该主题。好吧,那么我应该让手机自己管理订阅,而不是在数据库中?哦,如果我有一个名为“AllAreas”的标签,例如,我订阅了,然后取消订阅,只有其他人取消订阅。它删除了主题??这可以解释当时的一些奇怪行为。因为有一个人有这个标签,并且没有得到所有的推送(就像它被设置的那样)。是的,手机无论如何都要管理订阅。当用户订阅某个主题时,手机将订阅该主题,因此当用户取消订阅该手机时,他将不会收到来自该主题的通知。如果需要,可以将每个用户的主题存储在数据库中。确定。是的,目前我正在存储每个用户的主题和电话令牌。然后,当他们添加或删除主题时,我获取提交到数据库的最后一个令牌,并相应地订阅/取消订阅。它为99%的人工作,除了一个人。对于代币,旧代币是否会在您获得新代币后立即过期?或者方法swizzling是否也会保留消息并将其映射到旧令牌?我担心的是,我抓取了错误的令牌,并且某个主题的消息(例如“AllAreas”)没有发送到正确的目标。请检查此项