使用云功能的iOS后台通知
当应用程序进入后台时,我在获取数据时遇到问题。我使用的是Firebase云函数,我认为我在NodeJS中没有正确编码。我尝试过许多例子和解决方案,如: 可用内容:正确且优先:“高”,但似乎没有任何效果。我必须指出: 通知到达后台和前台,但我可以从前台的通知中读取数据,但数据不是在后台提取的。因此,即使以声音和警报显示,后台也没有通知数据 我认为我在数据有效负载方面做错了什么,所以下面是我的NodeJS方法:使用云功能的iOS后台通知,ios,node.js,push-notification,firebase-cloud-messaging,firebase-admin,Ios,Node.js,Push Notification,Firebase Cloud Messaging,Firebase Admin,当应用程序进入后台时,我在获取数据时遇到问题。我使用的是Firebase云函数,我认为我在NodeJS中没有正确编码。我尝试过许多例子和解决方案,如: 可用内容:正确且优先:“高”,但似乎没有任何效果。我必须指出: 通知到达后台和前台,但我可以从前台的通知中读取数据,但数据不是在后台提取的。因此,即使以声音和警报显示,后台也没有通知数据 我认为我在数据有效负载方面做错了什么,所以下面是我的NodeJS方法: var message = { token: tokenID, notification
var message = {
token: tokenID,
notification: {
title: 'ChatApplication',
body: `${myUsername} send you a message`,
},
android: {
ttl: 3600 * 1000,
notification: {
icon: 'default',
sound: 'default',
click_action: "com.yupi.chatapplication.messaging"
},
data: {
from_user: user_id,
title: 'ChatApplication',
body: `${myUsername} send you a message`
},
},
apns: {
payload: {
aps: {
alert: {
title: 'ChatApplication',
body: `${myUsername} send you a message`
},
badge: 1,
sound: 'default',
content_available: true,
mutable_content: true,
priority: 'high'
},
},
},
};
return admin.messaging().send(message)
.then((response) => {
// Response is a message ID string.
return console.log('Successfully sent message:', response);
})
.catch((error) => {
return console.log('Error sending message:', error);
});
Node.js SDK的正确字段名应该是contentAvailable和mutableContent:不确定是否相关,但正确的字段名是contentAvailable和mutableContent:@HiranyaJayathilaka事实上解决问题的方法是正确的。非常感谢。发布一个答案,我会把它标记为正确答案。谢谢大家竖起大拇指。