Firebase projelerini anlama

Bu sayfada, Firebase projeleriyle ilgili birkaç önemli kavramın kısa özetleri yer alır. Kullanılabildiği durumlarda özellikler, hizmetler, araçlar ve en iyi uygulamalar hakkında daha ayrıntılı bilgi edinmek için bağlantıları takip edin.

Firebase projeleri, uygulamalar ve ürünler arasındaki ilişki

Firebase projesi, Firebase'in en üst düzeydeki öğesidir. Bir projede Apple, Android veya web uygulamalarınızı kaydedebilirsiniz. Uygulamalarınızı Firebase'e kaydettikten sonra Analytics, Cloud Firestore, Performance Monitoring veya Remote Config gibi istediğiniz sayıda Firebase ürünü için Firebase SDK'larını ekleyebilirsiniz.

Bu süreç hakkında daha ayrıntılı bilgiyi platformunuzla ilgili Başlangıç Kılavuzu'nda bulabilirsiniz:
iOS+ | Android | web | Unity | C++ | Flutter.

Firebase projelerinin hiyerarşisini anlama

Proje, kayıtlı uygulamaları ve sağlanan kaynakları ve hizmetleri dahil olmak üzere bir Firebase projesinin temel hiyerarşisini gösteren şema Bu şemada, Firebase projesinin temel hiyerarşisi gösterilmektedir. Temel ilişkiler şunlardır:

  • Firebase projesi, tüm uygulamalarınız ve proje için sağlanan tüm kaynaklar ile hizmetler için bir kapsayıcı gibidir.

  • Bir Firebase projesine bir veya daha fazla Firebase uygulaması kaydedilebilir (örneğin, bir uygulamanın hem iOS hem de Android sürümü ya da hem ücretsiz hem de ücretli sürümü).

  • Aynı Firebase projesine kaydedilen tüm Firebase uygulamaları, proje için sağlanan tüm kaynakları ve hizmetleri paylaşır ve bunlara erişebilir. Aşağıda bazı örnekler verilmiştir:

    • Aynı Firebase projesine kaydedilen tüm Firebase uygulamaları Firebase Hosting, Authentication, Realtime Database, Cloud Firestore, Cloud Storage ve Cloud Functions gibi aynı arka uçları paylaşır.

    • Aynı Firebase projesine kaydedilen tüm Firebase uygulamaları aynı Google Analytics mülküyle ilişkilendirilir. Bu mülkte her Firebase uygulaması ayrı bir veri akışıdır.

Firebase projeleri ve Google Cloud arasındaki ilişki

Yeni bir Firebase projesi oluşturduğunuzda aslında arka planda bir Google Cloud projesi oluşturursunuz. Hatta önce Google Cloudproje oluşturupGoogle Cloud, Firebase'i daha sonra projeye ekleyebilirsiniz. Google Cloud projesini; veriler, kodlar, yapılandırmalar ve hizmetler için sanal bir kapsayıcı olarak düşünebilirsiniz.

Tüm Firebase projelerinde Firebase'in, Google Cloud konsolundaki projeniz için Etiketler sayfasında firebase:enabled etiketini otomatik olarak eklediğini unutmayın. Bu etiket hakkında daha fazla bilgiyi SSS bölümümüzde bulabilirsiniz.

