Firebase Firestore не записывает никакого значения - PullRequest
0 голосов
/ 04 марта 2020

Я использую 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, возможно, вы сможете воспроизвести ошибку и посмотреть, действительно ли это ошибка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...