我试图在应用中开发Push Notifications
功能,首先尝试通过应用发送它们,我已经听说masterKey
是必需的。虽然我没有听说过任何地方我可以将masterKey
放入我的Xcode项目中。
是否有特定的位置在我的Xcode项目中包含masterKey
? masterKey甚至可以用于快速项目吗?
答案 0 :(得分:0)
是的,必须使用masterKey发送推送通知,但由于安全问题,Parse-server不支持从客户端应用程序推送。所以,你需要为它编写一个云函数。一个简单的云功能,可以推送给已经安装了您的应用的所有用户。
Parse.Cloud.define("push", function(request, response){
var message = request.params.message;
//Pushes work with Installation table
//So, you need to select to whom you want to push
var installationQuery = new Parse.Query(Parse.Installation);
//You should set expiration time when push will be expired
//This is optional
var expDate = new Date();
expDate.setDate(expDate.getDate() + 1); //The notification will expire in 1 day
//Setting up push data
var data = {"badge": "Increment", "sound": "default"};
data['alert'] = message;
//Sending push
Parse.Push.send({
where: installationQuery,
data: data,
expiration_time: expDate
},{
success: function () {
response.success("Pushed successfully");
},
error: function (error) {
response.error(error);
},
useMasterKey: true
});
});
在您的iOS应用中,
PFCloud.callFunctionInBackground("push", withParameters: ["message":"Pushing from cloud code"]) {
(response: AnyObject?, error: NSError?) -> Void in
//Do stuffs
}
希望这有帮助
答案 1 :(得分:-1)
masterKey添加服务器端。根据您的设置或实例,您可以在index.js
文件中进行设置。
// With the value of your app's Master Key completed:
masterKey: process.env.MASTER_KEY || '<your app's Master Key>'
如果您使用环境变量,可以使用以下值设置json
文件:
"PARSE_SERVER_MASTER_KEY": "#####",
应该在您设置证书路径的同一文件中。