将推送通知发送到目标设备
我有一个为在线商店创建的移动应用程序(iOS和Android)。 此特定版本的应用仅适用于卖家。 其中有一个部分可用作帮助台。 基本上买家可以打开门票,向卖家发送消息等。所以我想做的是每当买家这样做时,卖家应该在他的设备上收到推送通知。
保留买家,卖家和其他一切记录的数据库在单独的服务器上运行。 我可以通过某种方式来定期检查买家开设的新案例。 我希望使用Parse来处理推送通知。
现在我陷入困境的是如何将我的数据库服务器与Parse相关联。
我目前的计划是这样的。
-
该应用程序已启动,卖家首次登录。 Parse SDK将设备注册到其服务器。 除此之外,使用单独的Web服务,我希望保存Parse生成的唯一ID(经过研究 ,我发现合适的唯一ID称为安装ID )以及我的数据库中登录的卖家ID。
-
当cron作业找到一个打开的案例时,它会检索应该转到的卖家ID。 随之而来的是那个安装ID。
-
我的服务器发送一个HTTP请求,使用Parse的REST API向具有该安装ID的设备发布推送通知。
一个问题。 他们没有指定在其文档中传递安装ID的方法。
我想知道这是否可行? 或者,如果有更好的方法来解决这个问题?
很确定这是可能的。 首先,您可以通过PFInstallation
获取PFInstallation
:
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指南 。
您可以使用如下的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的一个安装。
我只是尝试并只在特定设备上获得推送消息:)