我已经在Heroku和mongoDb上使用GitHub上的parse-server-example的修改后的fork部署了一个Parse Server。我在这里查看了如何在解析服务器上发送推送通知的维基:https://github.com/ParsePlatform/parse-server/wiki/Push 但我正在寻求更深入的回应。我的云代码(cloud / main.js)发送预定的推送通知(在托管的Parse版本上正常运行)是
Parse.Cloud.define('sendPush', function(request, response) {
var userQuery = new Parse.Query(Parse.User);
userQuery.equalTo('username', request.params.targetUsername);
var pushQuery = new Parse.Query(Parse.Installation);
pushQuery.matchesQuery('user', userQuery);
Parse.Push.send({
where: pushQuery,
data: {
alert: 'You have a new message from ' + request.params.fromUsername + '!'
},
push_time: request.params.date
}, {
success: function() {
// Push was successful
response.success('push successful')
},
error: function(error) {
// Handle error
response.error('push failed')
}
});
});
我正在严格使用iOS,我希望在我的Parse Server上再次使用此代码功能。维基指南说我需要配置Parse服务器,我不知道该怎么做或在哪里做。任何帮助表示赞赏。感谢
答案 0 :(得分:2)
来自parse-server wiki:
Select a.date_column, a.sales_column as ty_sales, b.sales_column as ly_sales
from sales_table a
left join sales_table b
on (dateadd(year, -1, a.date_column)) = b.date_column
所以你只需将所有内容放在main.js中。
您还可以在此处找到一个非常全面的指南,用于在解析服务器上设置推送通知:
https://guides.codepath.com/android/Configuring-a-Parse-Server
答案 1 :(得分:2)
您只需将推送通知密钥放在解析配置中即可。在index.js文件中,只需将push对象添加到新的ParseServer初始化中,如下所示:
var server = new ParseServer({
push: {
android: {
senderId: 'your send id',
apiKey: 'your app key'
},
ios: {
pfx: 'path to pfx local',
bundleId: '',
production: false
}
},
databaseURI: 'your database uri',
appId: 'your app key',
masterKey: 'master key',
});
答案 2 :(得分:2)
取决于您如何开始parse-server
。如果直接在命令行上启动它,则可以执行以下操作:
parse-server myConfig.json
服务器整个配置进入此myConfig.json文件,用于推送和服务器的其他方面。以下是myConfig.json
{
"appId": "APP-ID",
"masterKey": "MMASTER-KEY",
"cloud": "relative-path-to-directory-that-contains/main.js",
"push": {
"ios":{
"pfx": "relative-path-to-apple-push-cert.p12",
"bundleId": "com.company.appname",
"production": false
},
"android":{
"senderId": "your-gcm-sender-id",
"apiKey": "your-api-key"
}
}
}
如果你从express或某个节点脚本启动你的解析服务器,答案与其他人说的类似,除了路径必须是绝对路径:
var server = ParseServer({
"appId": "APP-ID",
"masterKey": "MMASTER-KEY",
"cloud": "absolute-path-to-directory-that-contains/main.js",
"push": {
"ios":{
"pfx": "absolute-path-to-apple-push-cert.p12",
"bundleId": "com.company.appname",
"production": false
},
"android":{
"senderId": "your-gcm-sender-id",
"apiKey": "your-api-key"
}
}
})
自从您提出这个问题以来已经过了3个月,所以您可能已经解决了设置parse-server
的最初困惑。如果您仍有疑问,可以帮助您在本地计算机上设置parse-server
,这样您就可以确切地知道在哪里以及在哪里做什么。
答案 3 :(得分:0)
您需要使用推送通知所需的密钥配置您的解析服务器
访问https://github.com/ParsePlatform/parse-server/wiki/Push以了解如何实现这一目标。