java - 如何从 Web 应用程序向移动应用程序发送通知给特定用户

标签 java android spring push-notification onesignal

我有一个网络应用程序和移动应用程序来管理用户包裹。现在,我希望当用户收到包裹时,从网络应用程序在移动应用程序上向他发送通知。

我用了OneSignal并成功连接我的移动应用程序,但不知道哪个以及如何调用 api 向特定用户发送通知?

此外,我阅读了文档,但找不到满足此要求的任何方法和示例

最佳答案

向移动设备发送推送通知的最流行方式是使用 Google Firebase 推送通知

每台设备都通过 Firebase(Android 或 iOS)生成的唯一设备 token 进行跟踪。

适合您用例的解决方案:

  • 每当用户尝试登录您的应用程序时,只需触发对后端的 API 调用。

  • 该 API 将使用用户 ID 和设备 token 将条目放入数据库。

  • 当您要发送推送通知时,只需使用 Firebase SDK 根据 userId 从数据库获取设备 token 即可。

示例:

为多个设备 ID(可能是 Android 或 IOS)发送通知。

您可以在 fireBase 中使用 MulticastMessage。

                    MulticastMessage multiCast = MulticastMessage.builder()
                        .putAllData(new HashMap<String, String>() { put("message":"hi"); })
                        .setApnsConfig(ApnsConfig.builder().build())
                        .setAndroidConfig(AndroidConfig.builder().build())
                        .addAllTokens(Arrays.asList("devicetoken1", "devicetoken2"))
                        .build();

供引用: https://firebase.google.com/docs/cloud-messaging/send-message

关于java - 如何从 Web 应用程序向移动应用程序发送通知给特定用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57936558/

相关文章:

java - 如何使用 Spring Boot Data Rest 在同一请求中保存多个对象

java - 如何配置 jetty 7 以使用 syslog 或 log4j

java.lang.ClassNotFoundException : com. mysql.jdbc.驱动程序错误

java - Tomcat 何时将 war 文件解压缩到 ROOT 文件夹?

Android:如何与microSD卡进行SPI通信

java - JPA标准API : Iterate through list and create predicates

java - 如何从外部jar自动运行java任务?

java - 处理两个 JOptionPane showInputDialog 中的 java 取消按钮

android - TextInputLayout 内的 EditText 在顶部留下空白区域

打瞌睡模式下的 Android VOIP 应用程序行为