如何从 Web 应用程序向移动应用程序发送通知给特定用户
Posted
技术标签:
【中文标题】如何从 Web 应用程序向移动应用程序发送通知给特定用户【英文标题】:How to send notification to specific user from web application to mobile application 【发布时间】:2019-09-14 14:43:53 【问题描述】:我有一个 Web 应用程序和移动应用程序来管理用户包裹。现在,我想当用户收到包裹时,通过移动应用程序从网络应用程序向他发送通知。
我使用OneSignal并成功连接了我的移动应用程序,但不知道哪个以及如何调用api来向特定用户发送通知?
另外,我阅读了文档,但找不到任何方法和示例来满足此要求
【问题讨论】:
您可以使用设备生成的唯一令牌发送推送通知 我知道,但我怎样才能获得特定用户的唯一设备令牌? 使用MyInstanceIDListenerService
github.com/googlesamples/google-services/blob/master/android/…
我的意思是如何在我的网站中访问该令牌并使用该令牌调用 api?
您可以在从设备登录时发送该令牌并存储在服务器端
【参考方案1】:
向移动设备发送推送通知最流行的方式是使用 Google Firebase 推送通知。
每台设备都由 Firebase(Android 或 ios)生成的唯一设备令牌进行跟踪。
您的用例解决方案:
每当用户尝试登录您的应用程序时,只需触发对后端的 API 调用。
该 API 将使用 userId 和设备令牌将条目放入数据库。
当您要发送推送通知时,只需使用 Firebase SDK 根据 userId 从数据库中获取设备令牌。
示例:
为可能是 Android 或 IOS 的多个设备 ID 发送通知。
您可以在 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
【讨论】:
以上是关于如何从 Web 应用程序向移动应用程序发送通知给特定用户的主要内容,如果未能解决你的问题,请参考以下文章
从 Windows Phone 设备向 Web 服务发送推送通知