gpt4 book ai didi

ios - 在 Cloud Function for Firebase 中设置优先级 Firebase Messaging

转载 作者:可可西里 更新时间:2023-11-01 06:18:53 24 4
gpt4 key购买 nike

我正在使用 Firebase Messaging 向我的 iPhone 应用程序的用户发送通知。为了不在客户端公开应用程序的消息传递服务器 key ,我使用 Cloud Function for Firebase 将通知发送到特定主题。在此之前,我是从应用程序的客户端完成的,并且能够通过制作这种格式的 JSON 来设置消息的优先级:

// Swift code in iPhone app
let body: [String: Any] = ["to": "/topics/\(currentPet)",
"priority" : "high",
"notification" : [
"body" : "\(events[eventType]) for \(petsName.localizedCapitalized)",
"title" : "\(myName.localizedCapitalized) just logged an event",
"data" : ["personSent": myId]
]
]

现在在我的云函数中,我正在尝试制作相同通用格式的有效负载,但一直遇到错误:

消息有效负载包含无效的“优先级”属性。有效属性为“数据”和“通知”。

这是我的有效负载格式和发送:

const payload = {
'notification': {
'title': `${toTitleCase(name)} just logged an event`,
'body': `${events[eventType]} for ${toTitleCase(petName)}`,
'sound': 'default',
'data': userSent
},
'priority': 'high'
};
admin.messaging().sendToTopic(pet_Id, payload);

有人知道我将如何完成设置优先级吗?我是否应该手动执行 HTTP POST 而不是使用 admin.messaging().sendToTopic()

最佳答案

来自Firebase Cloud Messaging documentation on sending messages with the Admin SDK :

// Set the message as high priority and have it expire after 24 hours.
var options = {
priority: "high",
timeToLive: 60 * 60 * 24
};

// Send a message to the device corresponding to the provided
// registration token with the provided options.
admin.messaging().sendToDevice(registrationToken, payload, options)
.then(function(response) {
console.log("Successfully sent message:", response);
})
.catch(function(error) {
console.log("Error sending message:", error);
});

区别在于优先级(和示例中的 ttl)作为单独的 options 参数传递,而不是在有效负载中传递。

关于ios - 在 Cloud Function for Firebase 中设置优先级 Firebase Messaging,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43131748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com