Документ Firebase Firestore создан неправильно

Я работаю с облачным хранилищем огня и по какой-то причине не могу создавать новые документы (до этого момента я мог)

FirebaseFirestore db;

Вызов метода createUserDoc для создания нового документа

@Override
protected void onStart() {
    super.onStart();
    createUserDoc();
}

Метод

    private void createUserDoc() {
    db = FirebaseFirestore.getInstance();
    Map<String, Object> userDetails = new HashMap<>();
    userDetails.put("phone" , phoneNumberEditText.getText().toString());
    db.collection("users")
            .document()
            .set(userDetails)
            .addOnCompleteListener(new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            Intent i = new Intent(LogingWithPhoneActivity.this,MainActivity.class);
            startActivity(i);
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
        }
    });
}

примечание - даже пример из официального документа у меня вдруг не заработал

Вы получали какие-либо ошибки? Если официальный пример кода тоже не работает, возможно, у вас есть проблема с конфигурациями вашего проекта. Если вы записываете примерное значение в базу данных, например "db.collections (" users "). Document (" test "). Set (" key "," value ") ‌", это работает? Правильно ли вы следовали руководству «Начало работы»? Также вставьте строку отладки в «onFailure», чтобы можно было прочитать, есть ли ошибки.

Devster - Angelo Cimino 23.10.2018 16:49

Я вставил строку отладки в «onFailure» и не получил вообще никаких ошибок, я получил 0 ошибок (как правило), и я думаю, что «onComplete» никогда не вызывается (если бы это было, то намерение переместило бы пользователя к следующему экран)

Tamir Abutbul 23.10.2018 17:04

Если вы пытаетесь использовать оператор if if (task.isSuccessful()) { // } else { Log.d(TAG, task.getException().getMessage()); }. Какой результат в логарифме?

Alex Mamo 24.10.2018 07:52

@AlexMamo результат в logcat ничего, я вообще не получаю печати

Tamir Abutbul 25.10.2018 15:58
0
4
1 341
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема заключалась в том, что правила firebase были настроены неправильно, после изменения правил проблема была решена.

Странная часть заключается в том, что не было никаких проблем и ни одного журнала ошибок, что странно, потому что обычно, если правила firebase предотвращают доступ к данным, об этом будут журналы.

В любом случае, все, что мне нужно было сделать, это изменить правила в базе данных.

Другие вопросы по теме