簡體   English   中英

使用 Firebase 和雲功能在特定時間發送推送通知

[英]Send push notification at specific time with Firebase and Cloud functions

我創建了一個平台,健身教練可以在其中向他們的客戶發布鍛煉信息。 他們有一周的計划,他們可以完全填滿一周,但訓練只會在每天 00:00 發布。

我想添加一個功能:在每天鍛煉時的特定時間(教練將決定何時)配置推送通知。 例如每天早上 08:01 或每天下午 5:35

  • 我知道可以使用 firebase 設置預定功能,但我不確定這樣做是否正確。

事實上,如果我使用這個邏輯,我應該每天每分鍾安排一次 function (這太多了)。 例如,有沒有辦法在每天 00:00 啟動 function,如果教練啟用了此功能,可以查看我的數據庫。 然后,延遲啟動推送通知

(例如:我的 function 看到一個教練想在 08:00 發送通知,另一個在 09:30 發送通知。function 可以延遲 8 小時發送推送通知,另一個延遲 9 小時 30 分鍾發送通知)

您對我如何實現此功能有任何想法嗎?

我已經在我擁有的應用程序中實現了類似的東西。 我在 Firebase 中使用 Cloud Scheduler,每 10 分鍾運行一次。

當我的用戶提交特定時間的消息時,我會在數據庫(實時數據庫)中記錄該時間。

雲調度程序啟動的雲 function 循環通過該數據庫,查看用戶輸入的時間。 如果時間在最后 10 分鍾內,則發送消息並從該表中刪除條目。

要使用調度程序調用雲 function,您需要創建 function,如下所示:

exports.findScheduledEvents = functions.pubsub.topic('eventSchedule').onPublish(() => {

其中 eventSchedule 是我的雲計划的名稱。

Firebase 只向您收取您擁有的雲計划數量,而不是您運行它們的頻率。 對我來說,10 分鍾就足夠了,但你可以每分鍾運行一次。 請注意不要使循環通過的表格太大。 正如我所說,我刪除了該條目,以便特定表永遠不會變得太大並且成本很低。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM