Firebase-databasegetting started with firebase-database

추가 설정 옵션

Firebase SDK의 로드 지연(CDN에서 추가)

전체 페이지가 로드될 때까지 Firebase SDK 포함을 지연시킬 수 있습니다.

  1. 먼저 Firebase SDK의 각 태그에 플래그를 추가한 후 두 번째 스크립트를 사용하여 Firebase 초기화를 지연시킵니다. 예를 들면 다음과 같습니다.

  2. 파일을 만든 후 파일에 다음을 포함시킵니다.

단일 앱에서 Firebase 프로젝트 여러 개 사용

대부분의 경우 기본 앱 하나에서만 Firebase를 초기화하면 됩니다.
이 앱을 통해 유사한 두 가지 방법으로 Firebase에 액세스할 수 있습니다.

간혹 동시에 Firebase 프로젝트 여러 개에 액세스해야 하는 경우가 있습니다. 예를 들어 한 Firebase 프로젝트의 데이터베이스에서 데이터를 읽어 다른 Firebase 프로젝트에 파일을 저장하고 싶을 수 있습니다. 또는 두 번째 프로젝트를 인증되지 않은 상태로 유지하면서 한 프로젝트를 인증하려 할 수도 있습니다.

Firebase 자바스크립트 SDK를 사용하면 단일 앱에서 Firebase 프로젝트 여러 개를 동시에 초기화하고 사용할 수 있으며, 이 때 각 프로젝트에서는 자체 Firebase 구성 정보를 사용합니다.

개발용 로컬 웹 서버 실행

웹 앱을 빌드하는 경우, Firebase 자바스크립트 SDK의 특정 부분에서는 로컬 파일 시스템이 아닌 서버에서 웹 앱을 제공하라고 요구합니다. 이 경우 Firebase CLI를 사용하여 로컬 서버를 실행할 수 있습니다.

앱에 Firebase 호스팅을 설정했다면 다음 단계 중 일부는 이미 완료된 상태일 수 있습니다.

  1. 컴퓨터의 어느 곳에서든 다음 npm 명령어를 실행합니다.

    npm install -g firebase-tools
  2. Google에 로그인합니다. 다음 명령어를 실행합니다.

    firebase login

    이 명령어는 로컬 머신을 Firebase에 연결하고 Firebase 프로젝트에 대한 액세스 권한을 부여합니다.

  3. 로컬 앱 디렉터리의 루트에서 다음 명령어를 실행합니다.

    firebase init

    이 초기화 명령어는 다음을 수행합니다.

    • 로컬 앱 디렉터리를 Firebase에 연결합니다.
    • Firebase 호스팅에 필요한 을 생성합니다.
    • 공개 정적 파일이 포함된 공개 루트 디렉터리(HTML, CSS, JS 등)를 지정하라는 메시지를 표시합니다.

      Firebase가 찾는 디렉터리의 기본 이름은 ‘public’입니다.
      나중에 파일을 직접 수정하여 할 수도 있습니다.

  4. 개발용 합니다. 로컬 앱 디렉터리의 루트에서 다음 명령어를 실행합니다.

    firebase serve

4단계: (선택사항) CLI 설치 후 Firebase 호스팅에 배포

Firebase 웹 앱을 Firebase 호스팅 사이트에 연결한 경우 사이트의 콘텐츠와 구성을 지금(웹 앱을 설정할 때) 배포하거나 나중에 언제든지 배포할 수 있습니다.

  1. Firebase를 배포하려면 Firebase CLI(명령줄 도구)를 사용하면 됩니다. CLI를 설치하거나 최신 CLI 버전으로 업데이트합니다.

    컴퓨터의 어느 곳에서든 다음 npm 명령어를 실행합니다.

    npm install -g firebase-tools
  2. Google에 로그인합니다. 다음 명령어를 실행합니다.

    firebase login

    이 명령어는 로컬 머신을 Firebase에 연결하고 Firebase 프로젝트에 대한 액세스 권한을 부여합니다.

  3. 로컬 앱 디렉터리의 루트에서 다음 명령어를 실행합니다.

    firebase init

    이 초기화 명령어는 다음을 수행합니다.

    • 로컬 앱 디렉터리를 Firebase에 연결합니다.
    • Firebase 호스팅에 필요한 을 생성합니다.
    • 공개 정적 파일이 포함된 공개 루트 디렉터리(HTML, CSS, JS 등)를 지정하라는 메시지를 표시합니다.

      Firebase가 찾는 디렉터리의 기본 이름은 ‘public’입니다.
      나중에 파일을 직접 수정하여 할 수도 있습니다.

  4. 콘텐츠와 호스팅 구성을 Firebase 호스팅에 배포합니다.

