簡體   English   中英

Firebase聊天應用程序中的在線用戶

[英]Online users in firebase chat app

我正在使用Firebase數據庫構建一個chatapp。 我需要顯示在線用戶,我該怎么做? 我已經嘗試過了

connectedRef = FirebaseDatabase.getInstance().getReference(".info/connected");
    connectedRef.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot snapshot) {
            boolean connected = snapshot.getValue(Boolean.class);
            if (connected) {

            } else {

            }
        }

        @Override
        public void onCancelled(DatabaseError error) {
            System.err.println("Listener was cancelled");
        }
    });

但是我不知道如何使用它,請幫助我。

為此,您需要在Firebase數據庫中創建一個名為onlineUsers的新類別。 每次用戶連接到您的應用程序時,請將其添加到此新創建的類別中。 然后,您可以查詢該類別以查看確切的用戶數量,如下所示:

int numberOfUsers = dataSnapshot.getChildrenCount();.

如果您需要在成員列表中為在線成員顯示一個綠點,那么在這些新節點中添加這些用戶的方法是將id作為鍵,並將值作為布爾值。 默認的布爾值必須為false ,這意味着用戶尚未登錄。您的新節點應如下所示:

userId1: true
userId2: false
userId3: true

每次用戶登錄時,將該用戶的值從false更改為true 要顯示它們,只需查詢數據庫即可查看哪些用戶的值為true

如果客戶有服務器需要應對,
每個客戶端連接都會報告給服務器,服務器會增加一個coutner。 並且對於這種增量服務器正在通知所有客戶端(例如,使用Firebase數據通知消息)。

這樣,所有客戶端都會在任何給定時間指示有多少個被連接。

(當新用戶登錄時,服務器正在發送有關當前連接數的數據)

暫無
暫無

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

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