C.K*_*.K. 6 node.js google-cloud-functions firebase-cloud-messaging
我按照此文档设置 FCM,但不起作用。
firebase 函数日志中的错误:
ReferenceError:getMessaging 未定义
https://firebase.google.com/docs/cloud-messaging/send-message#send-messages-to-specific-devices
const functions = require("firebase-functions");
const admin = require("firebase-admin");
admin.initializeApp({ credential: admin.credential.applicationDefault() });
exports.updateUser = functions
.region("australia-southeast1")
.firestore.document("messages/{groupId1}/{groupId2}/{message}")
.onCreate(async (snap, context) => {
console.log("----------------start function--------------------");
const doc = snap.data();
const idFrom = doc.idFrom;
const idTo = doc.idTo;
const contentMessage = doc.content;
admin
.firestore()
.collection("users")
.where("id", "==", idTo)
.get()
.then((querySnapshot) => {
querySnapshot.forEach((userTo) => {
const message = {
message: {
xxxxxxx
},
};
admin
.getMessaging() // <-------
.send(message) // <-------
.then((response) => {
// Response is a message ID string.
console.log("Successfully sent message:", response);
})
.catch((error) => {
console.log("Error sending message:", error);
});
});
});
return { success: true };
});
Run Code Online (Sandbox Code Playgroud)
尝试很多次。
要将 Firebase 功能中的 FCM 与新的 HTTP v1 API 结合使用,请使用:
const functions = require("firebase-functions");
const admin = require("firebase-admin");
// to get the ADC automatically
admin.initializeApp({ credential: admin.credential.applicationDefault() });
....
admin
.messaging()
.send(message)
.then((response) => {
// Response is a message ID string.
console.log("Successfully sent message:", response);
})
.catch((error) => {
console.log("Error sending message:", error);
});
Run Code Online (Sandbox Code Playgroud)
admin.messaging().send(message)我认为这是旧方法,因为在线文档没有提及它。
但它在 v1 有效负载下运行良好,并且 iphone 床边计数显示。
| 归档时间: |
|
| 查看次数: |
3580 次 |
| 最近记录: |