ios - 如何通过 Java(Spring Boot)使用 FCM 向 iOS 设备发送通知/消息?
问题描述
我已经实现了使用 com.google.android.gcm.server.Sender(在前端使用 FCM 生成的设备令牌)向 Android 发送通知的功能。但我也需要将通知发送到 iOS 设备,那么我该如何配置或更改为 Android 完成的以下代码以向 iOS 发送通知?
Map<String, String> map = new HashMap<String, String>();
map.put("message", message.toString());
map.put("badge", Integer.toString(badgeCount));
map.put("messageId", Integer.toString(emergencyMessage.getMessageId()));
map.put("issuedDateStr",
(emergencyMessage.getIssuedDateStr() != null) ? emergencyMessage.getIssuedDateStr() : "");
map.put("title", pjmProperties.getProperty(APP_TITLE));
map.put("soundname", "default");
map.put("notId", Integer.toString(RandomUtils.nextInt(50001, 75000)));
Message messageObj = new Message.Builder().delayWhileIdle(false).setData(map).build();
sender.send(messageObj, deviceData.getToken(), 1);
我应该如何编写代码以使用 FCM/GCM 向 iOS 设备发送通知?(而不是通过 APNS 发送)
解决方案
为可能是 Android 或 IOS 的多个设备 ID 发送通知。
您可以在 fireBase 中使用 MulticastMessage。
MulticastMessage multiCast = MulticastMessage.builder()
.putAllData(new HashMap<String, String>())
.setApnsConfig(ApnsConfig.builder().build())
.setAndroidConfig(AndroidConfig.builder().build())
.addAllTokens(Arrays.asList("token1","token2"))
.build();
供参考:https ://firebase.google.com/docs/cloud-messaging/send-message
推荐阅读
- java - 迁移到 Storm 2.2.0,Kafka 偏移问题
- c - 如何更改指针在 C 中的函数内引用的地址?
- python - 合并重叠(str)对象
- sobel - Sobel 边缘检测的最后一步是什么?
- google-apps-script - Google Data Studio 社区连接器和应用程序脚本限制(30 个同时执行)
- swift - VNRecognizeTextRequest 在 iOS 15 中停止识别文本
- javascript - 更新 React Flow 选择和悬停状态
- azure-application-insights - Azure Kusto Query:重新排序条形图
- html - 浏览器如何在第一页加载时表现/处理相同的文件名请求?
- c# - 使用 Sql Server 发布 Windows 窗体应用程序