Я пытаюсь использовать Firebase Admin SDK для сохранения значений в базе данных Firebase в реальном времени, но что бы я ни делал, ни одно из значений не сохраняется. В отличие от руководств, я начинаю с абсолютно пустой базы данных:
- Я подключен к базе данных (проверено с помощью ссылки .info/connected и ref.addValueEventListener)
- Правила безопасности разрешают как чтение, так и запись
- Использование учетной записи службы и файл json для нее, кажется, анализируются и загружаются правильно
- Если я создаю объект корневой ссылки и печатаю его значение, он правильно указывает на URL-адрес базы данных.
В Firestore созданы коллекция и документ, и если я переключусь на базу данных в реальном времени из представления Firestore, в базе данных также будет эта коллекция и документ.
Но если я нажму на корневую ссылку, документ и коллекция исчезнут. Я также постоянно вижу «данные» как нулевые. Являются ли данные документом? Поле? Это просто говорит о том, что база данных в целом пуста? Иногда он чередуется между «data: null» и «coconut-xxx: null», что странно.
Я также пытался ссылаться на /telemetry/data и писать в него, но это не сработало. Когда я добавляю CompletionListener в setValue, CompletionListener никогда не вызывается, поэтому соединение зависает или что-то в этом роде?
Мой код:
String url = databaseUrl.getProtocol() + "://" + databaseUrl.getHost();
InputStream stream = getClass().getClassLoader().getResourceAsStream("firebaseCredentials.json");
GoogleCredentials credentials = GoogleCredentials.fromStream(stream);
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(credentials)
.setDatabaseUrl(url)
.build();
FirebaseApp.initializeApp(options);
DatabaseReference ref = FirebaseDatabase.getInstance().getReference();
ref.setValueAsync("12345");
Я также пытался отправить карту, как это делается в учебнике, но это тоже не работает.
Я предполагаю, что единственная другая вещь, которая может быть проблемой, заключается в том, что я делаю это внутри плагина IntelliJ Android Studio. Хотя это маловероятно как проблема.
Любая помощь приветствуется. Спасибо!