4

私は自分のデバイスからhttp形式でプッシュ通知を送信できるAndroidアプリを持っていますが、ここでプッシュ通知を特定の日付と時間、誰かが私がこのプロセスで長時間にこだわっているのを助けてください。Google Cloud機能Node.js Firebase URL

ここは私のノードです。 8080::/?schedulePush日

https://MyProjectName.cloudfunctions.net/sendNotification?to=all&title=hello&body=EnterBodyHere 

は、スケジュールにこの

localhostのように、このプッシュ通知を助けてくださいここで私はプッシュ通知が生成される実行URLを持って

const functions = require('firebase-functions'); 
const admin = require('firebase-admin'); 
admin.initializeApp(functions.config().firebase); 


exports.sendNotification = functions.https.onRequest((req, res) => { 
    const to = req.query.to; 
    const title = req.query.title; 
    const body = req.query.body; 

    var payload; 
    if (body != undefined && body !== '') { 
    payload = { 
     notification: { 
     title: title, 
     body: body 
     } 
    }; 
    } else { 
    payload = { 
     notification: { 
     title: title 
     } 
    }; 
    } 

    var options = { 
    priority: "high", 
    timeToLive: 60 * 60 * 24 
    }; 

    if (to == 'all') { 
    admin.messaging().sendToTopic(to, payload, options) 
     .then(function (response) { 
     res.send(200, 'ok'); 
     }) 
     .catch(function (error) { 
     res.send(200, 'failed'); 
     }); 
    } else { 
    admin.messaging().sendToDevice(to, payload, options) 
     .then(function (response) { 
     res.send(200, 'ok'); 
     }) 
     .catch(function (error) { 
     res.send(200, 'failed'); 
     }); 
    } 
}); 

、 = 17 &月= 10 &時間= 12 &分= 22

答えて

0

現在の雲機能はありません組み込みのスケジューリングメカニズム特定の時間に関数を実行する場合は、他のスケジューラーを使用する必要があります。これについて書かれたblog postと、これについても説明しているsample codeがあります。

+0

私の友人は、プッシュ通知をスケジュールするためにNode.jsエンドポイントを作成するだけでいいと言っています。 URLクエリの日付/時刻......................... like、https://www.npmjs.com/package/cron このライブラリを使用すると、タイムゾーンがあり、それらを使用します。... 私はそれらを試しましたが、それを理解できませんでした。 –

+0

このパッケージは、クラウド関数では動作しません。これは、常に存続する単一のnode.jsインスタンスを実行していないためです。その代わりに、複数の管理対象インスタンスは、機能の需要が時間の経過と共に変化するときに、来たり、やりとりしたりすることができます。 –

+0

その後、スケジュールされた日時にリンクを実行する方法についてご意見はありますか?私のアプリの –

関連する問題