3 回答

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
如果您只想發(fā)送通知,可以使用 Firebase Cloud Messages,它可以提供您嘗試自己實(shí)現(xiàn)的功能。 https://firebase.google.com/docs/cloud-messaging
如果您想在 Firestore 中的數(shù)據(jù)更改后發(fā)送通知,您可以使用 FireStore 觸發(fā)器 ( https://firebase.google.com/docs/functions/firestore-events ) 并通過 firebase 函數(shù)調(diào)用發(fā)送通知 (發(fā)送推送使用 Cloud Functions for Firebase 的通知)

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊
我有一個(gè)類似的問題,這就是我解決它的方法:
獲取當(dāng)前添加的項(xiàng)目數(shù)并保存在共享首選項(xiàng)中
打開應(yīng)用程序后,獲取當(dāng)前的項(xiàng)目數(shù)量,并與共享首選項(xiàng)中保存的數(shù)量進(jìn)行比較
設(shè)置一個(gè)條件,如果當(dāng)前項(xiàng)目數(shù)大于共享首選項(xiàng)中保存的數(shù)量,則調(diào)用通知。

TA貢獻(xiàn)1963條經(jīng)驗(yàn) 獲得超6個(gè)贊
我能夠得到我想要的東西,但我不確定這是否是正確的方法。
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.MINUTE, -5);
Date before = calendar.getTime();
Calendar calendar1 = Calendar.getInstance();
Date until = calendar1.getTime();
for (DocumentChange dc : snapshots.getDocumentChanges()) {
Date date = (Date) dc.getDocument().getData().get("notificationDate");
if (dc.getType() == DocumentChange.Type.ADDED) {
if (!before.after(date) && !until.before(date)){
Log.d("life", "Data: "+date);
String title = dc.getDocument().getData().get("notificationTitle").toString();
String body = dc.getDocument().getData().get("notificationBody").toString();
getNotification(title, body);
}
}
}
我在這里所做的是檢索當(dāng)前時(shí)間和當(dāng)前時(shí)間減去 5 分鐘。(您可以選擇所需的延遲分鐘數(shù)),然后設(shè)定一個(gè)條件,必須僅顯示延遲 5 分鐘內(nèi)的通知。
注意: 我知道這不是正確的做法,但這得到了我想要的結(jié)果。如果您不想要我的答案,請告訴我并發(fā)布您自己的答案,以便我確認(rèn)您的答案。
添加回答
舉報(bào)