第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

如何在firestore android studio中獲取新添加數(shù)據(jù)的通知?

如何在firestore android studio中獲取新添加數(shù)據(jù)的通知?

繁花如伊 2023-10-12 17:12:30
我正在我的應(yīng)用程序上執(zhí)行通知,并且正在使用 firestore。snapshotlistener我的問題是,當(dāng)檢測到數(shù)據(jù)庫中新添加的數(shù)據(jù)時(shí),我想向用戶發(fā)送通知,但是當(dāng)我打開應(yīng)用程序時(shí),即使我沒有添加新數(shù)據(jù),它也會立即顯示現(xiàn)有通知。我需要一些條件,在這些條件下我只能獲取新添加的數(shù)據(jù),或者如果我的數(shù)據(jù)庫數(shù)據(jù)中缺少某些內(nèi)容,則需要克服此問題。下面是我的數(shù)據(jù)庫結(jié)構(gòu)。db.collection("Buyers")                .document(userID)                .collection("Notifications")                .addSnapshotListener(new EventListener<QuerySnapshot>() {                    @Override                    public void onEvent(@Nullable QuerySnapshot snapshots, @Nullable FirebaseFirestoreException e) {                        if (e != null) {                            Log.e(LOG_DB, e.toString());                            return;                        }                        for (DocumentChange dc : snapshots.getDocumentChanges()) {                            if (dc.getType() == DocumentChange.Type.ADDED) {                                String title = dc.getDocument().getData().get("notificationTitle").toString();                                String body = dc.getDocument().getData().get("notificationBody").toString();                                //Method to set Notifications                                getNotification(title, body);                            }                        }                    }                });
查看完整描述

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 的通知



查看完整回答
反對 回復(fù) 2023-10-12
?
呼喚遠(yuǎn)方

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊

我有一個(gè)類似的問題,這就是我解決它的方法:

  1. 獲取當(dāng)前添加的項(xiàng)目數(shù)并保存在共享首選項(xiàng)中

  2. 打開應(yīng)用程序后,獲取當(dāng)前的項(xiàng)目數(shù)量,并與共享首選項(xiàng)中保存的數(shù)量進(jìn)行比較

  3. 設(shè)置一個(gè)條件,如果當(dāng)前項(xiàng)目數(shù)大于共享首選項(xiàng)中保存的數(shù)量,則調(diào)用通知。


查看完整回答
反對 回復(fù) 2023-10-12
?
神不在的星期二

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)您的答案。


查看完整回答
反對 回復(fù) 2023-10-12
  • 3 回答
  • 0 關(guān)注
  • 156 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號