Как это работает?

Разработчики используют SDK Firebase для облачного хранилища для загрузки и скачивания файлов непосредственно с клиентов. Если сетевое соединение плохое, клиент может повторить операцию с того места, где она была остановлена, экономя время и пропускную способность ваших пользователей.

Cloud Storage хранит ваши файлы в корзине Google Cloud Storage , что делает их доступными как через Firebase, так и через Google Cloud. Это позволяет гибко загружать и скачивать файлы с мобильных клиентов через Firebase SDK, а также выполнять обработку на стороне сервера, такую ​​как фильтрация изображений или перекодирование видео, с помощью Google Cloud Platform . Облачное хранилище масштабируется автоматически, а это означает, что нет необходимости переходить к другому провайдеру. Узнайте больше обо всех преимуществах нашей интеграции с Google Cloud Platform .

SDK Firebase для облачного хранилища легко интегрируются с Firebase Authentication для идентификации пользователей, и мы предоставляем декларативный язык безопасности, который позволяет вам устанавливать элементы управления доступом для отдельных файлов или групп файлов, чтобы вы могли делать файлы общедоступными или частными по своему усмотрению.

3단계: Firebase에 앱 등록

1개 이상의 앱이나 게임을 등록해 Firebase 프로젝트에 연결할 수 있습니다.

  1. Firebase Console의 프로젝트 개요 페이지 중앙에 있는 Unity 아이콘을 클릭하여 설정 워크플로를 시작합니다.

    Firebase 프로젝트에 앱을 이미 추가한 경우 앱 추가를 클릭하여 플랫폼 옵션을 표시합니다.

  2. 등록할 Unity 프로젝트의 빌드 대상을 선택할 수 있으며, 지금 대상을 둘 다 등록하도록 선택할 수도 있습니다.

  3. Unity 프로젝트의 플랫폼별 ID를 입력합니다.

    1. Unity IDE에서 Unity 프로젝트를 엽니다.

    2. Build Settings(빌드 설정) > iOS 또는 Android > Player Settings(플레이어 설정) > Other Settings(기타 설정)로 이동합니다.

      Unity 프로젝트의 ID는 번들 식별자 값(예제
      ID: )입니다.

    3. 플랫폼별 ID를 해당되는 각 필드에 입력합니다.

      • iOS의 경우 — iOS 번들 ID 필드에 Unity 프로젝트의 iOS ID를 입력합니다.

      • Android의 경우 — Android 패키지 이름 필드에 Unity 프로젝트의 Android ID를 입력합니다.

        패키지 이름과 애플리케이션 ID는 같은 개념입니다.

  4. (선택사항) Unity 프로젝트의 플랫폼별 닉네임을 입력합니다.

    이러한 닉네임은 편의상 지정하는 내부용 식별자로 Firebase Console에서 나에게만 표시됩니다.

  5. 앱 등록을 클릭합니다.

Хотите хранить другие типы данных?

  • Cloud Firestore — это гибкая масштабируемая база данных для разработки мобильных, веб-приложений и серверов с помощью Firebase и Google Cloud Platform.
  • База данных Firebase Realtime хранит данные приложения JSON, такие как состояние игры или сообщения чата, и мгновенно синхронизирует изменения на всех подключенных устройствах. Чтобы узнать больше о различиях между параметрами базы данных, см. Выбор базы данных: Cloud Firestore или Realtime Database .
  • Firebase Remote Config хранит указанные разработчиком пары ключ-значение, чтобы изменить поведение и внешний вид вашего приложения, не требуя от пользователей загрузки обновления.
  • На хостинге Firebase размещаются HTML, CSS и JavaScript для вашего веб-сайта, а также другие ресурсы, предоставляемые разработчиком, такие как графика, шрифты и значки.

