2016-08-10 3 views
0

우리가 제 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); 

답변

0

를 푸시합니다. 현재 parse.com 만 지원합니다. 당신이 정말로 내가 당신을 위해 그것을 할 것입니다 구름 코드에서 작업을 예약하려고 제안이 기능이 필요하면

당신은 here

에 대해 읽을 수 있습니다. 작업 스케줄링은 기본적으로 지원되지 않으므로 임시 해결책을 찾을 수 있습니다. here

+0

구문 분석 서버 기본 푸시 서비스와 해당 푸시 어댑터는 사용하지 않습니다 ... 대신 OneSignal 및 parse-server-onesignal-push -어댑터. OneSignal은 예약 된 푸시를 지원합니다. –

+0

그래서 한 신호 푸시 어댑터 문제가있는 것 같아요. 문제를 열었습니까? https://github.com/parse-server-modules/parse-server-onesign-push-adapter/ –

+0

예하지만 아무도 대답하지 않았습니다. –