OGeek|极客世界-中国程序员成长平台

标题: android - 向目标设备发送推送通知 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 12:00
标题: android - 向目标设备发送推送通知

我有一个为在线商店创建的移动应用(iOS 和 Android)。此特定版本的应用程序仅供卖家使用。其中有一个部分用作帮助台。基本上买家可以开票,向卖家发送消息等。所以我想做的是每次买家这样做时,卖家应该在他的设备上收到推送通知。

保存买家、卖家和其他一切记录的数据库在单独的服务器上运行。我可以有某种 cron 工作来定期检查买家打开的新案例。我希望使用 Parse处理推送通知。

enter image description here

现在我陷入困境的是如何将我的数据库服务器与 Parse 相关联。

我目前的计划是这样的。

enter image description here

  1. 应用程序启动,卖家首次登录。 Parse SDK 向其服务器注册设备。除此之外,使用单独的网络服务,我希望保存 Parse 生成的唯一 ID(在 research 上,我发现合适的唯一 ID 称为 Installation ID)和登录的卖家 ID在我的数据库中也是如此。

  2. 当 cron 作业找到一个打开的案例时,它会检索它应该去的卖家 ID。连同它,那个安装 ID。

  3. 我的服务器使用 Parse 的 REST API 发送一个 HTTP 请求以向具有该安装 ID 的设备发布推送通知。

一个问题。他们没有在 docs 中指定传递安装 ID 的方法。 .

我想知道这是否可能?或者如果有更好的方法来解决这个问题?



Best Answer-推荐答案


很确定这是可能的。首先你可以通过PFInstallation获取installationId:

PFInstallation.currentInstallation().installationId // swift

[PFInstallation currentInstallation].installationId  // Objective-C

不了解android,但可能类似

ParseInstallation.getCurrentInstallation().getInstallationId() // Java

https://parse.com/docs/osx/api/Classes/PFInstallation.html https://parse.com/docs/android/api/com/parse/ParseInstallation.html

发送推送

然后你实际上必须发送推送:看看 Parse REST guide在“使用高级定位”下。

您可以使用如下 curl 查询:

curl -X POST -H "X-Parse-Application-Id: %appId%" -H "X-Parse-REST-API-Key: %api key%" -H "Content-Type: application/json" -d '{ "where": { "installationId": "%installationId%" }, "data": { "alert": "The Giants scored a run! The score is now 2-2." } }' https://api.parse.com/1/push

这里的重要部分是 { "where": { "installationId": "%installationId%"} 它将推送消息仅发送到与查询匹配的安装 - 正是一个安装使用给定的 ID。

我刚刚尝试并仅在特定设备上收到推送消息

关于android - 向目标设备发送推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33957840/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://sqlite.in/) Powered by Discuz! X3.4