Привет, я новичок в флаттере Как я могу заблокировать пользователей в приложении чата, используя флаттер и firebase.. Какова функциональность?
Не имею представления.
Не могли бы вы показать свой прогресс? В этом вопросе почти нет информации или показано, что вы пробовали.
Пожалуйста, уточните вашу конкретную проблему или предоставьте дополнительную информацию, чтобы выделить именно то, что вам нужно. Как сейчас написано, трудно точно сказать, о чем вы спрашиваете.
Спасибо за помощь. Я использовал этот код для блокировки и разблокировки пользователей. Оно работает.
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'package:fluttertoast/fluttertoast.dart';
class Chat with ChangeNotifier {
// Block a user
void blockUser({String blockedUserId, String currentUserId}) async {
await FirebaseFirestore.instance
.collection('blockedUsers')
.doc(currentUserId)
.collection('list')
.doc(blockedUserId)
.set({'blockedUserId': blockedUserId}).then((_) async {
Fluttertoast.showToast(
msg: 'Kullancıyı engellediniz..',
fontSize: 18,
);
notifyListeners();
});
;
}
// Check if a user is blocked
Future<bool> isUserBlocked({String blockedUserId, String currentUserId}) {
// Return true if the blocked user ID is present in the current user's "blockedUsers" collection
// You can use this function to disable chat functionality for blocked users
return FirebaseFirestore.instance
.collection('blockedUsers')
.doc(currentUserId)
.collection('list')
.doc(blockedUserId)
.get()
.then((value) => value.exists);
}
// Unblock a user
void unblockUser({String blockedUserId, String currentUserId}) async {
await FirebaseFirestore.instance
.collection('blockedUsers')
.doc(currentUserId)
.collection('list')
.doc(blockedUserId)
.delete()
.then((_) async {
Fluttertoast.showToast(
msg: 'Engellemeyi Kaldırdınız',
fontSize: 18,
);
notifyListeners();
});
}
Если вы используете Firebase в качестве серверной части аутентификации/авторизации, вам следует немного изменить свою базу данных. Взгляните на это stackoverflow.com/a/37909567/7149247