我刚刚为我的Web API重写了我的firebase云消息传递代码,现在使用Cloud Function来处理订阅,或者至少是理论。
我可以在哪里取消任何现有的订阅,这样我就可以检查现在看起来是什么,实际上是(这不是之前的一些宿醉,给人的印象是工作)。
这一切都在Firebase的开发实例上,所以我可以删除我想要的任何内容。我使用以下代码设置订阅,这可能是也可能不是coreect,但我认为这意味着我需要查看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);
});
答案 0 :(得分:0)
该主题的Firebase文档似乎不完整。玩耍显示以下内容(至少在撰写本文时有效,已通过Postman验证):
在所有这些请求上,都需要设置标题“ Authorization:key = YOUR_SERVER_KEY”。
来自GET请求的示例输出:
{
"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"
}