2016-08-10 3 views
0

Выпуск Описание#ParseServer #OneSignal #ScheduledPush #ParseServerOneSignalPushAdapter

Мы используем OneSignal, как 3-й участник нажимной службу и настроили его с помощью синтаксического анализа-сервер-onesignal-кнопочного адаптера, как мы посылаем отталкиваемся от облака кода. Обычные толкатели работают, но запланированных толчков нет. Независимо от того, что мы установили для параметра push_time в Push.send(), топики отправляются немедленно.

Ожидаемые результаты

Работая по расписанию выталкивает

Фактический результат

Толчки отправляются немедленно, даже если есть push_time параметр установлен на Parse.Push.send().

Как отправить выталкивает

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

Мы не используем базовую службу push-серверов Parse и его push-адаптер ... Вместо этого мы используем OneSignal и parse-server-onesignal-push -adapter. OneSignal поддерживает запланированные нажатия. –

+0

Итак, я думаю, что есть проблема с одним сигнальным адаптером. Вы открыли проблему? https://github.com/parse-server-modules/parse-server-onesignal-push-adapter/ –

+0

Да, но никто не ответил –