Firebase Cloud Messaging 主题被忽略,所有用户不断收到通知
Firebase Cloud Messaging topic is ignored, all users keep getting the notification
TL;DR
我订阅了一个 FCM 主题,然后取消订阅,我的测试设备不断收到针对该主题的通知
一些细节
在我的测试应用程序中,我调用 FirebaseMessaging.getInstance().subscribeToTopic("beta")
订阅了一个名为 “beta” 的主题,几个小时后我找到了它在 Firebase 控制台中。 到目前为止一切顺利.
之后,我退订了那个主题(调用unsubscribeToTopic()
方法),回调成功。可以肯定的是,我还通过使用适当的令牌调用 url 和 Authorization
header :
来检查取消订阅是否已保存
https://iid.googleapis.com/iid/info/{MY_TOKEN}?details=true
因此,我在 json 回复中没有得到任何主题。所以... 到目前为止一切顺利 !
然后,在 Firebase 控制台中,我创建了一个新通知,指定此 “测试版” (见下面的屏幕截图) 并单击 “发送测试消息” 按钮(指定我的测试设备令牌)。
我的问题是:在我之前取消订阅该主题时,我一直在我的测试设备上收到此测试通知!
我做错了什么,有什么想法吗?
我还尝试在 Firebase 控制台中定位一个不存在的主题,但我仍然在我的测试应用程序中收到通知。
好的,看看发生了什么:测试按钮没有考虑到主题。所以解决方案很简单:只需发布通知并在现实生活中尝试,它就会起作用!
TL;DR
我订阅了一个 FCM 主题,然后取消订阅,我的测试设备不断收到针对该主题的通知
一些细节
在我的测试应用程序中,我调用
FirebaseMessaging.getInstance().subscribeToTopic("beta")
订阅了一个名为 “beta” 的主题,几个小时后我找到了它在 Firebase 控制台中。 到目前为止一切顺利.之后,我退订了那个主题(调用
来检查取消订阅是否已保存unsubscribeToTopic()
方法),回调成功。可以肯定的是,我还通过使用适当的令牌调用 url 和Authorization
header :https://iid.googleapis.com/iid/info/{MY_TOKEN}?details=true
因此,我在 json 回复中没有得到任何主题。所以... 到目前为止一切顺利 !
然后,在 Firebase 控制台中,我创建了一个新通知,指定此 “测试版” (见下面的屏幕截图) 并单击 “发送测试消息” 按钮(指定我的测试设备令牌)。
我的问题是:在我之前取消订阅该主题时,我一直在我的测试设备上收到此测试通知! 我做错了什么,有什么想法吗?
我还尝试在 Firebase 控制台中定位一个不存在的主题,但我仍然在我的测试应用程序中收到通知。
好的,看看发生了什么:测试按钮没有考虑到主题。所以解决方案很简单:只需发布通知并在现实生活中尝试,它就会起作用!