user1如何阻止user2向user1发送消息。 - Firebase

时间:2017-09-22 05:58:58

标签: android firebase firebase-realtime-database

我有一个用户可以互相聊天的应用程序。一对一。我想让用户能够阻止特定用户列表向他发送消息。

一个代码示例将不胜感激。

1 个答案:

答案 0 :(得分:2)

假设用户1正在尝试向user2发送消息。 您可以在发送邮件之前使用以下代码段运行。

我假设您的firebase数据库中有一个users节点,其中包含数据库中的所有用户。

逻辑:用户1正在尝试向用户2发送消息。如果用户1出现在用户2的阻止列表中,则不允许发送。

FirebaseDatabase database = FirebaseDatabase.getInstance();
    database.getReference()
            .child("users")
            .child("id_of_user2") 
            .child("block-list") // fetching block-list of user2
            .addListenerForSingleValueEvent(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    List<String> blockList = dataSnapshot.getValue(List.class);
                    if (blockList.contains(id_of_user1)){
                        // block list of user2 contains id of user1, 
                        // DO NOT ALLOW TO SEND MESSAGE
                    }
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });