我正在使用FCM通过下面的应用代码从设备发送消息,它在所有Android设备和iPhone SE上工作完美,其他iPhone设备(如iPhone 6S,7,8,X)等等都没有弹出通知或警报,是否适合两个平台的任何有效负载代码?。
我搜索了很多不同的解决方案,但仍然无法正常工作,任何人都可以帮助我,谢谢。
}).then(result => {
const token_id = result.val();
//const userNameGet = result[1].val();
const payload = {
notification: {
title : "Message",
body: `${userNameGlobal} has sent you a message`,
sound: "default",
priority: "high",
icon: "default"
}
};
return admin.messaging().sendToDevice(token_id, payload);
}).then(response => {
console.log('This was the notification feature.');
return true;
});
答案 0 :(得分:1)
其在所有Android设备和iPhone SE上的完美工作,其他iPhone设备(如iPhone 6S,7,8,X)等没有弹出通知或提醒
这非常令人困惑。但是根据帖子标题,您想要了解有关向不同平台发送消息的更多信息。
我搜索了很多不同的解决方案,但仍无法正常工作
最好包含您已检查过的链接/解决方案,以便社区下次更好地为您提供帮助。
总而言之,起初我打算建议FCM v1's Platform Overrides,但发现你正在使用(如果我错了,请纠正我)Firebase管理员(或可能是云功能)。
使用Firebase Admin SDK发送消息时,实际上您可以在有效负载中使用参数来指定docs中指定的每个可用平台(Android,iOS和Web)的唯一项:
顶级消息参数
android
- 由特定于Android消息的字段组成的对象。有关详细信息,请参阅Android-specific fields。
apns
- 由Apple推送通知服务(APNS)特定的字段组成的对象。有关详细信息,请参阅APNS-specific fields。
webpush
- 由特定于WebPush协议的字段组成的对象。有关详细信息,请参阅WebPush-specific fields。