Firebase projesi bir Google Cloud projesi olduğundan:

  • Projeye Firebase konsolunda, Google Cloud konsolunda ve Google API Konsolu'nda erişip projeyle etkileşimde bulunabilirsiniz.

  • Firebase CLI, gcloud CLI ve Google'ın herhangi bir Terraform kaynağını kullanarak projeyle etkileşimde bulunabilirsiniz.

  • Projede hem Firebase hem de Google Cloud ürünlerini ve API'lerini kullanabilirsiniz.

  • Projenin IAM izinleri ve rolleri Firebase ve Google Cloud arasında paylaşılır. Bir proje üyesinin (yani bir asıl) Google Cloud projenize erişimi, Firebase projeniz için de geçerli olur (veya tam tersi).

  • Projenin faturalandırması Firebase ve Google Cloud arasında paylaşılır. Google Cloud projenizde faturalandırma etkinse Firebase projeniz, Firebase'in kullandıkça öde Blaze fiyatlandırma planına dahil edilir.

  • Projenin benzersiz tanımlayıcıları (ör. proje numarası ve proje kimliği) Firebase ve Google Cloud arasında paylaşılır.

  • Google Cloud projenize uygulanan tüm kaynak hiyerarşileri (ör. kuruluş, klasörler vb.) Firebase projenize de uygulanır.

  • Projenin silinmesi, Firebase ve Google Cloud'da da silinmesine neden olur.

  • Projedeki bir kaynağın veya verinin silinmesi ya da değiştirilmesi Firebase ve Google Cloud genelinde geçerli olur.

Firebase projesi oluşturma ve uygulamaları kaydetme

