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

时间:2018-01-30 06:07:46

标签: android firebase firebase-cloud-messaging

在我的应用程序中,我在需要时订阅不同主题的用户,但我希望在特定时间后取消订阅特定主题的所有用户来自服务器(API)而不是来自设备。在这里和其他平台上阅读了不同的答案后,我发现无法删除某个主题,但是当没有注册令牌时,主题将被自动删除。

所以我想问是否有办法从主题中取消订阅所有令牌或使用API​​而不是firebase控制台删除主题? Thanx

1 个答案:

答案 0 :(得分:0)

如果要从服务器控制订阅,则需要为要修改的每个客户端使用IID令牌。这有documentation that describes the HTTP API

  

为应用实例创建关系映射

     

鉴于注册令牌和支持的关系,您可以   创建一个映射。例如,您可以将应用实例订阅到   通过在以下位置调用Instance ID服务来访问Google Cloud Messaging主题   此端点,提供应用实例的令牌,如下所示:

     

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

     

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

     

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

     

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

     

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