Android Firebase:如何取消订阅特定主题的所有令牌?

Android Firebase:如何取消订阅特定主题的所有令牌?,android,firebase,firebase-cloud-messaging,Android,Firebase,Firebase Cloud Messaging,在我的应用程序中,我会在需要时订阅不同主题的用户,但我想在特定时间后从服务器(API)而不是设备取消订阅特定主题的所有用户。在这里和其他平台上阅读了不同的答案后,我知道不可能删除一个主题,但当没有令牌注册到该主题时,该主题将被自动删除 所以我想问,是否有任何方法可以取消订阅某个主题的所有令牌,或者使用API而不是firebase控制台删除某个主题?Thanx如果要控制来自服务器的订阅,则需要为每个要修改的客户端使用IID令牌。这件事没有任何理由 为应用程序实例创建关系映射 给定注册令牌和支持的关

在我的应用程序中,我会在需要时订阅不同主题的用户,但我想在特定时间后从服务器(API)而不是设备取消订阅特定主题的所有用户。在这里和其他平台上阅读了不同的答案后,我知道不可能删除一个主题,但当没有令牌注册到该主题时,该主题将被自动删除


所以我想问,是否有任何方法可以取消订阅某个主题的所有令牌,或者使用API而不是firebase控制台删除某个主题?Thanx

如果要控制来自服务器的订阅,则需要为每个要修改的客户端使用IID令牌。这件事没有任何理由

为应用程序实例创建关系映射

给定注册令牌和支持的关系,您可以 创建一个映射。例如,您可以将应用程序实例订阅到 通过调用以下位置的实例ID服务来访问Google云消息主题: 此端点提供应用程序实例的令牌,如图所示:

https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME

管理多个应用程序实例的关系图

使用实例ID服务的批处理方法,可以执行批处理 管理应用程序实例。例如,您可以执行批量操作 向FCM或GCM主题添加或删除应用程序实例。管理 应用程序实例,调用此端点上的实例ID服务, 在JSON正文中提供应用程序实例令牌:

https://iid.googleapis.com/iid/v1:batchAdd

https://iid.googleapis.com/iid/v1:batchRemove


要在何处执行此命令以取消订阅。除非我弄错了,否则每个客户端都必须对某个主题发出自己的取消订阅。我希望取消服务器上的令牌,而不是设备上的令牌。简单地说,我不希望用户在特定时间后被订阅。但我知道这一点并阅读了文档。我想知道是否有任何方法可以在不知道的情况下取消订阅某个主题的所有实例ID,比如告诉firebase我有这个“abs_主题”,请取消订阅该主题的所有令牌。不可能,根据文档中描述的功能。我认为firebase正在针对主题保存令牌,那么为什么不允许开发人员删除它或直接删除主题。无论如何,感谢Doug尝试帮助我。如果您尝试在文档中的功能之外做些事,请提交功能请求。我不敢相信Firebase不允许删除主题或找出谁订阅了某个主题,然后将其全部从该主题中删除。这毫无意义。作为管理员,我们应该有权根据需要删除主题,并从主题中删除所有用户,而不管原因如何。但是,如果某个主题被取消或更改,我不希望用户对不再存在的主题进行长期订阅。谷歌为什么这么做?除了“因为它是谷歌”,没有删除主题或从主题中删除所有设备/用户还有什么理由/理由?