【发布时间】:2019-06-19 14:20:36
【问题描述】:
我想向特定设备发送通知,因此我编写了此函数并使其正常工作,但我在用户名中未定义
日志输出:
得到这个
after: { '-LhjfwZeu0Ryr6jYRq5r': { Price: '888', date: '2019-6-19', description: 'Ghh', id: 50, nameOfProblem: 'Vbh', providerName: 'Loy', providerService: 'Carpenter', statusInfo: 'Incomplete', time: '15:22', username:"devas" }}
而username 是undefined
这里是函数
exports.sendPushR = functions.database.ref('/request/{pid}/{uid}/orders')
.onWrite(async (snapshot, context) => {
const registrationTokens = "------";
const providerId = context.params.pid;
const userId = context.params.uid;
const event = context.params;
console.log("event", event);
console.log(`New Order from ${userId} to ${providerId}`);
const afterData = snapshot.after.val(); // data after the write
const username = snapshot.after.val().username;
console.log(afterData);
console.log(username);
const payload = {
notification: {
title: 'Message received',
body: `You received a new order from ${username} check it now! `,
sound: "default",
icon: "default",
}
};
try {
const response = await admin.messaging().sendToDevice(registrationTokens, payload);
console.log('Successfully sent message:', response);
}
catch (error) {
console.log('Error sending message:', error);
}
return null;
});
【问题讨论】:
-
从您共享的数据来看,用户名似乎比您检索的更深
-
@FunKeyFlo 嗯,所以如何访问它们,因为父级是实时数据库生成的密钥
标签: javascript reactjs firebase-realtime-database google-cloud-functions