Firebase Permisson запрещен после обновления Android-приложения из магазина Play
Я разработал приложение, которое использует аутентификацию телефона Firebase и базу данных Cloud Firestore, и опубликовал его в магазине игр. Моя проблема заключается в том, что когда я обновляю приложение из магазина игр, у меня появляется подобное исключение (пользователь уже успешно вошел в мое приложение).
"com.google.android.gms.tasks.RuntimeExecutionException: com.google.firebase.firestore.FirebaseFirestoreException: PERMISSION_DENIED: отсутствуют или недостаточные разрешения."
Я также несколько раз получал это исключение при отладке приложения. Как решить эту проблему?
Это мои правила Firebase:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
1 ответ
Я получил исключение, подобное этому (пользователь уже успешно вошел в мое приложение)
Это потому, что ваш пользователь уже аутентифицирован. Чтобы избежать такого сообщения, просто подпишите пользователя с помощью следующей строки кода:
FirebaseAuth.getInstance().signOut();
Я также несколько раз получал это исключение при отладке приложения:
"com.google.android.gms.tasks.RuntimeExecutionException: com.google.firebase.firestore.FirebaseFirestoreException: PERMISSION_DENIED: отсутствуют или недостаточные разрешения."
Это потому, что вы не установили правильные разрешения для возможности записи данных в Cloud Firestore. Чтобы решить эту проблему, измените следующую строку кода:
allow read, write: if request.auth != null;
в
allow read, write: if request.auth.uid != null;
Но если вы хотите разрешить нескольким пользователям записывать данные в вашу базу данных или если вы хотите запустить только некоторые тесты, просто используйте следующую строку кода:
allow read, write: if true;