取消订阅FCM Web中的主题

dea*_*ool 9 javascript push-notification firebase firebase-cloud-messaging

我在我的网站上成功设置了FCM,它运行良好.我正在使用JavaScript通过订阅向"电影"主题发送通知.

fetch('https://iid.googleapis.com/iid/v1/'+tokenz+'/rel/topics/movies', {
          method: 'POST',
          headers: new Headers({
            'Authorization': 'key=****'
          })
Run Code Online (Sandbox Code Playgroud)

我没有找到任何文档来使用JS取消订阅Web主题.取消订阅单个主题的最佳方法是什么?还有一种方法可以取消订阅所有主题吗?

AL.*_*AL. 10

好问题.从来没有真正打击过我没有建议的方法/指南来取消订阅文档中的FCM Web主题.

如您所知,为了订阅主题,您必须使用Instance ID API.所以我认为你应该使用相同的.我已经浏览了文档,但是没有提到在从单个/多个主题取消订阅单个令牌时要使用的内容.

尽管如此,我现在建议的是batchRemove用来取消订阅主题中的特定令牌.来自文档的示例:

https://iid.googleapis.com/iid/v1:batchRemove
Content-Type:application/json
Authorization:key=API_KEY
{
   "to": "/topics/<YOUR TOPIC NAME HERE>",
   "registration_tokens": ["<YOUR TOKEN HERE>"]
}
Run Code Online (Sandbox Code Playgroud)

我也尝试过DELETE API,但它会删除注册令牌本身(即使其无效).