알려진 문제

Unity 2017.x 이상 버전을 사용하는 경우 .NET 호환성

Firebase는 Unity 2017 이상 버전에서 실험용 빌드 옵션으로 .NET 4.x를 지원합니다. 이전 버전의 .NET에서는 Firebase 플러그인이 Parse SDK 구성요소를 사용해 일부 .NET 4.x 클래스를 제공합니다.

따라서 Firebase Unity SDK 이상 버전은 Firebase Unity SDK의 및 디렉토리에서 .NET 3.x 또는 .NET 4.x와 호환되는 플러그인을 제공합니다.

프로젝트에서 사용 설정된 .NET 버전과 호환되지 않는 Firebase 플러그인을 가져오면 Parse SDK로 구현된 .NET 프레임워크에서 컴파일 오류가 발생할 수 있습니다.

.NET 3.x를 사용하는 경우 다음과 같은 방법으로 컴파일 오류를 해결하세요.

  1. 모든 플랫폼에서 다음 DLL을 삭제하거나 사용 중지합니다.
  2. 모든 플랫폼에서 다음 DLL을 사용 설정합니다.

.NET 4.x를 사용하는 경우 다음과 같은 방법으로 컴파일 오류를 해결하세요.

  1. 모든 플랫폼에서 다음 DLL을 삭제하거나 사용 중지합니다.
  2. 모든 플랫폼에서 다음 DLL을 사용 설정합니다.

다른 Firebase 플러그인을 가져오는 경우

Unity 프로젝트에서 애셋 > Play 서비스 리졸버 > 버전 핸들러 > 업데이트로 이동하여 프로젝트에 해당하는 정확한 DLL을 사용 설정합니다.

.NET 4.x 프로젝트에서 Unity 2017.1 IL2CPP 컴파일

Firebase는 Unity 2017 이상 버전에서 실험용 빌드 옵션으로 .NET 4.x를 지원합니다. 이전 버전의 .NET에서는 Firebase 플러그인이 Parse SDK 구성요소를 사용해 일부 .NET 4.x 클래스를 제공합니다.

