Задать вопрос
@VladJD
Junior разработчик Unity, опыт более года.

Почему не удалось инициализировать FirebaseDatabase?

У меня проект на юнити с firebase. Сначала сделал регистрацию - все прекрасно работает, инициализировал все отлично, подключить проект к консоли firebase. Абсолютно также подключил в консоли firebase database realtime, инициализировал в юнити, вроде все нормально, но какой скрипт не пишу - ничего не работает, firebase database не инициализирован. Почему это может быть? или дело в скрипте?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Firebase;
using Firebase.Database;
using Firebase.Extensions;
using UnityEngine.UI;

public class FirebaseDatabaseHandler : MonoBehaviour
{
    public InputField TitleAdIn;
    public InputField DescriptionAdIn;

    private DatabaseReference databaseReference;

    void Start()
    {
        // Инициализация Firebase
        FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task =>
        {
            if (task.IsCompleted)
            {
                databaseReference = FirebaseDatabase.DefaultInstance.RootReference;
                Debug.Log("Firebase initialized successfully.");
            }
            else
            {
                Debug.LogError("Firebase initialization failed.");
            }
        });
    }

    public void SaveData()
    {
        if (TitleAdIn == null || DescriptionAdIn == null)
        {
            Debug.LogError("InputFields are not assigned.");
            return;
        }

        if (databaseReference == null)
        {
            Debug.LogError("Database reference is null. Firebase might not be initialized.");
            return;
        }

        StartCoroutine(SaveDataCoroutine());
    }

    private IEnumerator SaveDataCoroutine()
    {
        string title = TitleAdIn.text;
        string description = DescriptionAdIn.text;

        // Проверка на пустые значения
        if (string.IsNullOrEmpty(title) || string.IsNullOrEmpty(description))
        {
            Debug.LogError("Title or Description is empty.");
            yield break;
        }

        // Создаем объект данных для сохранения
        var data = new
        {
            title = title,
            description = description
        };

        // Путь к вашему объекту в Firebase
        string path = "ads/" + title; // Например, используем название как ключ

        // Сохраняем данные в Firebase
        var setTask = databaseReference.Child(path).SetRawJsonValueAsync(JsonUtility.ToJson(data));

        // Ждем завершения операции
        yield return new WaitUntil(() => setTask.IsCompleted);

        if (setTask.Exception != null)
        {
            Debug.LogError("Error saving data to Firebase: " + setTask.Exception);
        }
        else
        {
            Debug.Log("Data saved successfully!");
        }
    }
}


Ошибка выявляется на моменте условия что databaseReference == null
  • Вопрос задан
  • 56 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы