即使发送(消息)成功,通知也没有到达 iOS 设备
Posted
技术标签:
【中文标题】即使发送(消息)成功,通知也没有到达 iOS 设备【英文标题】:Notification not reaching iOS device even though send(message) is successful 【发布时间】:2018-12-15 05:31:35 【问题描述】:我正在尝试构建一个 Firebase 云功能来发送通知。我可以使用 FCM 令牌使用控制台直接向 ios 设备发送通知,并且我的 iOS 设备会显示通知。但是,即使 FCM 令牌相同且 send(message) 调用成功,设备也没有使用下面的云功能接收通知。我错过了什么吗?
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);
);
);
);
【问题讨论】:
你实现了 didReceiveRemoteNotification 并且还实现了功能并在后台模式下启用远程通知 你试过sendToDevice()
的方法吗?
您的问题解决了吗?
sendToDevice 帮助
【参考方案1】:
//在消息负载中添加通知
var message =
data:
score: '850'
,
notification:
title: "",
body: ""
token: registrationToken
;
您的代码通常在 android 中运行。在 IOS 中,您需要在消息负载中附加通知并使用 sendToDevice()。试试这个。您必须使用此有效负载获取分数。会工作的
【讨论】:
谢谢。这有帮助。不幸的是,当应用程序处于前台时,我仍在努力在设备上显示通知。以上是关于即使发送(消息)成功,通知也没有到达 iOS 设备的主要内容,如果未能解决你的问题,请参考以下文章