Я разработал кнопку «Мне нравится» в записи, и когда она щелкает, она добавляет 1 каждый раз.Я хочу только один раз, когда пользователь нажал кнопку, она считается только до одного, но когда она нажимается несколько раз, количество увеличивается одним и тем же пользователем, а это не должно происходить?
Я просто хочу один щелчок, одинобновление счетчика тем же пользователем, больше нет
как мне действовать?
Я использую транзакции в firestore для завершения операции
private void transactionlPostUserl1() {
Log.d(TAG,"hello4");
final DocumentReference PostUserRef = db.collection("users").document(PostAuthorID);
db.runTransaction(new Transaction.Function<Void>() {
@Override
public Void apply(Transaction transaction) throws FirebaseFirestoreException {
DocumentSnapshot documentSnapshot2 = transaction.get(PostUserRef);
long l11 = documentSnapshot2.getLong("l2");
{ transaction.update(PostUserRef, "l2", l11+1);
return null;
}
}
}).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void result) {
Log.d(TAG, "Transaction success: " + result);
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "Transaction failure.", e);
}
});
}