Firebase konsolunda Firebase projesi oluşturabilir ve uygulamaları kaydedebilirsiniz (veya gelişmiş kullanım alanları için Firebase Management REST API ya da Firebase CLI'yı kullanabilirsiniz). Bir proje oluşturup uygulamaları kaydettiğinizde bazı organizasyonel kararlar almanız ve yerel projelerinize Firebase'e özgü yapılandırma bilgilerini eklemeniz gerekir.

Üretim uygulamaları için net bir geliştirme iş akışı oluşturmanız gerekir. Bu iş akışı genellikle birden fazla ortamın kullanılmasını içerir. Geliştirme iş akışınızı oluşturmak için Firebase projelerini ayarlama ve uygulamaları kaydetmeyle ilgili genel en iyi uygulamalar ve genel güvenlik yönergeleri dahil olmak üzere geliştirici iş akışları hakkındaki dokümanlarımızı inceleyin.

Firebase projesiyle etkileşim kurma

Ürün SDK'larının yanı sıra, çeşitli araçlar ve arayüzler kullanarak doğrudan bir Firebase projesiyle etkileşimde bulunabilirsiniz.

Firebase konsolu

Firebase konsolu, Firebase ürünlerini, uygulamalarını ve proje düzeyindeki ayarlarını yönetmek için en zengin ortamı sunar.

Konsolun sol tarafındaki panelde, üst düzey kategorilere göre düzenlenmiş Firebase ürünleri listelenir. Sol panelin üst kısmında simgesini tıklayarak bir projenin ayarlarına erişin. Bir projenin ayarları entegrasyonlar, erişim izinleri ve faturalandırmayı içerir.

Konsolun ortasında, çeşitli uygulama türlerini kaydetmek için kurulum iş akışlarını başlatan düğmeler bulunur. Firebase'i kullanmaya başladıktan sonra konsolun ana alanı, kullandığınız ürünlerle ilgili istatistikleri gösteren bir kontrol paneline dönüşür.

Firebase projesi aynı zamanda bir Google Cloud projesi olduğundan çeşitli görevler veya ürünler için Firebase konsolu yerine Google Cloud konsolunu kullanmanız gerekebilir.

Firebase KSA (komut satırı aracı)

Firebase ayrıca Firebase Hosting, Cloud Functions for Firebase ve Firebase Extensions gibi belirli Firebase ürünlerini yapılandırmak ve yönetmek için Firebase CLI'yı da sunar.

KSA'yı yükledikten sonra global firebase komutuna erişebilirsiniz. KSA'yı kullanarak yerel uygulama dizininizi bir Firebase projesine bağlayın, ardından Firebase'de barındırılan içeriklerin yeni sürümlerini veya işlevlerdeki güncellemeleri dağıtın.

Firebase Management REST API

Firebase Management REST API'yi kullanarak Firebase projesini programatik olarak yönetebilirsiniz. Örneğin, bir uygulamayı programatik olarak projeye kaydedebilir veya halihazırda kaydedilmiş uygulamaları listeleyebilirsiniz (iOS+ | Android | web).

Firebase proje tanımlayıcıları

Firebase projesi, Firebase arka ucunda ve çeşitli geliştirici arayüzlerinde proje adı, proje numarası ve proje kimliği gibi farklı tanımlayıcılar kullanılarak tanımlanabilir.

Proje adı

Proje oluştururken proje adı girersiniz. Bu tanımlayıcı, Firebase konsolundaki, Google Cloud konsolundaki ve Firebase KSA'daki bir projenin yalnızca dahili olarak kullanılan adıdır. Proje adı, herkese açık Firebase veya Google Cloud ürünü, hizmeti ya da kaynağında gösterilmez. Yalnızca birden fazla proje arasında daha kolay ayrım yapmanıza yardımcı olur.

Proje adını istediğiniz zaman Proje ayarları bölümünden düzenleyebilirsiniz.Firebase Proje adı üst bölmede gösterilir.

Proje numarası

Firebase projesinin (ve ilişkili Google Cloud projesinin) proje numarası vardır. Bu, proje için Google tarafından atanan, genel olarak benzersiz standart tanımlayıcıdır. Entegrasyonları yapılandırırken ve/veya Firebase, Google ya da üçüncü taraf hizmetlere API çağrıları yaparken bu tanımlayıcıyı kullanın.

Proje numarasını düzenleyemezsiniz. Bir projeyi silerseniz proje numarası da silinir ve başka bir proje tarafından asla kullanılamaz.

Proje kimliği

Bir Firebase projesinin (ve ilişkili Google Cloud projesinin) proje kimliği vardır. Bu, Firebase ve Google Cloud genelinde proje için kullanıcı tarafından tanımlanan benzersiz bir tanımlayıcıdır. Firebase projesi oluşturduğunuzda Firebase projeye otomatik olarak benzersiz bir kimlik atar ancak proje kurulumu sırasında bu kimliği düzenleyebilirsiniz. Bu tanımlayıcı, genel olarak projeye referans veren ayırt edici bir takma ad olarak düşünülmelidir.

Firebase yapılandırma dosyaları ve nesneleri

Bir uygulamayı Firebase projesine kaydettiğinizde Firebase konsolu, doğrudan yerel uygulama dizininize eklediğiniz bir Firebase yapılandırma dosyası (Apple/Android uygulamaları) veya yapılandırma nesnesi (web uygulamaları) sağlar.

  • Apple uygulamaları için GoogleService-Info.plist yapılandırma dosyası ekleyin.
  • Android uygulamaları için google-services.json yapılandırma dosyası ekleyin.
  • Web uygulamaları için bir Firebase yapılandırma nesnesi eklersiniz.

Dilediğiniz zaman bir uygulamanın Firebase yapılandırma dosyasını veya nesnesini edinebilirsiniz.

Firebase yapılandırma dosyası veya nesnesi, bir uygulamayı belirli bir Firebase projesi ve kaynaklarıyla (veritabanları, depolama paketleri vb.) ilişkilendirir. Yapılandırma, Firebase sunucu API'leriyle iletişim kurmak ve istemci verilerini Firebase projesi ve Firebase uygulamasıyla ilişkilendirmek için Firebase ve Google hizmetlerinin gerektirdiği parametreler olan "Firebase seçeneklerini" içerir. Gerekli olan minimum "Firebase seçenekleri" şunlardır:

  • API anahtarı: Gizli kullanıcı verilerine erişmesi gerekmeyen belirli API'leri çağırırken kullanılan basit bir şifrelenmiş dize (örnek değer: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO)

  • Proje kimliği: Firebase ve Google Cloud genelinde proje için kullanıcı tarafından tanımlanan benzersiz tanımlayıcı. Bu tanımlayıcı, bazı Firebase kaynaklarının URL'lerinde veya adlarında gösterilebilir ancak genel olarak projeye referans veren ayırt edici bir takma ad olarak düşünülmelidir. (örnek değer: myapp-project-123)

  • Uygulama Kimliği ("AppID"): Platforma özel bir biçime sahip olarak Firebase'in tamamında Firebase uygulamasının benzersiz tanımlayıcısıdır:

    • Firebase Apple uygulamaları: GOOGLE_APP_ID (örnek değer: 1:1234567890:ios:321abc456def7890)
      Bu, Apple paket kimliği değildir.
    • Firebase Android uygulamaları: mobilesdk_app_id (örnek değer: 1:1234567890:android:321abc456def7890)
      Bu, Android paket adı veya Android uygulama kimliği değildir.
    • Firebase web uygulamaları: appId (örnek değer: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c)

Firebase yapılandırma dosyasının veya nesnesinin içeriği, uygulamanın platforma özgü kimliği (Apple paket kimliği veya Android paket adı) ve API anahtarı, proje kimliği, Realtime Database URL'si ve Cloud Storage grubu adı gibi Firebase projeye özgü değerler dahil olmak üzere herkese açık olarak kabul edilir. Bu nedenle, Firebase Security Rules kullanarak Realtime Database, Cloud Firestore ve Cloud Storage'deki verilerinizi ve dosyalarınızı koruyun.

Açık kaynaklı projelerde, uygulamanın Firebase yapılandırma dosyasını veya nesnesini kaynak kontrolüne dahil etmenizi genellikle önermeyiz. Bunun nedeni, çoğu durumda kullanıcılarınızın kendi Firebase projelerini oluşturması ve uygulamalarını kendi Firebase kaynaklarına (kendi Firebase yapılandırma dosyaları veya nesneleri aracılığıyla) yönlendirmesi gerektiğidir.

Firebase projeleri, uygulamaları ve siteleri için genel sınırlar

Firebase projeleri, uygulamaları ve siteleriyle ilgili bazı genel sınırlar şunlardır:

  • Google Hesabı (e-posta adresi) başına proje sayısı

    • Spark fiyatlandırma planı: Proje oluşturma kotası, az sayıda projeyle (genellikle 5-10 civarında) sınırlıdır.
    • Blaze fiyatlandırma planı: Proje oluşturma kotası sınırlı olmaya devam eder ancak iyi durumda olan bir Cloud Billing hesabı bağlandığında artabilir.

    Proje oluşturma kotasıyla ilgili aşağıdaki bilgileri unutmayın:

    • Bu sınır Firebase'e özgü değildir. Firebase'in proje kotasıyla ilgili sınırları Google Cloud ile aynıdır.
    • Nadiren gerekmesi durumunda proje kotasında artış isteğinde bulunabilirsiniz.
    • Bir projenin tamamen silinmesi 30 gün sürer ve proje tamamen silinene kadar proje kotasına dahil edilir.

    Firebase'in Firebase projelerini ayarlama ile ilgili önerilen genel en iyi uygulamaları hakkında bilgi edinin.

  • Proje başına uygulama sayısı

    Firebase, bir Firebase projesindeki toplam Firebase uygulaması sayısını 30 ile sınırlar.

    Tek bir Firebase projesindeki tüm Firebase uygulamalarının, son kullanıcı açısından aynı uygulamanın platform varyantları olduğundan emin olmanız gerekir. En iyi uygulamalar belgelerimizde çoklu kiracılık hakkında daha fazla bilgi edinin.

    SSS bölümünden proje başına uygulama sınırı hakkında daha fazla bilgi edinin.

  • Proje başına Hosting sitesi sayısı

    Firebase Hosting çoklu site özelliği proje başına en fazla 36 siteyi destekler.

Uygulamanızı başlatma