我只是重写了我的Web API的Firebase云消息代码,现在使用云函数来处理订阅,或者至少是理论。
我可以去哪里取消任何现有订阅,以便我可以检查现在似乎正在工作的东西,实际上是(这不是在此之前的宿醉,这给人以工作的印象)。
这全都在Firebase的开发实例上,因此我可以删除我想要的任何东西。我使用以下代码设置了订阅,该代码可能是核心的,但我认为这意味着我需要在Google上而不是Firebase查看,但是我找不到任何东西
let token = req.query.token;
let topic = "presents";
let uri = `https://iid.googleapis.com/iid/v1/${token}/rel/topics/${topic}`;
// Make the request to Google IID
var myHeaders = {
"Content-Type": "application/json",
Authorization: "key=" + secrets.devKey
};
var options = {
uri: uri,
method: "POST",
headers: myHeaders,
mode: "no-cors",
cache: "default"
};
rp(options)
.then(function(response) {
// console.log("rp success", response);
res.status(200).send({
msg: "Ok from Simon for " + token,
payload: response}
);
})
.catch(function(err) {
console.log("[fbm.registerForUpdates] Error registering for topic", err.message);
res.status(500).send(err);
});
firebase文档似乎在此主题上是不完整的。播放显示以下内容(至少在写作时有效,已验证W/Postman):
- 发布https://iid.googleapis.com/iid/v1/iid_token/rel/topics/topic_name请求为主题&令牌
- 获取https://iid.googleapis.com/iid/info/iid_token?details=true请求列出了所有订阅的令牌
- 删除https://iid.googleapis.com/iid/v1/iid_token/rel/topics/topic_name请求删除一个代币的订阅
- 删除https://iid.googleapis.com/v1/web/iid/iid_token请求删除令牌的所有订阅
在所有这些请求上,标题'授权:key = your_server_key'需要设置。
从获取请求中的样本输出:
{
"connectDate": "2018-10-06",
"application": "com.chrome.macosx",
"subtype": "wp:https://192.168.0.196:8020/#9885158F-953C-48BC-BCF5-38ABF2F89-V2",
"scope": "*",
"authorizedEntity": "30916174593",
"rel": {
"topics": {
"sensorUpdate": {
"addDate": "2018-10-07"
}
}
},
"connectionType": "WIFI",
"platform": "BROWSER"
}