따라서 Firebase Unity SDK 5.4.0 이상 버전은 Parse 유형(예: 의 Parse 구현)을 .NET 프레임워크에 전달하는 유형 전달 DLL을 제공합니다. 하지만 Unity 2017.1.x에 제공된 IL2CPP(C#을 C++로 변환하는 변환기)는 유형 전달 DLL을 올바르게 처리하지 않기 때문에 다음과 비슷한 빌드 오류가 발생합니다.

현재 Unity 2017.1에서 발생하는 .NET 4.x IL2CPP 빌드 오류에 사용 가능한 해결 방법은 없으므로 IL2CPP로 컴파일한 프로젝트에서 .NET 4.x를 사용하려면 Unity 2017.2 이상으로 업그레이드해야 합니다.

Unity 2017.2 네트워킹

Firebase 실시간 데이터베이스는 .NET 네트워킹 스택을 사용해 TLS 네트워크 연결을 만듭니다. Unity 2017.2에서는 .NET 4.6 사용 시 TLS 기능에 문제가 생겨 편집기 및 데스크톱의 실시간 데이터베이스 플러그인에 오류가 발생합니다.

이 문제는 해결할 방법이 없으며 2017.1 또는 2017.3 등 다른 버전의 Unity를 사용해야 합니다.

Mengupdate kode database Anda

Mengupdate dependensi Gradle Anda

Cara termudah untuk memulai adalah dengan mengubah dependensi Gradle Anda:

SEBELUM

dependencies {
  compile 'com.firebase:firebase-client-android:x.x.x'
}
SESUDAH

dependencies {
  compile "com.google.firebase:firebase-database:19.2.0"
}

Memperbaiki referensi class Anda

Aplikasi Anda kemungkinan memiliki sejumlah error disebabkan class yang berganti nama atau dipindahkan. Anda harus dapat memperbaiki sebagian besar error tersebut dengan beberapa substitusi langsung:

Sebelum Sesudah
com.firebase.client com.google.firebase.database
FirebaseError DatabaseError
FirebaseException DatabaseException
Firebase.AuthStateListener FirebaseAuth.AuthStateListener
Firebase DatabaseReference

Jika Anda tidak menemukan class atau metode yang dicari, lihat di Dokumen Referensi Database.

Menyetel Konteks Android dan mengaktifkan Persistensi Offline

Di SDK baru, Anda tidak perlu lagi memanggil
jadi Anda dapat menghapusnya dari kode Anda.

Jika aplikasi Anda menggunakan
sekarang Anda dapat mengaktifkannya melalui objek :

SEBELUM

Firebase.getDefaultConfig().setPersistenceEnabled(true);
SESUDAH

FirebaseDatabase.getInstance().setPersistenceEnabled(true);

Seperti pada 2.x SDK, pengaktifan persistensi disk harus dilakukan sebelum panggilan lain ke database dilakukan.

Mendapatkan referensi database

Di SDK baru, referensi diganti dengan dan
Anda menggunakan class untuk mendapatkan referensi awal ke database
Anda. Jadi, Anda bisa mendapatkan referensi database dalam kode Anda sebagai berikut:

SEBELUM

Firebase rootRef = new Firebase("https://<your-app>.firebaseio.com/");
SESUDAH

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();

Perlu diperhatikan bahwa URL Database Anda otomatis ditentukan dari file google-services.json yang telah didownload, sehingga Anda tidak perlu menentukannya sendiri. Jika ingin menentukannya, Anda masih dapat melakukannya (yang akan praktis jika Anda ingin melakukan migrasi):

SEBELUM

Firebase ref = new Firebase("https://<your-app>.firebaseio.com/path/to/data");
SESUDAH

DatabaseReference ref = FirebaseDatabase.getInstance()
    .getReferenceFromUrl("https://<your-app>.firebaseio.com/path/to/data");

Mengupdate objek model Java Anda

Seperti pada SDK 2.x, Firebase Database akan secara otomatis mengonversi objek Java
yang Anda teruskan ke ke dalam JSON dan dapat membaca JSON ke objek Java
menggunakan .

Di SDK baru, saat membaca JSON ke objek Java dengan
, properti yang tidak diketahui di JSON sekarang diabaikan secara
default sehingga Anda tidak lagi memerlukan .

Untuk mengecualikan kolom/getter saat menulis objek Java ke JSON, anotasinya
sekarang akan disebut alih-alih .

SEBELUM

@JsonIgnoreExtraProperties(ignoreUnknown=true)
public class ChatMessage {
   public String name;
   public String message;
   @JsonIgnore
   public String ignoreThisField;
}

dataSnapshot.getValue(ChatMessage.class)
SESUDAH

public class ChatMessage {
   public String name;
   public String message;
   @Exclude
   public String ignoreThisField;
}

dataSnapshot.getValue(ChatMessage.class)

Jika ada properti tambahan dalam JSON yang tidak ada dalam class Java, Anda akan melihat peringatan ini dalam file log:

W/ClassMapper: No setter/field for ignoreThisProperty found on class com.firebase.migrationguide.ChatMessage

Anda dapat menghapus peringatan ini dengan meletakkan anotasi
di class Anda. Jika Anda ingin Firebase Database untuk berperilaku seperti
di 2.x SDK dan menampilkan pengecualian jika ada properti yang tidak dikenal,
Anda dapat menempatkan anotasi di class Anda.

Mengimpor project Anda ke Firebase console yang baru

  • Buka Firebase console dan cari project Anda di bagian «Project yang saat ini ada di Firebase.com».
  • Klik Impor untuk project yang ingin Anda upgrade.
    • Jika project tersebut merupakan paket berbayar di firebase.com, Anda harus menyiapkan penagihan untuk project ini di konsol yang baru. Informasi penagihan Anda tidak akan dipindahkan secara otomatis
    • Pilih atau buat akun penagihan. Setelah mengimpor, akun ini bertanggung jawab atas semua tagihan dalam project tersebut.
  • Konten Realtime Database dan Hosting Anda akan langsung diimpor otomatis ke Firebase console.
  • Data pengguna Anda akan otomatis dipindahkan ke backend autentikasi yang baru.
    Hal ini terjadi di latar belakang, dan pengguna dapat terus menggunakan aplikasi saat data sedang dipindahkan. Pendaftaran dan login pengguna tidak akan terpengaruh. Saat sistem memindahkan akun pengguna, Anda akan melihat indikator lingkaran berputar di tab Auth dari Firebase console.
  • Jika Anda memiliki kode promo aktif untuk aplikasi Firebase.com, hubungi kami.

Menginstal Firebase SDK yang baru

Anda tidak perlu segera mengupdate kode aplikasi. Database dan kode autentikasi yang ada akan terus berfungsi pada project yang Anda pindahkan. Namun, jika Anda sudah siap untuk menggunakan beberapa fitur Firebase baru di aplikasi, Anda dapat Menginstal Firebase SDK yang baru (pastikan untuk mendownload file google-services.json yang baru, lalu tambahkan plugin google-services ke file gradle).

Perlu diperhatikan bahwa saat mulai menggunakan SDK yang baru, Google Analytics untuk Firebase akan otomatis diaktifkan. Secara default, data Analytics akan meningkatkan kualitas fitur Firebase dan produk Google lainnya. Anda dapat mengontrol pembagian data Firebase Analytics di setelan kapan saja.
Pelajari lebih lanjut

6단계: Google Play 서비스 버전 요구사항 확인

Google Play 서비스가 최신 상태여야 Android용 Firebase Unity SDK를 사용할 수 있습니다.

애플리케이션 시작 시 다음 코드를 추가하세요. Firebase Unity SDK에서 다른 메소드를 호출하기 전에 Google Play 서비스를 확인하고 필요한 경우 SDK에 필요한 버전으로 업데이트해야 합니다.

Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
  var dependencyStatus = task.Result;
  if (dependencyStatus == Firebase.DependencyStatus.Available) {
    // Create and hold a reference to your FirebaseApp,
    // where app is a Firebase.FirebaseApp property of your application class.
    //   app = Firebase.FirebaseApp.DefaultInstance;

    // Set a flag here to indicate whether Firebase is ready to use by your app.
  } else {
    UnityEngine.Debug.LogError(System.String.Format(
      "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
    // Firebase Unity SDK is not safe to use here.
  }
});

이제 준비가 끝났습니다. Firebase를 사용하기 위한 Unity 프로젝트 등록 및 구성 작업을 마쳤습니다.

свойства

Дети

IEnumerableMutableData > Children

Используется для перебора ближайших потомков в этом месте

Используется для перебора ближайших потомков в этом месте

Возвращает Непосредственные дети в этом месте
long ChildrenCount

Количество ближайших детей в этом месте.

bool HasChildren

Истинно, если у данных в этом месте есть дети, иначе ложно.

string Key

Имя ключа этого местоположения или ноль, если это самое верхнее местоположение.

приоритет

object Priority

Получает текущий приоритет в этом месте.

Получает текущий приоритет в этом месте. Возможные типы возврата:

  • двойной
  • строка

Обратите внимание, что нуль допускается

Возвращает Приоритет в этом месте как нативный тип

Стоимость

object Value

getValue () возвращает данные, содержащиеся в этом экземпляре, как собственные типы.

getValue () возвращает данные, содержащиеся в этом экземпляре, как собственные типы. Возможные типы возвращаются:

  • BOOL
  • строка
  • длинный
  • двойной
  • IDictionary {строка, объект}
  • Список {объект} Этот список является рекурсивным; возможные типы для объекта в приведенном выше списке приведены в том же списке. Эти типы соответствуют типам, доступным в JSON.
Возвращает Данные, содержащиеся в этом экземпляре как нативные типы
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector