【发布时间】:2019-01-30 23:48:00
【问题描述】:
我已经在我的一个新闻应用程序上使用 Functions 大约 2 周了。但是,我创建了第二个具有不同新闻的新闻应用程序。 PN 的调用使用一个网络钩子发生,该钩子将有关文章的数据发送给该主题的所有订阅者。如果我使用 web 挂钩到我以前的应用程序,它工作得很好。我使用了旧应用中相同的 Functions 代码并将其粘贴到新应用中,但它无法正常工作。
我有:
- 检查当我使用 FCM/APNS 发送通知时是否在 iPhone 上收到通知 - 工作中
- 检查了通知的代码和格式 - 没问题
- 在调用其他函数时进行测试 - 工作
- 电话已订阅推送 - 是
- 设备订阅了主题 - 是的。通过 FCM 主题推送测试。
- 方法调配已启用 - 是
这里是函数的代码:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.sentNotify = functions.https.onRequest((request, response) => {
console.log("notification request received");
console.log(request.body);
let topic = "Martin";//request.body.primaryCategory;
let hottness = request.body.hottness;
let title = request.body.title;
let description = request.body.description;
let thumbnail = request.body.thumbnail;
let link = request.body.url;
const messagePayload = {
notification: {
title: title,
body: description,
icon: 'thumbnail',
sound: 'default',
badge: '0'
},
data:{
link_url: link,
category: "NEWS_CATEGORY"
}
};
const options = {
priority: "high",
timeToLive: 60 * 60 * 24
};
return admin.messaging().sendToTopic(topic, messagePayload, options)
.then(() => {
response.send("OK")
return;
});
});
这是我要发送的请求:
curl -X "POST" "https://us-central1-<my-app>.cloudfunctions.net/sentNotify" \
-H 'Content-Type: application/json; charset=utf-8' \
-d $'{
"hotness": 7000,
"thumbail": "thumbnail",
"title": "Title",
"publishedAt": "2018-08-24T12:37:08.000Z",
"description": "This is the description",
"primaryCategory": "General",
"url": "https://google.com"
}'
【问题讨论】:
标签: javascript firebase firebase-cloud-messaging google-cloud-functions