gpt4 book ai didi

ios - 即使发送(消息)成功,通知也未到达 iOS 设备

转载 作者:太空宇宙 更新时间:2023-11-04 01:38:23 25 4
gpt4 key购买 nike

我正在尝试构建 Firebase 云函数来发送通知。我可以使用 FCM token 通过控制台直接向 iOS 设备发送通知,并且我的 iOS 设备会显示该通知。但是,即使 FCM token 相同并且发送(消息)调用成功,设备也不会使用下面的云功能接收通知。我错过了什么吗?

const admin = require('firebase-admin');
const functions = require('firebase-functions');

admin.initializeApp(functions.config().firebase);

var db = admin.firestore();

exports.requestCreated = functions.firestore
.document('users/{userId}')
.onWrite((change, context) => {
const createdBy = context.params.userId;
console.log("Request created by ",createdBy);
var userRef = db.collection('users').doc(createdBy);
return userRef.get().then(doc => {
console.log('Data: ',doc.data());
console.log('FCM token: ',doc.data().fcmToken);

// This registration token comes from the client FCM SDKs.
var registrationToken = doc.data().fcmToken;

// See documentation on defining a message payload.
var message = {
data: {
score: '850'
},
token: registrationToken
};

// Send a message to the device corresponding to the provided
// registration token.
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);
});
});
});

最佳答案

//在消息负载中添加通知

var message = {
data: {
score: '850'
},
notification: {
title: "",
body: ""
}
token: registrationToken
};

您的代码通常可以在 Android 中运行。在 IOS 中,您需要在消息负载中附加通知并使用 sendToDevice()。试试这个。您必须使用此有效负载获取分数。将会工作

关于ios - 即使发送(消息)成功,通知也未到达 iOS 设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53789822/

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