2016-08-10 12 views
0

問題説明#ParseServer #OneSignal #ScheduledPush #ParseServerOneSignalPushAdapter

私たちは、サードパーティのプッシュサービスとしてOneSignal使用して、我々はクラウドコードからプッシュを送信しているとして、構文解析サーバonesignalプッシュアダプタを使用してそれを構成しています。通常のプッシュは機能していますが、プッシュはスケジュールされていません。 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

1つの信号プッシュアダプタに問題があると思われます。問題を開いたのですか? https://github.com/parse-server-modules/parse-server-onesignal-push-adapter/ –

+0

はい誰も答えていません –

関連する問題