private void showingDatafromDatabase() {
if (currentUser != null) {
String uid = currentUser.getUid();
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Users");
ref.child(uid).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
UserInfo info = dataSnapshot.getValue(UserInfo.class);
assert info != null;
String coin = info.getCoins();
String isAvailable = info.getIsRefered();
TextView cointext = view.findViewById(R.id.coinstext);
cointext.setText(coin);
coinChecker = Integer.parseInt(coin);
boolean isRefer = Boolean.parseBoolean(isAvailable);
if (isRefer) {
} else {
inputrefer.setVisibility(View.VISIBLE);
}
querydailyrewards();
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
}
private void querydailyrewards() {
if (currentUser != null) {
String uid = currentUser.getUid();
DatabaseReference queryRef = FirebaseDatabase.getInstance().getReference().child("Refer Code");
Query query = queryRef.child(uid).orderByChild("isCheckin");
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
UserInfo data = dataSnapshot.getValue(UserInfo.class);
assert data != null;
showingDatafromDailyRewards();
} else {
addDailyRewardValue();
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Toast.makeText(getActivity(), databaseError.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
}
{
"rules": {
"Users": {
"$uid": {
".read": "$uid === auth.uid",
".write": "$uid === auth.uid"
}
}
}
}
projectname
|
|Refer Code|
| |
| uid
| |- refercode
| |- uid
|Users |
|
uid
|- coins
|- email
|- name
|- refercode
Я использую правило аутентификации firebase, поэтому только пользователь может получить доступ к собственному контенту, но он работал только для одного пути и показывает мне ошибку отказа в разрешении для другого правила. Правило работает нормально для запроса пользователя, но оно показывает мне ошибку при отказе в передаче в запросе кода ссылки. Я только хочу, чтобы пользователь имел доступ к этому содержимому uid, а не к другому содержимому