我们正在尝试从Parse迁移时实现客户端推送通知。通过其他平台,讨论等,似乎他们通过云代码实现这一目标 - 为社区提出几个问题 -
TIA。
答案 0 :(得分:0)
没有。主密钥只能在服务器端的云代码中使用,不会向客户端公开,因此当您从云代码调用push api时,需要设置 useMasterKey:true
要向您的Y发送推送,您需要执行以下操作:
在客户端代码中创建ParseInstallation时,请确保还将用户保存在列中。您需要将用户保存在ParseInstallation中,因为您的要求是将推送发送给一个或多个用户,以便了解此用户拥有的设备(当然,一个用户可以拥有多个设备),您需要保存对用户的引用在ParseInstallation类中
接下来,您需要使用以下代码向用户发送推送通知:
Parse.Cloud.afterSave("SendPush", function(request) {
var query = new Parse.Query(Parse.User);
query.equalTo("objectId", "{YOUR_USER_OBJECT_ID"});
/* here you get the user by it's id. if you have another identifier or you want to use another field you can change it. You can also add multiple conditions if you like */
// here you can add other conditions e.g. to send a push to sepcific users or channel etc.
var payload = {
alert: "YOUR_MESSAGE"
// you can add other stuff here...
};
Parse.Push.send({
data: payload,
where: query
}, {
useMasterKey: true
})
.then(function() {
response.success("Push Sent!");
}, function(error) {
response.error("Error while trying to send push " + error.message);
});
});

请确保从客户端发送用户Y的objectId。如果你没有发送,你需要找到一种方法来获取它(可能是从数据库中取出)