우리가 제 3 자 푸시 서비스를 OneSignal 사용하고 우리가 구름 코드에서 푸시를 보내는로서 구문 분석 - 서버 onesignal 푸시 어댑터를 사용하여 구성#ParseServer #OneSignal #ScheduledPush #ParseServerOneSignalPushAdapter
문제 설명. 일반 푸시는 작동하지만 예약 푸시는 작동하지 않습니다. Push.send()에서 "push_time"매개 변수를 설정 한 것과 관계없이 푸시가 즉시 전송됩니다.
예상 결과 스케줄 된 작동
는
실제 결과
가압이 Parse.Push.send 설정 push_time 파라미터()이 있더라도 즉시 전송되는 푸시. 우리가 보내는 방법
는
Parse.Push.send({
where: query,
data: {
"alert": "Voting complete. Click here to see the results.",
"sound": "cheering.caf",
//"badge": "Increment",
"content-available": 1,
"category": "VOTING_COMPLETE",
"qc": request.object.id
},
push_time: pushTime
}, {
success: function() {
console.log('##### PUSH OK');
},
error: function(error) {
console.log('##### PUSH ERROR');
},
useMasterKey: true
});
환경 설정을 푸시 메시지의 스케줄링 구문 분석 서버에서 (아직)이 지원되지 않기 때문에 이유는
var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var path = require('path');
var databaseUri = process.env.DATABASE_URI || process.env.MONGODB_URI;
if (!databaseUri) {
console.log('DATABASE_URI not specified, falling back to localhost.');
}
var OneSignalPushAdapter = require('parse-server-onesignal-push-adapter');
var oneSignalPushAdapter = new OneSignalPushAdapter({
oneSignalAppId:"***************************",
oneSignalApiKey:"***************************"
});
var api = new ParseServer({
databaseURI: databaseUri || 'mongodb://localhost:27017/dev',
cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
appId: process.env.APP_ID || 'myAppId',
masterKey: process.env.MASTER_KEY || '',
fileKey: process.env.FILE_KEY || '******************************',
serverURL: process.env.SERVER_URL || 'http://localhost:1337/parse',
verifyUserEmails: true,
emailVerifyTokenValidityDuration: 2 * 60 * 60,
preventLoginWithUnverifiedEmail: true,
publicServerURL: 'http://***************************/parse',
enableAnonymousUsers: false,
revokeSessionOnPasswordReset: true,
appName: '************************',
emailAdapter: {
module: 'parse-server-simple-mailgun-adapter',
options: {
fromAddress: '[email protected]***************************.com',
domain: 'mg.******************************.com',
apiKey: 'key-******************************',
}
},
oauth: {
twitter: {
consumer_key: "***************************",
consumer_secret: "***************************"
}
},
push: {
adapter: oneSignalPushAdapter
}
});
var app = express();
app.use('/public', express.static(path.join(__dirname, '/public')));
var mountPath = process.env.PARSE_MOUNT || '/parse';
app.use(mountPath, api);
app.get('/', function(req, res) {
res.status(200).send('Make sure to star the parse-server repo on GitHub!');
});
app.get('/test', function(req, res) {
res.sendFile(path.join(__dirname, '/public/test.html'));
});
var port = process.env.PORT || 1337;
var httpServer = require('http').createServer(app);
httpServer.listen(port, function() {
console.log('parse-server-example running on port ' + port + '.');
});
ParseServer.createLiveQueryServer(httpServer);
구문 분석 서버 기본 푸시 서비스와 해당 푸시 어댑터는 사용하지 않습니다 ... 대신 OneSignal 및 parse-server-onesignal-push -어댑터. OneSignal은 예약 된 푸시를 지원합니다. –
그래서 한 신호 푸시 어댑터 문제가있는 것 같아요. 문제를 열었습니까? https://github.com/parse-server-modules/parse-server-onesign-push-adapter/ –
예하지만 아무도 대답하지 않았습니다. –