Набор баз данных FireStore никогда не вызывает OnSuccessListener или OnFailureListener - PullRequest
0 голосов
/ 21 июня 2020

База данных Firestore set() не вызывает OnSuccessListener или OnFailureListener и не записывает данные в базу данных онлайн!

Как вы видите в коде, сначала я получаю instanceID через getInstanceId(), и это работает, потому что я вижу операторы журнала.

Но база данных Firestore никогда не запускается. Я не вижу никаких данных в своей базе данных, и оба метода тоже не вызываются.

В журнале нет сообщения об ошибке. Я не понимаю, в чем проблема без сообщения об ошибке: - (

FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener(instanceIdResult -> {
        if(instanceIdResult == null) {
            Log.e(TAG, "Firebase Instance Id Result is null!");
            HyperLog.e(TAG, "Firebase Instance Id Result is null!");
            return;
        }

        String mToken = instanceIdResult.getToken();
        HyperLog.e(TAG, mToken);
        Log.e(TAG,mToken);
        Log.e(TAG,"ID is" + instanceIdResult.getId());

        db.collection(C_USERS).document(eMail).collection(C_DEVICES).document(instanceIdResult.getId())
                .set(deviceInfo)
                .addOnSuccessListener(aVoid -> {
                    Log.e(TAG, "Success!");
                    callBack.onAddUpdateTokenSuccess();
                })
                .addOnFailureListener(e -> {
                    //noinspection Convert2MethodRef
                    Log.e(TAG, "Failure!");
                    callBack.onAddUpdateTokenFailure(e);
                });

Я тестирую это на реальном устройстве с отладочной сборкой, и это устройство имеет inte rnet (Mobile и WiFi).

Ответы [ 2 ]

1 голос
/ 21 июня 2020

Похоже, проблема в недопустимом API в Google Cloud Console. Покопавшись глубже в журналах, я увидел, что «FireStore» пишет эту строку:

Requests to this API securetoken.googleapis.com method google.identity.securetoken.v1.SecureToken.GrantToken are blocked.

Теперь я добавил Token Service API к разрешенным API, и он работает. Оба обратных вызова теперь вызываются успешно, и документ также записан.

0 голосов
/ 21 июня 2020

Убедитесь, что ваш API разрешен или нет в консоли Google CLoud

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