我有一个为在线商店创建的移动应用(iOS 和 Android)。此特定版本的应用程序仅供卖家使用。其中有一个部分用作帮助台。基本上买家可以开票,向卖家发送消息等。所以我想做的是每次买家这样做时,卖家应该在他的设备上收到推送通知。
保存买家、卖家和其他一切记录的数据库在单独的服务器上运行。我可以有某种 cron 工作来定期检查买家打开的新案例。我希望使用 Parse处理推送通知。
现在我陷入困境的是如何将我的数据库服务器与 Parse 相关联。
我目前的计划是这样的。
应用程序启动,卖家首次登录。 Parse SDK 向其服务器注册设备。除此之外,使用单独的网络服务,我希望保存 Parse 生成的唯一 ID(在 research 上,我发现合适的唯一 ID 称为 Installation ID)和登录的卖家 ID在我的数据库中也是如此。
当 cron 作业找到一个打开的案例时,它会检索它应该去的卖家 ID。连同它,那个安装 ID。
我的服务器使用 Parse 的 REST API 发送一个 HTTP 请求以向具有该安装 ID 的设备发布推送通知。
一个问题。他们没有在 docs 中指定传递安装 ID 的方法。 .
我想知道这是否可能?或者如果有更好的方法来解决这个问题?
Best Answer-推荐答案 strong>
很确定这是可能的。首先你可以通过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/
|