Bu hızlı başlangıç kılavuzunda Cloud Firestore kurulumunu yapma, veri ekleme ve sonra görüntüleme işlemlerini nasıl yapacağınız gösterilmektedir Firebase konsoluna eklediğiniz veriler.
Cloud Firestore veritabanı oluşturun
Henüz yapmadıysanız bir Firebase projesi oluşturun: Firebase konsolunda Proje ekle'yi tıklayın, Ardından ekrandaki talimatları uygulayarak Firebase projesi oluşturun veya Firebase hizmetlerini mevcut bir GCP projesine ekleme.
Cloud Firestore Firebase konsolu. Mevcut bir Firebase projesini seçmeniz istenir. Veritabanı oluşturma iş akışını takip edin.
Cloud Firestore Security Rules cihazınız için bir başlangıç modu seçin:
- Test modu
Mobil ve web istemci kitaplıklarını kullanmaya başlamak için idealdir. ancak herkesin verilerinizi okumasına ve üzerine yazmasına izin verir. Testten sonra, Verilerinizin güvenliğini sağlama bölümünü inceleyin.
Web, Apple platformları veya Android SDK'yı kullanmaya başlamak için test modunu seçin.
- Kilitli mod
Mobil istemcilerden ve web istemcilerinden tüm okuma ve yazma işlemlerini reddeder. Kimliği doğrulanmış uygulama sunucularınız (C#, Go, Java, Node.js, PHP, Python veya Ruby) veritabanınıza erişmeye devam edebilir.
C#, Go, Java, Node.js, PHP, Python veya Ruby'yi kullanmaya başlamak için sunucu istemci kitaplığı, kilitli modu seçin.
İlk Cloud Firestore Security Rules grubunuz varsayılan olarak geçerli olur Cloud Firestore veritabanı. Projeniz için birden fazla veritabanı oluşturursanız her veritabanına Cloud Firestore Security Rules dağıtabilirsiniz.
Veritabanınız için bir konum seçin.
Bu konum ayarı, projenizin varsayılan Google Cloud Platform (GCP) kaynak konumu. Bu konumun, projenizdeki GCP hizmetleri için kullanılacağını unutmayın ve konum ayarı gerektiren varsayılan Cloud Storage paketi ve App Engine uygulaması ( Cloud Scheduler kullanıyorsanız gereklidir).
Konum seçemiyorsanız projeniz zaten varsayılan bir GCP kaynak konumuna sahip. Proje sırasında konum gerektiren başka bir hizmet ayarlarken ayarını değiştirebilirsiniz.
Bitti'yi tıklayın.
Cloud Firestore özelliğini etkinleştirdiğinizde, API'yi Cloud API Yöneticisi.
Geliştirme ortamınızı ayarlama
Gerekli bağımlılıkları ve istemci kitaplıklarını uygulamanıza ekleyin.
Web
- Talimatları uygulayarak Firebase'i web uygulamanıza ekleyin.
- Firebase ve Cloud Firestore kitaplıklarını uygulamanıza ekleyin:
<script src="https://www.gstatic.com/firebasejs/10.13/firebase-app-compat.js"></script> <script src="https://www.gstatic.com/firebasejs/10.13/firebase-firestore-compat.js"></script>
Cloud Firestore SDK'sı, npm paketi olarak da kullanılabilir.npm install firebase@10.13 --save
. Hem Firebase'i hem de Cloud Firestore'ı manuel olarak zorunlu kılmanız gerekir.import firebase from "firebase/compat/app"; // Required for side-effects import "firebase/firestore";
Web
- Talimatları uygulayarak Firebase'i web uygulamanıza ekleyin.
-
Cloud Firestore SDK'sı, npm paketi olarak kullanılabilir.
npm install firebase@10.13 --save
. Hem Firebase'i hem de Cloud Firestore ürününü içe aktarmanız gerekir.import { initializeApp } from "firebase/app"; import { getFirestore } from "firebase/firestore";
iOS ve üzeri
Talimatları uygulayarak Firebase'i Apple uygulamanıza ekleyin.
Firebase bağımlılıklarını yükleyip yönetmek için Swift Package Manager'ı kullanın.
- Xcode'da, uygulamanız açıkken Dosya > Swift Paketleri > Paket Bağımlılığı Ekleyin.
- İstendiğinde Firebase Apple platformlar SDK deposunu ekleyin:
- Firestore kitaplığını seçin.
- İşlemi tamamladığınızda, Xcode otomatik olarak arka planda tutmalarını sağlayabilirsiniz.
https://github.com/firebase/firebase-ios-sdk.
Android
- Talimatları uygulayarak Firebase'i Android uygulamanıza ekleyin.
- Her bir
Firebase Android BoM,
Android için Cloud Firestore kitaplığına yönelik bağımlılığı bildir
modülünüzün (uygulama düzeyinde) Gradle dosyanız
(genellikle
app/build.gradle.kts
veyaapp/build.gradle
) tıklayın.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.1.2")) // Declare the dependency for the Cloud Firestore library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-firestore") }
Şunu kullanarak: Firebase Android BoM, Uygulamanız her zaman Firebase Android'in uyumlu sürümlerini kullanır kitaplıklar.
(Alternatif) Firebase kitaplığı bağımlılıklarını şu komutu kullanmadan bildirin: BoM
Firebase BoM kullanmamayı tercih ederseniz her bir öğeyi belirtmeniz gerekir Bağımlılık satırında Firebase kitaplık sürümü.
Google Dokümanlar'da birden çok Firebase kitaplığı kullanıyorsanız kullanmak istiyorsanız, kitaplığı yönetmek için BoM uygulamasını kullanmanızı önemle tavsiye ederiz Bu da tüm sürümlerin uyumlu olmasını sağlar.
dependencies { // Declare the dependency for the Cloud Firestore library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-firestore:25.0.0") }
Kotlin'e özel bir kitaplık modülü mü arıyorsunuz? Şununla başlamak: Ekim 2023 sürümü, Hem Kotlin hem de Java geliştiricileri, (ayrıntılar için bkz. bu girişimle ilgili SSS).
Dart
- Henüz yapmadıysanız yapılandırın ve Flutter uygulamanızda Firebase'i başlatın.
- Flutter projenizin kök dizininden aşağıdaki komutu çalıştırarak
eklentiyi yükleyin:
flutter pub add cloud_firestore
. - İşlem tamamlandığında Flutter uygulamanızı yeniden derleyin:
flutter run
. - İsteğe bağlı: iOS ve macOS derleme süreleri
önceden derlenmiş bir çerçevedir.
Şu anda iOS için Firestore SDK'sı, 5 dakikadan fazla zaman harcıyor. Derleme sürelerini kısaltmak için bu satırı şuraya ekleyerek önceden derlenmiş bir sürümü kullanabilirsiniz: Podfile dosyanızdaki
target 'Runner' do
bloğu:target 'Runner' do use_frameworks! use_modular_headers! pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => 'IOS_SDK_VERSION' flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) target 'RunnerTests' do inherit! :search_paths end end
IOS_SDK_VERSION kısmını Firebase iOS sürümüyle değiştirin
firebase_core
firebase_sdk_version.rb
dosyası olarak kaydedebilirsiniz. Tarayıcı uygulamasının en son sürümünü kullanmıyorsanızfirebase_core
, yerel Pub paketinizde bu dosyayı arayın önbellek (genellikle~/.pub-cache
).Ayrıca, CocoaPods'u 1.9.1 veya daha yüksek:
gem install cocoapods
Daha fazla bilgi için sorun bulabilirsiniz.
Java
- Firebase Admin SDK'sını uygulamanıza ekleyin:
-
Gradle kullanarak:
compile 'com.google.firebase:firebase-admin:1.32.0'
-
Maven'i kullanarak:
<dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>1.32.0</version> </dependency>
-
Gradle kullanarak:
- Cloud Firestore uygulamasını başlatmak için aşağıdaki talimatları uygulayın doğru kimlik bilgilerine sahip olmanız gerekir.
Python
- Firebase Admin SDK'yı Python uygulamanıza ekleyin:
pip install --upgrade firebase-admin
. - Cloud Firestore uygulamasını başlatmak için aşağıdaki talimatları uygulayın doğru kimlik bilgilerine sahip olmanız gerekir.
C++
- Talimatları uygulayarak Firebase'i C++ projenize ekleyin.
- Android için C++ arayüzü.
- Bağımlılıkları kademeli olarak artırın. Modülünüze aşağıdakileri ekleyin
(uygulama düzeyinde) Gradle dosyası (genellikle
app/build.gradle
):android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { // earlier entries auth firestore }
- İkili bağımlılıklar. Aynı şekilde
ikili bağımlılıklar,
CMakeLists.txt
dosyanıza aşağıdakini eklemektir: dosya:add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL) set(firebase_libs firebase_auth firebase_firestore firebase_app) # Replace the target name below with the actual name of your target, # for example, "native-lib". target_link_libraries(${YOUR_TARGET_NAME_HERE} "${firebase_libs}")
- Masaüstü entegrasyonunu ayarlamak için Firebase'i C++ projenize ekleme bölümünü inceleyin.
Unity
- Talimatları uygulayarak Firebase'i Unity'nize ekleyin inceleyebilirsiniz.
- Projenizi Android derlemelerini küçültecek şekilde yapılandırmak için Unity arayüzünü kullanın.
- Bu seçeneği Oyuncu Ayarları > Android > Yayınlanıyor Ayarlar > Küçült.
- Seçenekler Unity'nin farklı sürümlerinde değişiklik gösterebilir, bu nedenle resmi Unity belgelerini Firebase Unity Derlemesi Hata Ayıklama Kılavuzu.
-
Küçültme etkinleştirildikten sonra başvurulan yöntemlerin sayısı hâlâ görünüyorsa
sınırı aşmışsa diğer bir seçenek de
multidex
öğesini şu şekilde etkinleştirmektir:-
Oynatıcı Ayarları altındaki Özel Gradle Şablonu etkinse
mainTemplate.gradle
-
veya dışa aktarılan projeyi oluşturmak için Android Studio kullanıyorsanız modül düzeyindeki
build.gradle
dosyası.
-
Oynatıcı Ayarları altındaki Özel Gradle Şablonu etkinse
Error while merging dex archives
mesajından kaçınmak için derlemeyi küçültmeniz gerekir.
Node.js
-
Firebase Admin SDK'sını uygulamanıza ekleyin:
npm install firebase-admin --save
. - Cloud Firestore uygulamasını başlatmak için aşağıdaki talimatları uygulayın doğru kimlik bilgilerine sahip olmanız gerekir.
Go
- Firebase Admin SDK'sını Go uygulamanıza ekleyin:
go get firebase.google.com/go
. - Cloud Firestore uygulamasını başlatmak için aşağıdaki talimatları uygulayın doğru kimlik bilgilerine sahip olmanız gerekir.
PHP
-
Cloud Firestore sunucusu istemci kitaplıkları (Java, Node.js, Python, Go, PHP, C# ve Ruby) kullanır
Google Uygulaması Varsayılan Kimlik Bilgileri
kimlik doğrulama için
-
Geliştirme ortamınızdan kimlik doğrulamak için
GOOGLE_APPLICATION_CREDENTIALS
ortam değişkenini bir JSON hizmet hesabı anahtar dosyasına işaret edecek şekilde ayarlayın. Anahtar dosyası oluşturabilirsiniz (API Konsolu Kimlik Bilgileri sayfasında).export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
- Uygulamanızı çalıştırıyorsanız üretim ortamınızda kimlik doğrulaması yapmanız gerekmez. Cloud Firestore için kullandığınız projeyi kullanarak App Engine veya Compute Engine üzerinde uygulayabilirsiniz. Aksi halde hizmet hesabı oluşturun.
-
Geliştirme ortamınızdan kimlik doğrulamak için
- gRPC uzantısını yükleme ve etkinleştirme (istemci kitaplığını kullanmanız gerekir).
-
Cloud Firestore PHP kitaplığını uygulamanıza ekleyin:
composer require google/cloud-firestore
.
C#
-
Cloud Firestore sunucusu istemci kitaplıkları (Java, Node.js, Python, Go, PHP, C# ve Ruby) kullanır
Google Uygulaması Varsayılan Kimlik Bilgileri
kimlik doğrulama için
-
Geliştirme ortamınızdan kimlik doğrulamak için
GOOGLE_APPLICATION_CREDENTIALS
ortam değişkenini bir JSON hizmet hesabı anahtar dosyasına işaret edecek şekilde ayarlayın. Anahtar dosyası oluşturabilirsiniz (API Konsolu Kimlik Bilgileri sayfasında).export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
- Uygulamanızı çalıştırıyorsanız üretim ortamınızda kimlik doğrulaması yapmanız gerekmez. Cloud Firestore için kullandığınız projeyi kullanarak App Engine veya Compute Engine üzerinde uygulayabilirsiniz. Aksi halde hizmet hesabı oluşturun.
-
Geliştirme ortamınızdan kimlik doğrulamak için
-
.csproj
dosyanızdaki uygulamanıza Cloud Firestore C# kitaplığını ekleyin:<ItemGroup> <PackageReference Include="Google.Cloud.Firestore" Version="1.1.0-beta01" /> </ItemGroup>
-
Program.cs
dosyanıza aşağıdakileri ekleyin:using Google.Cloud.Firestore;
Ruby
-
Cloud Firestore sunucusu istemci kitaplıkları (Java, Node.js, Python, Go, PHP, C# ve Ruby) kullanır
Google Uygulaması Varsayılan Kimlik Bilgileri
kimlik doğrulama için
-
Geliştirme ortamınızdan kimlik doğrulamak için
GOOGLE_APPLICATION_CREDENTIALS
ortam değişkenini bir JSON hizmet hesabı anahtar dosyasına işaret edecek şekilde ayarlayın. Anahtar dosyası oluşturabilirsiniz (API Konsolu Kimlik Bilgileri sayfasında).export GOOGLE_APPLICATION_CREDENTIALS="path/to/your/keyfile.json"
- Uygulamanızı çalıştırıyorsanız üretim ortamınızda kimlik doğrulaması yapmanız gerekmez. Cloud Firestore için kullandığınız projeyi kullanarak App Engine veya Compute Engine üzerinde uygulayabilirsiniz. Aksi halde hizmet hesabı oluşturun.
-
Geliştirme ortamınızdan kimlik doğrulamak için
-
Cloud Firestore Ruby kitaplığını
Gemfile
cihazınızdaki uygulamanıza ekleyin:gem "google-cloud-firestore"
-
Bağımlılıkları
Gemfile
dosyanızdaki şu komutu kullanarak yükleyin:bundle install
(İsteğe bağlı) Firebase Local Emulator Suite ile prototip oluşturun ve test edin
Mobil uygulama geliştiricilerin, uygulamanızın yazma ve okuma bilgilerinden bahsetmeden önce: Cloud Firestore adlı içerik üreticiye, Cloud Firestore işlevselliğinin prototipini oluşturabilir ve test edebilirsiniz: Firebase Local Emulator Suite. Farklı veri modellerini deniyorsanız veya en uygun maliyetli yolu bulmaya çalışma arka uçla etkileşime girin. Arka uçla etkileşime girmeden yerel olarak çalışabilme çok iyi bir fikir olabilir.
Cloud Firestore emülatörü, Local Emulator Suite ürününün bir parçasıdır. uygulamanızın emüle edilmiş veritabanı içeriğinizle ve yapılandırmanızla etkileşim kurmasına olanak tanır. ve isteğe bağlı olarak emüle edilen proje kaynaklarınızın (işlevler, diğer veritabanları ve güvenlik kuralları) ekleyin.
Cloud Firestore emülatörünü birkaç adımda kullanabilirsiniz:
- Emülatöre bağlanmak için uygulamanızın test yapılandırmasına bir kod satırı ekleme.
- Yerel proje dizininizin kök dizininden
firebase emulators:start
komutunu çalıştırın. - Bir Cloud Firestore platformu kullanarak uygulamanızın prototip kodundan çağrı yapma SDK her zamanki gibi.
Cloud Firestore ve Cloud Functions ile ilgili ayrıntılı bir adım adım açıklamalı kılavuz mevcuttur. Ayrıca Local Emulator Suite tanıtımına da göz atmalısınız.
Başlat: Cloud Firestore
Bir Cloud Firestore örneğini başlatın:
Web
import { initializeApp } from "firebase/app";
import { getFirestore } from "firebase/firestore";
// TODO: Replace the following with your app's Firebase project configuration
// See: https://support.google.com/firebase/answer/7015592
const firebaseConfig = {
FIREBASE_CONFIGURATION
};
// Initialize Firebase
const app = initializeApp(firebaseConfig);
// Initialize Cloud Firestore and get a reference to the service
const db = getFirestore(app);
FIREBASE_CONFIGURATION öğesini web uygulamanızın
firebaseConfig
Cihazın bağlantısı kesildiğinde verileri saklamak için Çevrimdışı Verileri Etkinleştirme dokümanlarına bakın.
Web
import firebase from "firebase/app";
import "firebase/firestore";
// TODO: Replace the following with your app's Firebase project configuration
// See: https://support.google.com/firebase/answer/7015592
const firebaseConfig = {
FIREBASE_CONFIGURATION
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
// Initialize Cloud Firestore and get a reference to the service
const db = firebase.firestore();
FIREBASE_CONFIGURATION öğesini web uygulamanızın
firebaseConfig
Cihazın bağlantısı kesildiğinde verileri saklamak için Çevrimdışı Verileri Etkinleştirme dokümanlarına bakın.
Swift
import FirebaseCore import FirebaseFirestore
FirebaseApp.configure() let db = Firestore.firestore()
Hedef-C
@import FirebaseCore; @import FirebaseFirestore; // Use Firebase library to configure APIs [FIRApp configure];
FIRFirestore *defaultFirestore = [FIRFirestore firestore];
Kotlin+KTX
// Access a Cloud Firestore instance from your Activity
val db = Firebase.firestore
Java
// Access a Cloud Firestore instance from your Activity
FirebaseFirestore db = FirebaseFirestore.getInstance();
Dart
db = FirebaseFirestore.instance;
Java
Cloud Firestore SDK'sı duruma bağlı olarak farklı şekillerde başlatılır. size yardımcı olur. En yaygın yöntemler aşağıda verilmiştir. Eksiksiz bir referans için bkz. Başlat Yönetici SDK'si ekleyin.import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.firestore.Firestore; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; // Use the application default credentials GoogleCredentials credentials = GoogleCredentials.getApplicationDefault(); FirebaseOptions options = new FirebaseOptions.Builder() .setCredentials(credentials) .setProjectId(projectId) .build(); FirebaseApp.initializeApp(options); Firestore db = FirestoreClient.getFirestore();
Firebase Admin SDK'yı kendi sunucunuzda kullanmak için hizmet hesabına sahip e-posta adresleriniz.
Git IAM ve yönetici > Hizmet hesapları kullanıma sunduk. Yeni bir özel anahtar oluşturun ve JSON'u kaydedin dosyası olarak kaydedebilirsiniz. Ardından bu dosyayı kullanarak SDK'yı başlatın:
import com.google.auth.oauth2.GoogleCredentials; import com.google.cloud.firestore.Firestore; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; // Use a service account InputStream serviceAccount = new FileInputStream("path/to/serviceAccount.json"); GoogleCredentials credentials = GoogleCredentials.fromStream(serviceAccount); FirebaseOptions options = new FirebaseOptions.Builder() .setCredentials(credentials) .build(); FirebaseApp.initializeApp(options); Firestore db = FirestoreClient.getFirestore();
Python
Cloud Firestore SDK'sı duruma bağlı olarak farklı şekillerde başlatılır. size yardımcı olur. En yaygın yöntemler aşağıda verilmiştir. Eksiksiz bir referans için bkz. Başlat Yönetici SDK'si ekleyin.import firebase_admin from firebase_admin import firestore # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore.client()
SDK'yı başlatmak için mevcut bir uygulama varsayılan kimlik bilgisi de kullanılabilir.
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore # Use the application default credentials. cred = credentials.ApplicationDefault() firebase_admin.initialize_app(cred) db = firestore.client()
Firebase Admin SDK'yı kendi sunucunuzda kullanmak için hizmet hesabına sahip e-posta adresleriniz.
Git IAM ve yönetici > Hizmet hesapları kullanıma sunduk. Yeni bir özel anahtar oluşturun ve JSON'u kaydedin dosyası olarak kaydedebilirsiniz. Ardından bu dosyayı kullanarak SDK'yı başlatın:
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore # Use a service account. cred = credentials.Certificate('path/to/serviceAccount.json') app = firebase_admin.initialize_app(cred) db = firestore.client()
Python
Cloud Firestore SDK'sı duruma bağlı olarak farklı şekillerde başlatılır. size yardımcı olur. En yaygın yöntemler aşağıda verilmiştir. Eksiksiz bir referans için bkz. Başlat Yönetici SDK'si ekleyin.import firebase_admin from firebase_admin import firestore_async # Application Default credentials are automatically created. app = firebase_admin.initialize_app() db = firestore_async.client()
SDK'yı başlatmak için mevcut bir uygulama varsayılan kimlik bilgisi de kullanılabilir.
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore_async # Use the application default credentials. cred = credentials.ApplicationDefault() firebase_admin.initialize_app(cred) db = firestore_async.client()
Firebase Admin SDK'yı kendi sunucunuzda kullanmak için hizmet hesabına sahip e-posta adresleriniz.
Git IAM ve yönetici > Hizmet hesapları kullanıma sunduk. Yeni bir özel anahtar oluşturun ve JSON'u kaydedin dosyası olarak kaydedebilirsiniz. Ardından bu dosyayı kullanarak SDK'yı başlatın:
import firebase_admin from firebase_admin import credentials from firebase_admin import firestore_async # Use a service account. cred = credentials.Certificate('path/to/serviceAccount.json') app = firebase_admin.initialize_app(cred) db = firestore_async.client()
C++
// Make sure the call to `Create()` happens some time before you call Firestore::GetInstance(). App::Create(); Firestore* db = Firestore::GetInstance();
Node.js
Cloud Firestore SDK'sı duruma bağlı olarak farklı şekillerde başlatılır. size yardımcı olur. En yaygın yöntemler aşağıda verilmiştir. Eksiksiz bir referans için bkz. Başlat Yönetici SDK'si ekleyin.-
İlk kullanıma hazırlama tarihi: Cloud Functions
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp(); const db = getFirestore();
-
İlk kullanıma hazırlama tarihi: Google Cloud
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
initializeApp({ credential: applicationDefault() }); const db = getFirestore();
-
Kendi sunucunuzda ilk kullanıma hazırlama
Firebase Admin SDK'yı kendi sunucunuzda (veya başka herhangi bir Node.js ortamında) kullanmak için: hizmet hesabı kullanmanız gerekir. IAM ve yönetici > Hizmet hesapları'nı tıklayın. Yeni bir özel anahtar oluşturun ve JSON dosyasını kaydedin. Ardından bu dosyayı kullanarak SDK'yı başlatın:
const { initializeApp, applicationDefault, cert } = require('firebase-admin/app'); const { getFirestore, Timestamp, FieldValue, Filter } = require('firebase-admin/firestore');
const serviceAccount = require('./path/to/serviceAccountKey.json'); initializeApp({ credential: cert(serviceAccount) }); const db = getFirestore();
Go
Cloud Firestore SDK'sı duruma bağlı olarak farklı şekillerde başlatılır. size yardımcı olur. En yaygın yöntemler aşağıda verilmiştir. Eksiksiz bir referans için bkz. Başlat Yönetici SDK'si ekleyin.import ( "log" firebase "firebase.google.com/go" "google.golang.org/api/option" ) // Use the application default credentials ctx := context.Background() conf := &firebase.Config{ProjectID: projectID} app, err := firebase.NewApp(ctx, conf) if err != nil { log.Fatalln(err) } client, err := app.Firestore(ctx) if err != nil { log.Fatalln(err) } defer client.Close()
Firebase Admin SDK'yı kendi sunucunuzda kullanmak için hizmet hesabına sahip e-posta adresleriniz.
Git IAM ve yönetici > Hizmet hesapları kullanıma sunduk. Yeni bir özel anahtar oluşturun ve JSON'u kaydedin dosyası olarak kaydedebilirsiniz. Ardından bu dosyayı kullanarak SDK'yı başlatın:
import ( "log" firebase "firebase.google.com/go" "google.golang.org/api/option" ) // Use a service account ctx := context.Background() sa := option.WithCredentialsFile("path/to/serviceAccount.json") app, err := firebase.NewApp(ctx, nil, sa) if err != nil { log.Fatalln(err) } client, err := app.Firestore(ctx) if err != nil { log.Fatalln(err) } defer client.Close()
PHP
PHP
Cloud Firestore istemcisi yükleme ve oluşturma hakkında daha fazla bilgi için Cloud Firestore İstemci Kitaplıkları.
Unity
using Firebase.Firestore; using Firebase.Extensions;
FirebaseFirestore db = FirebaseFirestore.DefaultInstance;
C#
C#
Cloud Firestore istemcisi yükleme ve oluşturma hakkında daha fazla bilgi için Cloud Firestore İstemci Kitaplıkları.
Ruby
Veri ekle
Cloud Firestore verileri, Koleksiyonlar'da depolanan Dokümanlar'da depolar. Cloud Firestore, koleksiyonları ve dokümanları dolaylı olarak oluşturur ekleyeceksiniz. Açık bir şekilde oluşturmanız gerekmez, koleksiyonlar veya dokümanlar oluşturabilirsiniz.
Aşağıdaki örnek kodu kullanarak yeni bir koleksiyon ve doküman oluşturun.
Web
import { collection, addDoc } from "firebase/firestore"; try { const docRef = await addDoc(collection(db, "users"), { first: "Ada", last: "Lovelace", born: 1815 }); console.log("Document written with ID: ", docRef.id); } catch (e) { console.error("Error adding document: ", e); }
Web
db.collection("users").add({ first: "Ada", last: "Lovelace", born: 1815 }) .then((docRef) => { console.log("Document written with ID: ", docRef.id); }) .catch((error) => { console.error("Error adding document: ", error); });
Swift
// Add a new document with a generated ID do { let ref = try await db.collection("users").addDocument(data: [ "first": "Ada", "last": "Lovelace", "born": 1815 ]) print("Document added with ID: \(ref.documentID)") } catch { print("Error adding document: \(error)") }
Objective-C
// Add a new document with a generated ID __block FIRDocumentReference *ref = [[self.db collectionWithPath:@"users"] addDocumentWithData:@{ @"first": @"Ada", @"last": @"Lovelace", @"born": @1815 } completion:^(NSError * _Nullable error) { if (error != nil) { NSLog(@"Error adding document: %@", error); } else { NSLog(@"Document added with ID: %@", ref.documentID); } }];
Kotlin+KTX
// Create a new user with a first and last name val user = hashMapOf( "first" to "Ada", "last" to "Lovelace", "born" to 1815, ) // Add a new document with a generated ID db.collection("users") .add(user) .addOnSuccessListener { documentReference -> Log.d(TAG, "DocumentSnapshot added with ID: ${documentReference.id}") } .addOnFailureListener { e -> Log.w(TAG, "Error adding document", e) }
Java
// Create a new user with a first and last name Map<String, Object> user = new HashMap<>(); user.put("first", "Ada"); user.put("last", "Lovelace"); user.put("born", 1815); // Add a new document with a generated ID db.collection("users") .add(user) .addOnSuccessListener(new OnSuccessListener<DocumentReference>() { @Override public void onSuccess(DocumentReference documentReference) { Log.d(TAG, "DocumentSnapshot added with ID: " + documentReference.getId()); } }) .addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { Log.w(TAG, "Error adding document", e); } });
Dart
// Create a new user with a first and last name final user = <String, dynamic>{ "first": "Ada", "last": "Lovelace", "born": 1815 }; // Add a new document with a generated ID db.collection("users").add(user).then((DocumentReference doc) => print('DocumentSnapshot added with ID: ${doc.id}'));
Java
Python
Python
C++
// Add a new document with a generated ID Future<DocumentReference> user_ref = db->Collection("users").Add({{"first", FieldValue::String("Ada")}, {"last", FieldValue::String("Lovelace")}, {"born", FieldValue::Integer(1815)}}); user_ref.OnCompletion([](const Future<DocumentReference>& future) { if (future.error() == Error::kErrorOk) { std::cout << "DocumentSnapshot added with ID: " << future.result()->id() << std::endl; } else { std::cout << "Error adding document: " << future.error_message() << std::endl; } });
Node.js
Go
PHP
PHP
Cloud Firestore istemcisi yükleme ve oluşturma hakkında daha fazla bilgi için Cloud Firestore İstemci Kitaplıkları.
Unity
DocumentReference docRef = db.Collection("users").Document("alovelace"); Dictionary<string, object> user = new Dictionary<string, object> { { "First", "Ada" }, { "Last", "Lovelace" }, { "Born", 1815 }, }; docRef.SetAsync(user).ContinueWithOnMainThread(task => { Debug.Log("Added data to the alovelace document in the users collection."); });
C#
Ruby
Şimdi users
koleksiyonuna başka bir doküman ekleyin. Bu dokümanın
ilk listede görünmeyen bir anahtar/değer çiftini (ikinci ad) içeriyorsa
uygulayacaksınız. Koleksiyondaki dokümanlar farklı bilgi grupları içerebilir.
Web
// Add a second document with a generated ID. import { addDoc, collection } from "firebase/firestore"; try { const docRef = await addDoc(collection(db, "users"), { first: "Alan", middle: "Mathison", last: "Turing", born: 1912 }); console.log("Document written with ID: ", docRef.id); } catch (e) { console.error("Error adding document: ", e); }
Web
// Add a second document with a generated ID. db.collection("users").add({ first: "Alan", middle: "Mathison", last: "Turing", born: 1912 }) .then((docRef) => { console.log("Document written with ID: ", docRef.id); }) .catch((error) => { console.error("Error adding document: ", error); });
Swift
// Add a second document with a generated ID. do { let ref = try await db.collection("users").addDocument(data: [ "first": "Alan", "middle": "Mathison", "last": "Turing", "born": 1912 ]) print("Document added with ID: \(ref.documentID)") } catch { print("Error adding document: \(error)") }
Objective-C
// Add a second document with a generated ID. __block FIRDocumentReference *ref = [[self.db collectionWithPath:@"users"] addDocumentWithData:@{ @"first": @"Alan", @"middle": @"Mathison", @"last": @"Turing", @"born": @1912 } completion:^(NSError * _Nullable error) { if (error != nil) { NSLog(@"Error adding document: %@", error); } else { NSLog(@"Document added with ID: %@", ref.documentID); } }];
Kotlin+KTX
// Create a new user with a first, middle, and last name val user = hashMapOf( "first" to "Alan", "middle" to "Mathison", "last" to "Turing", "born" to 1912, ) // Add a new document with a generated ID db.collection("users") .add(user) .addOnSuccessListener { documentReference -> Log.d(TAG, "DocumentSnapshot added with ID: ${documentReference.id}") } .addOnFailureListener { e -> Log.w(TAG, "Error adding document", e) }
Java
// Create a new user with a first, middle, and last name Map<String, Object> user = new HashMap<>(); user.put("first", "Alan"); user.put("middle", "Mathison"); user.put("last", "Turing"); user.put("born", 1912); // Add a new document with a generated ID db.collection("users") .add(user) .addOnSuccessListener(new OnSuccessListener<DocumentReference>() { @Override public void onSuccess(DocumentReference documentReference) { Log.d(TAG, "DocumentSnapshot added with ID: " + documentReference.getId()); } }) .addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { Log.w(TAG, "Error adding document", e); } });
Dart
// Create a new user with a first and last name final user = <String, dynamic>{ "first": "Alan", "middle": "Mathison", "last": "Turing", "born": 1912 }; // Add a new document with a generated ID db.collection("users").add(user).then((DocumentReference doc) => print('DocumentSnapshot added with ID: ${doc.id}'));
Java
Python
Python
C++
db->Collection("users") .Add({{"first", FieldValue::String("Alan")}, {"middle", FieldValue::String("Mathison")}, {"last", FieldValue::String("Turing")}, {"born", FieldValue::Integer(1912)}}) .OnCompletion([](const Future<DocumentReference>& future) { if (future.error() == Error::kErrorOk) { std::cout << "DocumentSnapshot added with ID: " << future.result()->id() << std::endl; } else { std::cout << "Error adding document: " << future.error_message() << std::endl; } });
Node.js
Go
PHP
PHP
Cloud Firestore istemcisi yükleme ve oluşturma hakkında daha fazla bilgi için Cloud Firestore İstemci Kitaplıkları.
Unity
DocumentReference docRef = db.Collection("users").Document("aturing"); Dictionary<string, object> user = new Dictionary<string, object> { { "First", "Alan" }, { "Middle", "Mathison" }, { "Last", "Turing" }, { "Born", 1912 } }; docRef.SetAsync(user).ContinueWithOnMainThread(task => { Debug.Log("Added data to the aturing document in the users collection."); });
C#
Ruby
Verileri okuma
Verileri kullanma görüntüleyen Cloud Firestore ürününe veri eklediğinizi hızlıca doğrulamak için Firebase konsolunu kullanın.
Ayrıca, yöntemini kullanın.
Web
import { collection, getDocs } from "firebase/firestore"; const querySnapshot = await getDocs(collection(db, "users")); querySnapshot.forEach((doc) => { console.log(`${doc.id} => ${doc.data()}`); });
Web
db.collection("users").get().then((querySnapshot) => { querySnapshot.forEach((doc) => { console.log(`${doc.id} => ${doc.data()}`); }); });
Swift
do { let snapshot = try await db.collection("users").getDocuments() for document in snapshot.documents { print("\(document.documentID) => \(document.data())") } } catch { print("Error getting documents: \(error)") }
Objective-C
[[self.db collectionWithPath:@"users"] getDocumentsWithCompletion:^(FIRQuerySnapshot * _Nullable snapshot, NSError * _Nullable error) { if (error != nil) { NSLog(@"Error getting documents: %@", error); } else { for (FIRDocumentSnapshot *document in snapshot.documents) { NSLog(@"%@ => %@", document.documentID, document.data); } } }];
Kotlin+KTX
db.collection("users") .get() .addOnSuccessListener { result -> for (document in result) { Log.d(TAG, "${document.id} => ${document.data}") } } .addOnFailureListener { exception -> Log.w(TAG, "Error getting documents.", exception) }
Java
db.collection("users") .get() .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() { @Override public void onComplete(@NonNull Task<QuerySnapshot> task) { if (task.isSuccessful()) { for (QueryDocumentSnapshot document : task.getResult()) { Log.d(TAG, document.getId() + " => " + document.getData()); } } else { Log.w(TAG, "Error getting documents.", task.getException()); } } });
Dart
await db.collection("users").get().then((event) { for (var doc in event.docs) { print("${doc.id} => ${doc.data()}"); } });
Java
Python
users_ref = db.collection("users") docs = users_ref.stream() for doc in docs: print(f"{doc.id} => {doc.to_dict()}")
Python
C++
Future<QuerySnapshot> users = db->Collection("users").Get(); users.OnCompletion([](const Future<QuerySnapshot>& future) { if (future.error() == Error::kErrorOk) { for (const DocumentSnapshot& document : future.result()->documents()) { std::cout << document << std::endl; } } else { std::cout << "Error getting documents: " << future.error_message() << std::endl; } });
Node.js
Go
PHP
PHP
Cloud Firestore istemcisi yükleme ve oluşturma hakkında daha fazla bilgi için Cloud Firestore İstemci Kitaplıkları.
Unity
CollectionReference usersRef = db.Collection("users"); usersRef.GetSnapshotAsync().ContinueWithOnMainThread(task => { QuerySnapshot snapshot = task.Result; foreach (DocumentSnapshot document in snapshot.Documents) { Debug.Log(String.Format("User: {0}", document.Id)); Dictionary<string, object> documentDictionary = document.ToDictionary(); Debug.Log(String.Format("First: {0}", documentDictionary["First"])); if (documentDictionary.ContainsKey("Middle")) { Debug.Log(String.Format("Middle: {0}", documentDictionary["Middle"])); } Debug.Log(String.Format("Last: {0}", documentDictionary["Last"])); Debug.Log(String.Format("Born: {0}", documentDictionary["Born"])); } Debug.Log("Read all data from the users collection."); });
C#
Ruby
Verilerinizin güvenliğini sağlayın
Web, Android veya Apple platformları SDK'sını kullanıyorsanız Firebase Authentication (Kimlik Doğrulaması) ve Verilerinizin güvenliğini sağlamak için Cloud Firestore Security Rules Cloud Firestore.
Başlamak için kullanabileceğiniz bazı temel kural gruplarını aşağıda bulabilirsiniz. Burada Kurallar sekme yardımcı oluyorum.
Yetkilendirme gerekiyor
// Allow read/write access to a document keyed by the user's UID
service cloud.firestore {
match /databases/{database}/documents {
match /users/{uid} {
allow read, write: if request.auth != null && request.auth.uid == uid;
}
}
}
Kilitli mod
// Deny read/write access to all users under any conditions
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if false;
}
}
}
Web, Android veya iOS uygulamanızı üretim kanalına dağıtmadan önce aşağıdaki adımları da uygulayın: Böylece yalnızca uygulama istemcilerinizin Cloud Firestore verilerinize erişebildiğinden emin olabilirsiniz. Uygulama Kontrolü dokümanlarını inceleyin.
Sunucu SDK'larından birini kullanıyorsanız Identity and Access Management (IAM) kullanarak veri güvenliğini sağlayın Cloud Firestore içinde.
Eğitim videosunu izleyin
Cloud Firestore kullanmaya başlama hakkında ayrıntılı bilgi için aşağıdaki eğitim videolarından birini izleyin:
Web
iOS ve üzeri
Android
Firebase'de daha fazla video bulabilirsiniz YouTube kanalı.
Sonraki adımlar
Aşağıdaki konularla bilgilerinizi derinleştirin:
- Codelabs: Cloud Firestore uygulamasını gerçek uygulamalarda kullanmayı öğrenin: Android, iOS için codelab'i kullanarak veya Web.
- Veri modeli: Verilerin nasıl olduğu hakkında daha fazla bilgi edinin. Cloud Firestore içinde yapılandırılmıştır.
- Veri ekleyin — Cloud Firestore hizmetinde veri oluşturma ve güncelleme hakkında daha fazla bilgi edinin.
- Verileri al: Verileri alma hakkında daha fazla bilgi edinin. dışı verilerdir.
- Basit ve bileşik sorgular gerçekleştirme: Basit ve bileşik sorgular çalıştırmayı öğrenin.
- Sorguları sıralama ve sınırlama Nasıl sipariş edeceğinizi öğrenin ve sorgularınızın döndürdüğü verileri sınırlamanız gerekir.