【发布时间】:2019-01-21 16:15:49
【问题描述】:
我正在尝试为我的 react 本机应用程序部署一个云功能,当数据库中出现新节点时,它会向用户发送通知。为此,我正在使用 Expo 的 Push API,如下所示:https://docs.expo.io/versions/v32.0.0/guides/push-notifications 并遵循此处提供的教程:https://www.youtube.com/watch?v=R2D6J10fhA4
我已经能够获取设备令牌并将它们保存到我的数据库中。但是,由于出现以下错误,我无法将该函数部署到我的数据库中:
31:27 解析错误:Unexpected token, expected,
它在'body: JSON.stringify(messages)' 行抛出了一个致命错误,就好像它在'stringify' 之后需要一个逗号。我非常不确定如何从这里开始,并且似乎找不到任何解决此特定问题的帖子。
感谢任何帮助和/或建议!谢谢。
const functions = require('firebase-functions');
let fetch = require('node-fetch');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.sendPushNotification = functions.database.ref('Omicron-Pi')
.onCreate(event => {
const root = event.data.ref.root;
let messages = [];
root.child('Omicron-Pi/profiles').once('value').then((snapshot) => {
snapshot.forEach((childSnapshot) => {
let pushToken = childSnapshot.val().pushToken;
if (pushToken) {
messages.push({
to: pushToken,
body: 'New Node added'
});
}
});
return Promise.all(messages);
}).then(messages => {
fetch('https://exp.host/--/api/v2/push/send', [
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify(messages)
]);
});
});
【问题讨论】:
标签: javascript firebase-realtime-database firebase-cloud-messaging google-cloud-functions