仅使用云功能时将 Firebase 云消息传递升级到 FCM API HTTP V1

问题描述 投票:0回答:1

当在 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-cloud-messaging
1个回答
0
投票

我终于明白了。 我试图更改 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
};

这里有更多信息:https://firebase.google.com/docs/cloud-messaging/send-message#example-notification-message-with-platform-specific-delivery-options

对于 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

© www.soinside.com 2019 - 2024. All rights reserved.