当用户注销我的应用程序并且我不再希望他收到设备通知时,我该如何处理这种情况。Firebase Cloud Messaging - 处理注销
我试图
FirebaseInstanceId.getInstance().deleteToken(FirebaseInstanceId.getInstance().getId(), FirebaseMessaging.INSTANCE_ID_SCOPE)
但我仍然收到通知到我的设备的registration_id
。
我还相信,这是我的令牌应该删除:
FirebaseInstanceId.getInstance().getToken(FirebaseInstanceId.getInstance().getId(), FirebaseMessaging.INSTANCE_ID_SCOPE)
或者干脆FirebaseInstanceId.getInstance().getToken()
)。
我也试过FirebaseInstanceId.getInstance().deleteInstanceId()
,但接下来我打电话FirebaseInstanceId.getInstance.getToken
我收到null(它在第二次尝试中有效)。
我想,在deleteInstanceId
之后,我可以立即再次拨打getToken()
,但它看起来像一个黑客。还有this answer其中规定不应该这样做,但它建议删除显然不起作用的令牌。
那么处理这个问题的正确方法是什么?
这是唯一的“发件人ID”,当我打电话为gettoken或deleteToken没有抛出一个错误。当我使用我的Firebase控制台中的文本项目ID时,这两种方法都会抛出。然后我使用了我在googleservices.json中找到的数字ID,它看起来像是有效的。然后通过getId(),它也没有抛出。所以我认为就是这样。 –
至于黑客,我必须在deleteInstanceId后立即调用它,因此它在第一次返回null,然后在登录时调用它以使其工作。这就是为什么我认为这是一个黑客。 –
我会试着看看我是否可以稍后再做一些测试并复制行为。如果我有时间,会回到这里。干杯! –