Я использую Firebase Firestore , но он не хранит никаких значений и не выдает сообщений об ошибках.
private var mCustomerDatabase : FirebaseFirestore = FirebaseFirestore.getInstance()
override fun saveUserInfo(uid: String, profile: Database.UserProfile) {
Log.d(TAG, "saveUserInfo -Inside")
mCustomerDatabase
.collection("app")
.document("users")
.collection("customers")
.document(uid)
.set(profile, SetOptions.merge())
.addOnSuccessListener { Log.d(TAG, "saveUserInfo - DocumentSnapshot successfully written!") }
.addOnFailureListener { e -> Log.w(TAG, "saveUserInfo - Error writing document", e) }
}
Database.UserProfile - это класс данных например, Google "Пользовательские объекты" Пример (очевидно, с другими переменными):
data class City(
val name: String? = null,
val state: String? = null,
val country: String? = null,
val isCapital: Boolean? = null,
val population: Long? = null,
val regions: List<String>? = null
)
Правила для Firebase :
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write, delete, update: if true;
}
}
}
Странно, что нет сообщение об ошибке, только оно не работает. Сообщение (saveUserInfo -Inside) печатается, но ни одно из них не выдает журнал успеха, а не журнал ошибок.
Он находится в отдельном модуле под названием модель - я не знаю, влияет ли это, но не должно.
Что бы это могло быть? - Я тестировал на onCreate, и он пишет нормально с тем же кодом. Поэтому я сбрасываю ошибку импорта или конфигурации.
Обновление: Я пробовал каждый пример кода из документации и не работает. Поскольку сообщения нет вообще, я думаю, что это именно то, что я использую модульное приложение, gradle app , у которого есть сервис google, не найден реализацией firebase на модели модуля. Самое смешное, что база данных RealTime работает нормально, я думаю, что это может быть какой-то ошибкой функции FireStone.
Я сообщил в Google, потому что даже если это какая-то ошибка на моей стороне, у нее должно быть какое-то сообщение скажи, что я сделал не так ...
Я хотел бы знать, есть ли еще люди, которые имеют эту проблему. Если вы можете попытаться вызвать функцию Firebase внутри модуля с именем model - вы просто передаете некоторую аутентификацию firebase в базу данных и попытаетесь создать документ с этим uid, возможно, вы сможете воспроизвести ошибку и посмотреть, действительно ли это ошибка