当在 Firebase Firestore 中检测到新帖子时,我使用 Firebase Cloud Functions 使用 FCM 发送通知。 我正在将旧应用程序升级到 Firebase Cloud Messaging API HTTP V1,因为旧版 API 现已被 Google 禁用。 我的已弃用 API 日志中的错误向我指出了以下说明:https://firebase.google.com/docs/cloud-messaging/migrate-v1。 但这些说明似乎没有解决使用 Firebase Cloud Functions 时如何迁移(我不 POST 等。我只是在设置令牌和有效负载后调用 admin.messaging().sendToDevice(tokens, Payload) 。 FCM 完成剩下的工作。
仅使用云函数时有迁移说明吗?
我终于明白了。 我试图更改 Firebase 帐户中的服务帐户来解决该问题。 但问题是 Node.js 语法已被弃用。 而不是打电话:
admin.messaging().sendToDevice(tokens, payload)
我必须使用新语法并调用:
admin.messaging().send(message)
并创建一个像这样的
message
对象(我将更改我的有效负载以简化它):
const message = {
"notification": {
"title": payload.notification.title,
"body": payload.notification.body
},
"apns": {
"payload": {
"aps": {
"alert": {
"title": payload.notification.title,
"body": payload.notification.body
},
"sound": "default",
"badge": 1
}
}
},
"token": token
};
对于 apns 属性,请转到此处:https://developer.apple.com/documentation/usernotifications/generate-a-remote-notification
部分信息位于迁移文档中:https://firebase.google.com/docs/cloud-messaging/migrate-v1#update-authorization-of-send-requests
但我没有看到它在哪里显示已弃用的命令
sendToDevice
已更改为send
。