2 回答

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊
顯然,你也希望數(shù)據(jù)在10分鐘后寫入,即使用戶在數(shù)據(jù)寫入之前關(guān)閉應(yīng)用程序。
實(shí)現(xiàn)此目的的唯一方法是設(shè)置第二臺服務(wù)器。
您的應(yīng)用程序?qū)?shù)據(jù)寫入第二個(gè)服務(wù)器,并指示 10 分鐘后將其發(fā)送到 Firebase 數(shù)據(jù)庫。
第二臺服務(wù)器設(shè)置計(jì)劃任務(wù)(或其他任務(wù))以在 10 分鐘延遲后將數(shù)據(jù)寫入 Firebase。
為了使其可靠,第二個(gè)服務(wù)器需要一個(gè)數(shù)據(jù)庫來存儲請求,以防在有待發(fā)送的寫入請求時(shí)崩潰并重新啟動。然后,當(dāng)它重新啟動時(shí),它需要掃描其表以查找任何應(yīng)該發(fā)送的請求,然后發(fā)送它們。
重新閱讀您的問題時(shí),似乎這可能是您已經(jīng)實(shí)施的。(盡管您沒有提到崩潰和恢復(fù)問題。)

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊
Firebase 實(shí)時(shí)數(shù)據(jù)庫中沒有內(nèi)置功能來向服務(wù)器發(fā)送延時(shí)寫入。唯一類似的功能是onDisconnect
向數(shù)據(jù)庫發(fā)送寫入,當(dāng)服務(wù)器檢測到客戶端已斷開連接時(shí)執(zhí)行該寫入。但是這個(gè)寫操作沒有時(shí)間延遲。
由于此功能未內(nèi)置于 Firebase 中,因此您必須自行構(gòu)建。擁有處理延時(shí)寫入的自定義服務(wù)器端代碼(或云函數(shù))是我能想到的最簡單的方法。
添加回答
舉報(bào)