首页 > 解决方案 > 当用户突然失去网络时,Firebase onDisconnect 花费太多时间来更新实时数据库

问题描述

我正在使用 firebase 制作一个聊天应用程序,我需要立即知道用户是在线还是离线。但是当用户突然失去他的网络时,就会出现 onDisconnect 方法。但是更新实时数据库需要太多时间。

这是我的代码。请分享更好的解决这个问题的方法。

        DatabaseReference infoConnected = FirebaseDatabase.getInstance().getReference(".info/connected");
        final DatabaseReference UpdateRef = FirebaseDatabase.getInstance().getReference("/Status/"+mAuth.getUid());
        infoConnected.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                boolean isCon = dataSnapshot.getValue(Boolean.class);
                if(isCon)
                {
                   DatabaseReference reference = UpdateRef.child("Status");
                   reference.setValue("Online");

                   reference.onDisconnect().setValue("Offline");

                }
            }

提前致谢。

标签: androidfirebasefirebase-realtime-database

解决方案


推荐阅读