firebase - 聊天应用 FCM 如何为 Android/iOS 平台编写有效负载
问题描述
我正在使用 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;
});
解决方案
它在所有 android 设备和 iPhone SE 上完美运行,其他 iPhone 设备(如 iPhone 6S、7、8、X)等没有弹出通知或警报
这非常令人困惑。但是根据帖子标题,您想了解更多关于向不同平台发送消息的信息。
我搜索了很多不同的解决方案,但仍然无法正常工作
最好包括您已经检查过的链接/解决方案和结果,以便社区下次更好地帮助您。
尽管如此,起初我打算建议FCM v1 的 Platform Overrides,但注意到您正在使用(如果我错了,请纠正我)Firebase Admin(或可能是 Cloud Functions)。
当使用 Firebase Admin SDK 发送消息时,实际上可以在有效负载中使用参数来指定文档中指定的每个可用平台(Android、iOS 和 Web)唯一的项目:
顶级消息参数
android
- 由特定于 Android 消息的字段组成的对象。有关详细信息,请参阅Android 特定字段。
apns
- 由特定于 Apple 推送通知服务 (APNS) 的字段组成的对象。有关详细信息,请参阅特定于 APNS 的字段。
webpush
- 由特定于 WebPush 协议的字段组成的对象。有关详细信息,请参阅WebPush 特定字段。
推荐阅读
- flutter - Dart 中的 ??= 运算符是什么
- python - 使用 pip 安装 jupyter
- python - 如何将包含 Timesamp 对象的字典值列表转换为 Python 中的 datetime 对象?
- android - 为什么我无法创建要求 2 个文本的自定义意图?
- asp.net-core - 无法将 ASP.NET 核心应用程序作为 Windows 服务运行
- c# - 调用 Task.WhenAll 后在 C# 中捕获 AggregateException
- javascript - 访问 json 对象给出未定义的
- kotlin - 在 kotlin 中使用具有泛型类型的类型别名?
- mysql - 如何通过加入获得分组结果
- python - Opencv DNN 网络 1x1 的大小