Firebase ile İlgili SSS

Başka sorunlarınız mı var yoksa sorununuzun aşağıda açıklanmadığını mı düşünüyorsunuz? Lütfen hata bildirme veya özellik isteğinde bulunma işlemlerini yapın ve StackOverflow tartışmalarına katılın.

Firebase projeleri ve Firebase uygulamaları

Firebase projesi, Firebase'in üst düzey öğesidir. Bir projeye Apple, Android veya web uygulamalarınızı kaydedebilirsiniz. Uygulamalarınızı Firebase'e kaydettikten sonra Analytics, Cloud Firestore, Crashlytics veya Remote Config gibi ürüne özel Firebase SDK'larını uygulamanıza ekleyebilirsiniz.

Apple, Android ve web uygulaması varyantlarınızı tek bir Firebase projesine kaydetmeniz gerekir. Geliştirme, hazırlık ve üretim gibi birden fazla ortamı desteklemek için birden fazla Firebase projesi kullanabilirsiniz.

Firebase projeleri hakkında daha fazla bilgi edinmek için şu kaynaklardan yararlanabilirsiniz:

  • Firebase projelerini anlama: Google Cloud ile ilişkileri ve bir projenin, uygulamalarının ve kaynaklarının temel hiyerarşisi dahil olmak üzere Firebase projeleri hakkındaki çeşitli önemli kavramlara kısa bir genel bakış sunar.
  • Firebase projeleri oluşturmayla ilgili genel en iyi uygulamalar: Firebase projeleri oluşturma ve uygulamalarınızı bir projeye kaydetmeyle ilgili genel, üst düzey en iyi uygulamaları sağlar. Böylece farklı ortamlar kullanan net bir geliştirme iş akışı elde edersiniz.

Firebase'in tüm Firebase projeleri için Google Cloud konsolundaki projenizin Etiketler sayfasına otomatik olarak firebase:enabled etiketi eklediğini unutmayın. Bu etiket hakkında daha fazla bilgiyi SSS bölümünde bulabilirsiniz.

Google Cloud kuruluşu, Google Cloud projeleri (Firebase projeleri dahil) için bir kapsayıcıdır. Bu hiyerarşi, Google Cloud ve Firebase projelerinizi daha iyi düzenlemenizi, erişim yönetimini ve denetimini yapmanızı sağlar. Daha fazla bilgi için Kuruluşları Oluşturma ve Yönetme başlıklı makaleyi inceleyin.

Google Cloud Konsolu veya Google API'leri Konsolu üzerinden yönetilen mevcut Google Cloud projeleriniz olabilir.

Firebase'i aşağıdaki seçeneklerden birini kullanarak mevcut Google Cloud projelerine ekleyebilirsiniz:

Firebase'i Google Cloud projesine ekleme hakkında daha fazla bilgi edinin.

Firebase, Google Cloud ile derinlemesine entegredir. Projeler Firebase ile Google Cloud arasında paylaşılır. Bu nedenle, projelerde Firebase hizmetleri ve Google Cloud hizmetleri etkinleştirilebilir. Aynı projeye Firebase konsolundan veya Google Cloud konsolundan erişebilirsiniz. Özellikle:

  • Bazı Firebase ürünleri doğrudan Google Cloud tarafından desteklenir (ör. Cloud Storage for Firebase). Google Cloud tarafından desteklenen ürünlerin listesi zaman içinde büyüyecek.
  • Ortak çalışanlar ve fatura bilgileri dahil olmak üzere birçok ayarınız, Firebase ile Google Cloud tarafından paylaşılır. Hem Firebase hem de Google Cloud kullanımınız aynı faturada görünür.

Ayrıca, Blaze planına geçtiğinizde Google Cloud'in dünya standartlarında altyapı hizmetini ve API'lerini doğrudan Firebase projenizde standart Google Cloud fiyatlandırması ile kullanabilirsiniz. Ayrıca, analiz için verileri Google Cloud'ten doğrudan BigQuery'a da aktarabilirsiniz. Daha fazla bilgi edinmek için BigQuery'i Firebase'e bağlama başlıklı makaleyi inceleyin.

Google Cloud'ü Firebase ile birlikte kullanmak (aynı yerde bulunmayan diğer bulut hizmetlerine kıyasla), güvenlik artırıcı, gecikmeyi azaltıcı ve zaman kazandırıcı birçok avantaj sağlar. Daha fazla bilgi için Google Cloud sitesine göz atın.

Google Cloud Console'daki projenizin Etiketler sayfasında firebase:enabled etiketi (özellikle enabled Value içeren firebase Key) görebilirsiniz.

Projeniz bir Firebase projesi olduğu için Firebase bu etiketi otomatik olarak eklemiştir. Bu, projenizde Firebase'e özgü yapılandırmaların ve hizmetlerin etkin olduğu anlamına gelir. Firebase projeleri ile Google Cloud arasındaki ilişki hakkında daha fazla bilgi edinin.

Bu etiketi değiştirmemenizi veya silmenizi önemle tavsiye ederiz. Bu etiket, Firebase projelerinizi listelemek için Firebase ve Google Cloud tarafından kullanılır (ör. REST API projects.list uç noktası kullanılarak veya Firebase konsolundaki menülerde).

Bu etiketi proje etiketleri listenize manuel olarak eklemenin, Google Cloud projeniz için Firebase'e özgü yapılandırmaları ve hizmetleri etkinleştirmediğini unutmayın. Bunu yapmak için Firebase konsolunu (veya ileri seviye kullanım alanları için Firebase Yönetimi REST API'yi ya da Firebase KSA'yı) kullanarak Firebase'i eklemeniz gerekir.

Bu SSS, Firebase projenizi aşağıdaki yerlerde görmüyorsanız geçerlidir:

Şu sorun giderme adımlarını deneyin:

  1. Öncelikle, projenin URL'sini doğrudan ziyaret ederek projenize erişmeyi deneyin. Aşağıdaki biçimi kullanın:
    https://console.firebase.google.com/project/PROJECT_ID/overview
  2. Projeye erişemiyorsanız veya izin hataları alıyorsanız aşağıdakileri kontrol edin:
    • Projeye erişimi olan aynı Google Hesabı'nı kullanarak Firebase'de oturum açtığınızdan emin olun. Console'da oturum açmak ve oturumu kapatmak için Console'un sağ üst köşesindeki hesap avatarınızı kullanabilirsiniz.Firebase
    • Projeyi Google Cloud konsolunda görüntüleyip görüntüleyemediğinizi kontrol edin.
    • Google Cloud konsolunda projenizin Etiketler sayfasında firebase:enabled etiketinin bulunduğundan emin olun. Firebase ve Google Cloud, Firebase projelerinizi listelemek için bu etiketi kullanır. Bu etiketi görmüyorsanız ancak projenizde Firebase Management API etkinse etiketi manuel olarak ekleyin (özellikle, enabled of Value of firebase of Key).
    • Temel IAM rollerinden (Sahip, Düzenleyen, Görüntüleyen) birine veya Firebase ile ilgili izinlere sahip bir role (ör. önceden tanımlanmış bir Firebase rolü) atandığınızdan emin olun. Rollerinizi Google Cloud konsolunun IAM sayfasında görüntüleyebilirsiniz.
    • Projeniz bir Google Cloud kuruluşuna aitse projeyi Firebase konsolunda görmek için ek izinlere ihtiyacınız olabilir. Projeyi görüntülemek için size uygun rolü (ör. Tarayıcı rolü) vermesi amacıyla Google Cloud kuruluşunuzu yöneten kişiyle iletişime geçin.

Yukarıdaki sorun giderme adımlarından hiçbiri projenizi Firebase projelerinin listesinde görmenizi sağlayamıyorsa Firebase Destek Ekibi ile iletişime geçin.

  • Spark fiyatlandırma planı: Proje oluşturma kotası, az sayıda projeyle (genellikle 5-10) sınırlıdır.
  • Blaze fiyatlandırma planı: Proje oluşturma kotası sınırlı olsa da iyi durumdaki bir Cloud Billing hesabının bağlanmasıyla artabilir.

Proje oluşturma kotasıyla ilgili sınır, çoğu geliştirici için nadiren sorun teşkil eder. Ancak gerekirse proje kotasında artış isteğinde bulunabilirsiniz.

Bir projenin tamamen silinmesinin 30 gün sürdüğünü ve proje tamamen silinene kadar proje kotasına dahil edildiğini unutmayın.

Firebase projeleri; Apple, Android ve web'de Firebase uygulamalarının kapsayıcısıdır. Firebase, bir Firebase projesindeki toplam Firebase uygulaması sayısını 30 ile sınırlandırır.

Bu sayıdan sonra performans düşmeye başlar (özellikle Google Analytics için) ve uygulama sayısı daha da arttığında bazı ürün işlevleri çalışmayı durdurur. Ayrıca, kimlik doğrulama sağlayıcısı olarak Google ile oturum açma özelliğini kullanıyorsanız projenizdeki her uygulama için temel bir OAuth 2.0 istemci kimliği oluşturulur. Tek bir projede oluşturulabilecek istemci kimliği sayısı yaklaşık 30 ile sınırlıdır.

Tek bir Firebase projesindeki tüm Firebase uygulamalarının, son kullanıcı açısından aynı uygulamanın platform varyantları olduğundan emin olmalısınız. Örneğin, bir beyaz etiket uygulama geliştiriyorsanız bağımsız olarak etiketlenen her uygulamanın kendi Firebase projesi olmalıdır ancak bu etiketin Apple ve Android sürümleri aynı projede olabilir. Firebase projeleri oluşturmayla ilgili genel en iyi uygulamalarımıza göz atarak daha ayrıntılı bilgi edinebilirsiniz.

Projeniz için 30'dan fazla uygulamaya ihtiyaç duymanız nadir bir durumdur. Bu durumda uygulama sınırının artırılmasını talep edebilirsiniz. Bu isteği göndermek için projenizin Blaze fiyatlandırma planında olması gerekir. İsteğinizi göndermek ve değerlendirmesini yapmak için Google Cloud konsolunu ziyaret edin. Google Cloud dokümanlarında kota yönetimi hakkında daha fazla bilgi edinin.

Firebase konsolunda, Firebase projelerinizi ortam türleriyle etiketleyebilirsiniz. Örneğin, Üretim veya Belirtilmemiş (üretim dışı) ortamlar olarak etiketleyebilirsiniz.

Projenizi bir ortam türü olarak etiketlemenin Firebase projenizin işleyiş şekli veya özellikleri üzerinde etkisi yoktur. Ancak etiketleme, size ve ekibinize uygulama yaşam döngüsü için çeşitli Firebase projelerinizi yönetmenize yardımcı olabilir.

Projenizi üretim ortamı olarak etiketlerseniz Firebase konsolunda projeye parlak renkli bir Prod etiketi ekleriz. Bu etiket, yapılan değişikliklerin ilişkili üretim uygulamalarınızı etkileyebileceğini hatırlatır. Gelecekte, üretim ortamı olarak etiketlenen Firebase projeleri için daha fazla özellik ve önlem eklenebilir.

Firebase projenizin ortam türünü değiştirmek için Proje ayarları > Genel'e gidin, ardından Ortam bölümündeki Projeniz kartında simgesini tıklayarak ortam türünü değiştirin.

Firebase konsolunda, Proje ayarlarınıza gidin. Uygulamalarınız kartına gidin, ardından Uygulama Kimliği dahil olmak üzere uygulamanın bilgilerini görüntülemek için istediğiniz Firebase uygulamasını tıklayın.

Uygulama kimliği değerlerine örnek olarak şunlar verilebilir:

  • Firebase iOS uygulamaları: 1:1234567890:ios:321abc456def7890
  • Firebase Android uygulamaları: 1:1234567890:android:321abc456def7890
  • Firebase Web Uygulamaları: 1:1234567890:web:321abc456def7890
  • Google Play hesabınızı bağlamak için şunlara ihtiyacınız vardır:
    • Şu Firebase rollerinden birine sahip olmalısınız: Sahibi veya Firebase Yöneticisi
      ve
    • Aşağıdaki Google Play erişim düzeylerinden biri: Hesap sahibi veya Yönetici
  • AdMob uygulamanızı bağlamak için hem Firebase projesinin sahibi hem de AdMob yöneticisi olmanız gerekir.
  • AdWords hesabınızı bağlamak için hem Firebase projesi sahibi hem de AdWords yöneticisi olmanız gerekir.
  • BigQuery projenizi bağlamak için Firebase proje sahibi olmanız gerekir.

Apple platformlarında Firebase kapsülü, ilgili girişleri içeren bir NOTICES dosyası içerir. Firebase Android SDK'sı, lisans bilgilerini göstermek için bir yardımcı Activity içerir.

Firebase projelerine erişim ve izinler

Her proje üyesine atanan rolleri yönetmek için Firebase projesinin sahibi olmanız (veya resourcemanager.projects.setIamPolicy iznine sahip bir role atanmış olmanız) gerekir.

Aşağıdaki yerlerde rol atayabilir ve yönetebilirsiniz:

Projenizin sahibi artık sahip görevlerini yerine getiremiyorsa (örneğin, söz konusu kişi şirketinizden ayrıldıysa) ve projeniz bir Google Cloud kuruluşu üzerinden yönetilmiyorsa (sonraki paragrafa bakın) Firebase Destek Ekibi ile iletişime geçebilir ve Firebase projesine erişim isteğinde bulunma hakkında bilgi alabilirsiniz.

Bir Firebase projesi Google Cloud kuruluşunun parçasıysa projenin sahibi olmayabilir. Firebase projeniz için bir sahip bulamıyorsanız projeye sahip atamak üzere kuruluşunuzu yöneten kişiyle iletişime geçin. Google Cloud

Proje üyelerini ve rollerini aşağıdaki yerlerde görüntüleyebilirsiniz:

  • Firebase konsolunda projeye erişiminiz varsa Firebase konsolunun Kullanıcılar ve izinler sayfasında, sahipler dahil proje üyelerinin listesini görüntüleyebilirsiniz.
  • Firebase konsolunda projeye erişiminiz yoksa Google Cloud konsolunda projeye erişiminiz olup olmadığını kontrol edin. Sahipler dahil proje üyelerinin listesini Google Cloud konsolunun IAM sayfasında görüntüleyebilirsiniz.

Projenizin sahibi artık proje sahibinin görevlerini yerine getiremiyorsa (örneğin, bu kişi şirketinizden ayrıldıysa) ve projeniz bir Google Cloud kuruluşu aracılığıyla yönetilmiyorsa (sonraki paragrafa bakın) geçici bir proje sahibi atanması için Firebase Destek Ekibi ile iletişime geçebilirsiniz.

Google Cloud kuruluşunun parçası olan Firebase projelerinin sahibi olmayabileceğini unutmayın. Bunun yerine, Google Cloudkuruluşunuzdaki yönetici, sahibin yapabileceği birçok görevi gerçekleştirebilir. Ancak, sahibin yapabileceği bazı görevleri (ör. rol atama veya Google Analytics mülklerini yönetme) gerçekleştirmek için yöneticinin kendisine sahip rolünü ataması gerekebilir. Firebase projeniz için bir sahip bulamıyorsanız projeye sahip atamak üzere Google Cloud kuruluşunuzu yöneten kişiyle iletişime geçin.

Bir Firebase projesinin düzgün şekilde yönetilebilmesi için bir sahibi olmalıdır.

Sahip rolüne sahip proje üyeleri, idari görevleri yapabilen veya önemli bildirimleri alabilen tek proje üyeleridir:

  • Sahip rolüne sahip proje üyeleri genellikle önemli yönetim işlemlerini (ör. rol atama ve Google Analytics mülklerini yönetme) gerçekleştirebilen tek üyelerdir. Firebase Destek Ekibi ise yalnızca proje sahiplerinin yönetim isteklerini yerine getirebilir.
  • Sahibi rolüne sahip proje üyeleri, projede veya ürünlerde yapılan değişikliklerle ilgili bildirimleri (varsayılan olarak) genellikle yalnızca onlar alır (ör. faturalandırma ve yasal değişiklikler, özelliklerin kullanımdan kaldırılması vb.). Belirli veya ek proje üyelerinin bildirim almasını istiyorsanız dilerseniz projenizin "önemli kişilerini" özelleştirebilirsiniz.

Bir Firebase projesinin sahiplerini belirledikten sonra bu atamaları güncel tutmanız önemlidir.

Bir Firebase projesi Google Cloud kuruluşunun parçasıysa Google Cloud kuruluşunuzu yöneten kişinin, Sahibin yapabileceği birçok görevi gerçekleştirebileceğini unutmayın. Ancak, Sahibe özgü bazı görevler (ör. rol atama veya Google Analytics mülklerini yönetme) için yöneticinin bu görevleri gerçekleştirmek üzere kendisine gerçek Sahib rolünü ataması gerekebilir.

Aldığınız e-postada Firebase projenizi açma bağlantısı yer alır. E-postadaki bağlantıyı tıkladığınızda proje Firebase konsolunda açılır.

Bağlantıdaki projeyi açamıyorsanız projeyle ilgili e-postayı alan Google Hesabı ile Firebase'de oturum açtığınızdan emin olun. Firebase konsolunun sağ üst köşesindeki hesap avatarınız üzerinden konsolda oturum açabilir ve oturumunuzu kapatabilirsiniz.

Google Cloud kuruluşunun yöneticisiyseniz kuruluşunuzdaki Firebase projelerinde yapılan değişikliklerle ilgili bildirim alabilirsiniz. Ancak Firebase projesini açmak için yeterli izniniz olmayabilir. Bu gibi durumlarda, projeyi açıp gerekli işlemleri gerçekleştirmek için kendinize gerçek sahip rolünü atamak en basit çözümdür. Sahip rolünün neden ve ne zaman atanması gerektiği hakkında daha fazla bilgi edinin.



Platformlar ve çerçeveler

Daha fazla SSS'ye yanıt bulmak ve faydalı ipuçları edinmek için platforma özel sorun giderme ve SSS sayfalarını ziyaret edin.



Firebase konsol

Firebase konsoluna Chrome, Firefox, Safari ve Edge gibi popüler masaüstü tarayıcıların son sürümlerinden erişilebilir. Mobil tarayıcılar şu anda tam olarak desteklenmemektedir.

Aşağıdaki sorunlardan biriyle karşılaşıyorsanız bu SSS bölümü size yardımcı olabilir:

  • Firebase konsolu, projenizin mevcut olmayabileceğini veya projeye erişiminizin olmadığını belirten bir hata sayfası döndürüyor.
  • Firebase Konsolu'nun arama alanına proje kimliğinizi veya proje adınızı girdiğiniz halde projeniz konsolda görünmüyor.

Şu sorun giderme adımlarını deneyin:

  1. Öncelikle, projenin URL'sini doğrudan ziyaret ederek projenize erişmeyi deneyin. Aşağıdaki biçimi kullanın:
    https://console.firebase.google.com/project/PROJECT-ID/overview
  2. Projeye hâlâ erişemiyorsanız veya izin hataları alıyorsanız aşağıdakileri kontrol edin:
    • Projeye erişimi olan aynı Google Hesabı'nı kullanarak Firebase'de oturum açtığınızdan emin olun. Console'da oturum açmak ve oturumu kapatmak için Console'un sağ üst köşesindeki hesap avatarınızı kullanabilirsiniz.Firebase
    • Proje için Firebase Management API'nin etkinleştirildiğinden emin olun.
    • Temel IAM rollerinden (Sahip, Düzenleyen, Görüntüleyen) birine veya Firebase ile ilgili izinlere sahip bir role (ör. önceden tanımlanmış bir Firebase rolü) atandığınızdan emin olun. Rollerinizi Google Cloud konsolunun IAM sayfasında görüntüleyebilirsiniz.
    • Projeniz bir Google Cloud kuruluşuna aitse projeyi Firebase konsolunda görebilmeniz için ek izinlere ihtiyacınız olabilir. Projeyi görüntülemek için size uygun rolü (ör. Tarayıcı rolü) vermesi amacıyla Google Cloud kuruluşunuzu yöneten kişiyle iletişime geçin.

Yukarıdaki sorun giderme adımlarından hiçbiri projenizi bulmanıza veya projenize erişmenize olanak tanımıyorsa Firebase Destek Ekibi ile iletişime geçin.

Bu SSS, aşağıdaki sorunlardan herhangi biriyle karşılaşıyorsanız geçerlidir:

  • Firebase konsolundaki bir sayfanın yüklenmesi hiçbir zaman tamamlanmıyor.
  • Sayfadaki veriler beklendiği gibi yüklenmiyor.
  • Firebase konsolunu yüklerken tarayıcı hata mesajları alıyorsunuz.

Şu sorun giderme adımlarını deneyin:

  1. Olası hizmet kesintileri için Firebase Durum Kontrol Paneli'nin Konsol satırını kontrol edin.
  2. Desteklenen bir tarayıcı kullandığınızdan emin olun.
  3. Firebase konsolunu gizli veya özel bir pencerede yüklemeyi deneyin.
  4. Tüm tarayıcı uzantılarını devre dışı bırakın.
  5. Ağ bağlantısının reklam engelleyici, antivirüs, proxy, güvenlik duvarı veya başka bir yazılım tarafından engellenmediğini doğrulayın.
  6. Firebase konsolunu farklı bir ağ veya cihaz kullanarak yüklemeyi deneyin.
  7. Chrome kullanıyorsanız Geliştirici Araçları Konsolu'nda hata olup olmadığını kontrol edin.

Yukarıdaki sorun giderme adımlarından hiçbiri sorunu çözmezse Firebase Destek Ekibi ile iletişime geçin.

Firebase konsolunun dil ayarı, Google Hesabı ayarlarınızda seçilen dile bağlıdır.

Dil tercihinizi değiştirmek için Dili değiştirme başlıklı makaleyi inceleyin.

Firebase konsolu aşağıdaki dilleri destekler:

  • İngilizce
  • Portekizce (Brezilya)
  • Fransızca
  • Almanca
  • Endonezce
  • Japonca
  • Korece
  • Rusça
  • Basitleştirilmiş Çince
  • İspanyolca
  • Geleneksel Çince

Firebase konsolu ve Google Cloud konsolu aynı temel rolleri ve izinleri kullanır. Roller ve izinler hakkında daha fazla bilgi edinmek için Firebase IAM dokümanlarını inceleyin.

Firebase; sahip, düzenleyici ve görüntüleyen temel (basit) rollerini destekler:

  • Proje sahibi, projeye başka üyeler ekleyebilir, entegrasyonlar (BigQuery veya Slack gibi hizmetlere proje bağlama) oluşturabilir ve proje için tam düzenleme erişimine sahiptir.
  • Proje Düzenleyicisi, proje için tam düzenleme erişimine sahiptir.
  • Proje Görüntüleyen'in projeye yalnızca okuma erişimi vardır. Firebase konsolunun şu anda proje görüntüleyenlerinden kullanıcı arayüzü düzenleme denetimlerini gizlemediğini/devre dışı bırakmadığını ancak görüntüleyen rolü atanan proje üyeleri için bu işlemlerin başarısız olacağını unutmayın.

Firebase ayrıca şunları da destekler:

  • Firebase önceden tanımlanmış rolleri: Sahip, Düzenleyici ve İzleyici gibi temel rollerden daha ayrıntılı erişim denetimi sağlayan, Firebase'e özel seçilmiş rollerdir.
  • Özel roller — Kuruluşunuzun belirli şartlarını karşılayan bir izin grubunu özelleştirmek için oluşturduğunuz, tamamen özelleştirilmiş IAM rolleri.



Firebase Local Emulator Suite

Bu mesaj, Emülatör Paketi'nin belirli bir ürün emülatörünün farklı proje kimlikleri kullanarak çalıştığını algıladığı anlamına gelir. Bu durum, yanlış yapılandırmadan kaynaklanabilir ve emülatörlerin birbirleriyle iletişim kurmaya çalıştığında ve kodunuzdan emülatörlerle etkileşime geçmeye çalıştığınızda sorunlara neden olabilir. Proje kimlikleri eşleşmezse genellikle veriler eksik görünür. Bunun nedeni, emülatörlerde depolanan verilerin proje kimliğiyle ilişkilendirilmesi ve birlikte çalışabilirliğin proje kimliklerinin eşleşmesine bağlı olmasıdır.

Bu, geliştiriciler arasında yaygın bir kafa karışıklığı kaynağı olmuştur. Bu nedenle, firebase.json yapılandırma dosyasında aksini belirtmediğiniz sürece Local Emulator Suite artık varsayılan olarak yalnızca tek bir proje kimliğiyle çalıştırılmasına izin verecektir. Bir emülatör birden fazla proje kimliği algılarsa bir uyarı günlüğe kaydedilir ve muhtemelen ölümcül bir hata oluşur.

Proje kimliği beyanlarınızda aşağıdakiler açısından uyuşmazlık olup olmadığını kontrol edin:

  • Komut satırında ayarlanan varsayılan proje. Varsayılan olarak, proje kimliği, firebase init veya firebase use ile seçilen projeden alınır. Proje listesini görüntülemek (ve hangisinin seçili olduğunu görmek) için firebase projects:list simgesini kullanın.
  • Birim testleri. Proje kimliği genellikle Kurallar Birim Testi kitaplığı yöntemlerine yapılan initializeTestEnvironment veya initializeTestApp çağrılarında belirtilir. Diğer test kodları initializeApp(config) ile başlatılabilir.
  • Komut satırı --project işareti. Firebase CLI --project işareti iletilmesi, varsayılan projeyi geçersiz kılar. İşaretin değerinin birim testlerindeki ve uygulama başlatma işlemindeki proje kimliğiyle eşleştiğinden emin olmanız gerekir.

Kontrol edilmesi gereken platforma özgü yerler:

Web JavaScript firebaseConfig nesnenizdeki projectId özelliği, initializeApp'de kullanılır.
Android google-services.json yapılandırma dosyasının içindeki project_id mülkü.
Apple platformları GoogleService-Info.plist yapılandırma dosyasında PROJECT_ID mülkü.

Tek proje modunu devre dışı bırakmak için firebase.json değerini singleProjectMode anahtarıyla güncelleyin:

{
  "firestore": {
    ...
  },
  "functions": {
    ...
  },
  "hosting": {
    ...
  },
  "emulators": {
    "singleProjectMode": false,
    "auth": {
      "port": 9099
    },
    "functions": {
      "port": 5001
    },
    ...
  }
}



Fiyatlandırma

Bir ürüne özgü fiyatlandırmayla ilgili SSS için bu sayfadaki veya ürünün özel ürün dokümanları içindeki ilgili bölüme bakın.

Firebase'in ücretli altyapı ürünleri Realtime Database, Cloud Storage for Firebase, Cloud Functions, Hosting, Test Lab ve telefonla kimlik doğrulamasıdır. Bu özelliklerin tümü için ücretsiz bir katman sunuyoruz.

Firebase'in ücretsiz birçok ürünü de vardır: Analytics, Cloud Messaging, Bildirim Oluşturucu, Remote Config, App Indexing, Dynamic Links ve Crash Reporting. Bu ürünlerin kullanımı, ücretsiz Spark planımız da dahil olmak üzere tüm planlardaki ürünün trafik kontrolü politikalarına (ör. kotalar, adil erişim ve diğer hizmet korumaları) tabidir. Ayrıca, telefon kimlik doğrulamasının dışındaki tüm Authentication özellikleri ücretsizdir.

Firebase ücretli hizmetleri, Google Cloud Ücretsiz Deneme kapsamında kullanılabilir. Yeni Google Cloud ve Firebase kullanıcıları, 300 ABD doları değerinde ücretsiz Cloud Billing kredinin dahil olduğu 90 günlük deneme süresinden yararlanarak Google Cloud ve Firebase ürün ve hizmetlerini keşfedip değerlendirebilir.

Google Cloud Ücretsiz Deneme Süreci boyunca size bir Ücretsiz DenemeCloud Billing hesabı sağlanır. Bu faturalandırma hesabını kullanan tüm Firebase projeleri, ücretsiz deneme süresi boyunca Blaze fiyatlandırma planında olur.

Endişelenmeyin, bu ücretsiz deneme Cloud Billing hesabını oluşturmanız sizden ücret almamıza olanak tanımaz. Ücretsiz deneme Cloud Billing hesabınızı ücretli hesaba yükselterek faturalandırmayı açık bir şekilde etkinleştirmediğiniz sürece sizden ücret alınmaz. Deneme süresi boyunca dilediğiniz zaman ücretli hesaba yükseltme yapabilirsiniz. Yükseltme yaptıktan sonra da geriye kalan kredileri kullanabilirsiniz (90 günlük süre içinde).

Ücretsiz deneme süresi sona erdiğinde, Firebase projenizi kullanmaya devam etmek için projenizi Spark fiyatlandırma planına indirmeniz veya Firebase konsolunda Blaze fiyatlandırma planını ayarlamanız gerekir.

Google Cloud Ücretsiz Deneme hakkında daha fazla bilgi edinin.

Spark fiyatlandırma planı

Spark planımız, uygulamanızı ücretsiz olarak geliştirmek için mükemmel bir seçimdir. Ücretsiz Firebase özelliklerinin (Analytics, Bildirim Oluşturucu, Crashlytics vb.) tümüne ve ücretli altyapı özelliklerimizden bolca yararlanabilirsiniz. Ancak bir takvim ayında Spark planınızın kaynaklarını aşarsanız uygulamanız o ayın geri kalanı için kapatılır. Ayrıca, Spark planı kullanılırken Google Cloud özellikleri kullanılamaz.

Blaze fiyatlandırma planı

Blaze planımız, üretim uygulamaları için tasarlanmıştır. Blaze planı, ücretli Google Cloud özelliklerinden yararlanarak uygulamanızın kapsamını genişletmenize de olanak tanır. Yalnızca kullandığınız kaynaklar için ödeme yaparsınız. Bu sayede talebe uygun şekilde ölçeklendirme yapabilirsiniz. Blaze planı fiyatlarımızı, sektör lideri bulut sağlayıcılarla rekabetçi olacak şekilde belirlemeye çalışıyoruz.

Evet, dilediğiniz zaman yükseltme, düşürme veya iptal işlemi yapabilirsiniz. Alt plana geçiş veya iptal işlemleri için oransal geri ödeme yapılmadığını unutmayın. Yani fatura döneminizin sona ermesinden önce planınızı düşürür veya iptal ederseniz ayın kalanı için ödeme yapmaya devam edersiniz.

Blaze planındaki ücretsiz kullanım günlük olarak hesaplanır. Kullanım sınırları, Cloud Functions, telefonla kimlik doğrulama ve Test Lab için Spark planından da farklıdır.

Cloud Functions için Blaze planındaki ücretsiz kullanım, proje düzeyinde değil Cloud Billing hesap düzeyinde hesaplanır ve aşağıdaki sınırlara sahiptir:

  • Ayda 2 milyon çağrı
  • 400.000 GB-sn/ay
  • Ayda 200.000 CPU-saniye
  • Aylık 5 GB ağ çıkışı

Telefonla kimlik doğrulama için Blaze planındaki ücretsiz kullanım aylık olarak hesaplanır.

Test Lab için Blaze planındaki ücretsiz kullanım aşağıdaki sınırlara sahiptir:

  • Günde 30 fiziksel cihaz dakikası
  • Günde 60 sanal cihaz dakikası

Spark planındaki ücretsiz kullanım, Blaze planına dahildir. Ücretsiz kullanım, Blaze planına geçiş sırasında sıfırlanmaz.

Google Cloud konsolunda bir projeye Cloud Billing hesabı eklenirse söz konusu proje şu anda Spark planındaysa otomatik olarak Firebase Blaze planına yükseltilir.

Buna karşılık, Google Cloud konsolundaki bir projeden mevcut ve etkin bir Cloud Billing hesabı kaldırılırsa söz konusu projenin sürümü Firebase Spark planına düşürülür.

Proje kaynaklarınızın kullanımını Firebase konsolundaki aşağıdaki kontrol panellerinden birinde izleyebilirsiniz:

Hayır, şu anda Blaze planı kullanımınız için üst sınır belirleyemezsiniz. Blaze planı kullanımında tavan belirleme seçeneklerini değerlendiriyoruz.

Blaze kullanıcıları, projeleri veya hesapları için bir bütçe tanımlayabilir ve harcamaları bu sınırlara yaklaştığında uyarı alabilir. Bütçe uyarılarını nasıl ayarlayacağınızı öğrenin.

Ücretsiz planları kullananlar da dahil olmak üzere tüm Firebase uygulamaları için ABD Pasifik iş saatlerinde Firebase ekibi tarafından e-posta desteği sunulur. Tüm hesaplar faturalandırma, hesap, teknik (sorun giderme) soruları ve olay raporları ile ilgili konularda sınırsız destek alır.

Spark planımız; sivil toplum kuruluşları, okullar ve açık kaynak projeler dahil olmak üzere her tür birey veya kuruluş tarafından kullanılabilir. Bu planlar zaten cömert kotalar içerdiğinden, açık kaynak, sivil toplum kuruluşu veya eğitim projeleri için özel indirimler ya da planlar sunmuyoruz.

Blaze planımız her ölçekte kuruluş için uygundur ve Hizmet Seviyesi Sözleşmemiz, bulut altyapısı için sektör standardını karşılar veya aşar. Ancak şu anda kurumsal sözleşmeler, fiyatlandırma veya destek sunmuyoruz. Ayrıca Realtime Database gibi hizmetler için özel altyapı barındırma (yani şirket içi kurulumlar) da sunmuyoruz. Bu özelliklerden bazılarını eklemek için yoğun şekilde çalışıyoruz.

Blaze planında, yalnızca kullandığınız özellikler için ödeme yaptığınız isteğe bağlı fiyatlandırma sunuyoruz.

Firebase fiyatlandırma planları Ads'ten ayrı olduğundan maliyeti olmayan reklam kredisi yoktur. Firebase geliştiricisi olarak, dönüşüm izlemeyi desteklemek için Ads hesabınızı Firebase'e "bağlayabilirsiniz".

Tüm reklam kampanyaları doğrudan Ads'te yönetilir ve Ads faturalandırması Ads konsolundan yönetilir.

Ocak 2020'de Flame fiyatlandırma planı (ek kota için ayda 25 ABD doları), yeni kayıtlar için bir seçenek olarak kaldırıldı. Mevcut plan kullanıcılarına, projelerini Flame planından taşımaları için ek süre tanındı. Şubat 2022'de, Flame fiyatlandırma planındaki kalan projeler Spark fiyatlandırma planına geçirildi.
Bu nedenle,

  • Mevcut Spark ve Blaze planı projeleri ile yeni projeler artık Flame planına geçemez veya Flame planına kaydolamaz.
  • Mevcut bir Flame planı projesini farklı bir fiyatlandırma planına taşıdıysanız proje Flame planına geri döndürülemez.
  • Spark planına geçirilen projeler, ek ücretli hizmetleri devam ettirmek için Blaze planına yükseltilebilir.
  • Flame planına yapılan referanslar dokümanlardan kaldırıldı.

Flame planının kullanımdan kaldırılmasıyla ilgili başka sorularınız mı var? Aşağıdaki ek SSS'den bazılarını okuyun.

Firebase'in sunduğu diğer fiyatlandırma planları hakkında bilgi edinmek mi istiyorsunuz? Firebase fiyatlandırma sayfamızı ziyaret edin. Mevcut projeleri başka bir fiyatlandırma planına taşımaya başlamak istiyorsanız bunu projenizin Firebase konsolunda yapabilirsiniz.

Flame planının kullanımdan kaldırılmasıyla ilgili ek SSS

Blaze fiyatlandırma planına kaydolun ve bütçe uyarıları ayarlayın.

Hayır, Firebase, Flame planına geçiş yapan veya bu plana kaydolan projeler için özel erişim sunmuyor.

Flame planına geçiş artık mümkün değildir. Flame planının sağladığı hizmetlere erişmek için Blaze fiyatlandırma planını kullandığınızdan emin olun ve projeniz için bütçe uyarıları ayarlayın.

Projeniz için Spark planında sağlananın ötesinde ek kota gerekiyorsa projenizi Blaze fiyatlandırma planına yükseltmeniz gerekir.

Yıllar içinde Flame planının kullanımında düşüş olduğunu ve bu planı kullanan projelerin çoğunun planın tüm değerini tüketmediğini gördük. Bu fiyatlandırma planını sürdürmek genellikle maliyet etkin değildir ve kaynaklar diğer Firebase girişimlerine aktarılırsa herkese daha iyi hizmet verebileceğimizi düşünüyoruz.



Gizlilik

Firebase'de Gizlilik ve Güvenlik sayfasına göz atın.

Evet. Bu özellik şu anda yalnızca iOS'te kullanılabilir ancak gelecekte değişebilir. Firebase Apple platformları SDK'sı, FirebaseCoreDiagnostics çerçevesini varsayılan olarak içerir. Bu çerçeve, gelecekteki ürün geliştirmelerine öncelik vermek için SDK kullanımı ve teşhis bilgilerini toplamak amacıyla Firebase tarafından kullanılır. FirebaseCoreDiagnostics isteğe bağlıdır. Firebase teşhis günlüklerinin gönderilmesini devre dışı bırakmak isterseniz kitaplığın uygulamanızla bağlantısını kaldırabilirsiniz. Günlüğe kaydedilen değerler dahil olmak üzere kaynağın tamamına GitHub'da göz atabilirsiniz.



A/B Testing

Proje başına en fazla 300 deneme oluşturabilirsiniz. Bu denemelerden en fazla 24 tanesi yayınlanabilir durumda olabilir. Diğerleri taslak veya tamamlanmış olarak kalabilir.

Farklı bir Google Analytics mülküyle bağlantı oluşturmak, daha önce oluşturulan denemelere erişiminizi kaybetmenize neden olur. Önceki bir denemeye tekrar erişmek için projenizi, deneme oluşturulduğunda bağlanan Google Analytics mülküne yeniden bağlayın.

Firebase ve Google Analytics'i bağladıysanız ancak Google Analytics'in bağlı olmadığına dair bir mesaj görüyorsanız projenizdeki tüm uygulamalar için bir Analytics akışı bulunduğundan emin olun. Şu anda A/B Testi'ni kullanmak için bir projedeki tüm uygulamaların bir Google Analytics akışına bağlı olması gerekir.

Tüm etkin akışların listesini, Firebase konsolundaki Google Analytics entegrasyon ayrıntıları sayfasında bulabilirsiniz. Bu sayfaya Proje Ayarları Entegrasyonlar Google Analytics Yönet bölümünden erişebilirsiniz.

Google Analytics akışı olmayan uygulamalar için Google Analytics akışı oluşturmak sorunu çözebilir. Eksik uygulamalar için yayın oluşturmanın birkaç yolu vardır:

  • İlişkili bir Google Analytics akışı olmayan yalnızca bir veya iki uygulamanız varsa Google Analytics akışı eklemek için aşağıdaki yöntemlerden birini seçebilirsiniz:
    • Firebase konsolunda etkin bir yayını olmayan uygulamaları silin ve yeniden ekleyin.
    • Google Analytics konsolunda Yönetici'yi seçin, Veri Akışları'nı ve ardından Akış ekle'yi tıklayın, eksik uygulamanın ayrıntılarını ekleyin ve Uygulamayı kaydettir'i tıklayın.
  • Eksik uygulama akışlarınız birkaç taneden fazlaysa Google Analytics mülkünüzün bağlantısını kaldırıp yeniden bağlamak, eksik uygulama akışlarını oluşturmanın en hızlı ve en verimli yoludur:
    1. Proje Ayarları bölümünden Entegrasyonlar'ı seçin.
    2. Firebase ve Google Analytics ayarlarına erişmek için Google Analytics kartında Yönet'i tıklayın.
    3. Google Analytics mülk kimliğini ve bağlı Google Analytics hesabını not edin.
    4. Diğer'i tıklayın ve Analytics'in bu projeyle bağlantısını kaldır'ı seçin.
    5. Görünen uyarıyı inceleyin (Endişelenmeyin, sonraki adımda aynı mülkü yeniden bağlayacaksınız.) ve ardından Google Analytics'in bağlantısını kaldır'ı tıklayın.

      Bağlantı kaldırma işlemi tamamlandığında Entegrasyonlar sayfasına yönlendirilirsiniz.
    6. Yeniden bağlama işlemini başlatmak için Google Analytics kartında Etkinleştir'i tıklayın.
    7. Hesap seç listesinden Analytics hesabınızı seçin.
    8. Bu hesapta otomatik olarak yeni bir mülk oluşturun seçeneğinin yanındaki Düzenle'yi tıklayın ve görünen Analytics mülkü listesinden mülk kimliğinizi seçin.

      Projenizdeki tüm uygulamaların listesi gösterilir. Her uygulamanın mevcut akış eşlemeleri listelenir ve akışı olmayan uygulamalar için bir akış oluşturulur.
    9. Mülkü yeniden bağlamak için Google Analytics'i etkinleştir'i tıklayın.
    10. Son'u tıklayın.

Bu adımları uyguladıktan sonra Remote Config ile A/B testi oluşturma sırasında hata almaya devam ederseniz Firebase Destek Ekibi ile iletişime geçin.



AdMob

Hayır, Windows uygulamaları şu anda desteklenmemektedir.

AdMob uygulamasını AdMob konsolu üzerinden bir Firebase uygulamasına bağlayabilirsiniz. Nasıl yapılacağını öğrenin.

Bu bağlantıyı oluşturmak için aşağıdaki erişime sahip olmanız gerekir:

Çok kullanıcılı AdMob hesapları için AdMob uygulamaları ile Firebase uygulamaları arasında yeni bağlantılar oluşturabilecek tek kullanıcı, ilk Firebase bağlantısını oluşturan ve Firebase Hizmet Şartları'nı kabul eden kullanıcıdır.

AdMob'ü kullanmak için bu SSS bölümünde açıklandığı gibi her zaman Google Mobile Ads SDK'sını kullanın. Ayrıca, isteğe bağlı olarak AdMob için kullanıcı metrikleri toplamak istiyorsanız uygulamanıza Google Analytics için Firebase SDK'sını dahil edin.




Analytics

Google Analytics, güçlü analizler sunmak için Firebase özellikleriyle çalışan ücretsiz ve sınırsız bir analiz çözümüdür. Bu özellik, Crashlytics'teki etkinlik günlüklerini, FCM'teki bildirim etkililiğini, Dynamic Links için derin bağlantı performansını ve Google Play'tan uygulama içi satın alma verilerini görüntülemenizi sağlar. Remote Config, Remote Config kişiselleştirme ve daha birçok alanda gelişmiş kitle hedeflemeyi destekler.

Google Analytics, yüksek kaliteli bir uygulama geliştirme, kullanıcı tabanınızı büyütme ve daha fazla para kazanma hakkında daha fazla uygulanabilir analiz sunmak için Firebase konsolunda bir zeka katmanı görevi görür.

Başlamak için dokümanları okuyun.

Varsayılan olarak Google Analytics verileriniz diğer Firebase ve Google özelliklerini geliştirmek için kullanılır. Verilerinizin nasıl paylaşıldığını dilediğiniz zaman proje ayarlarınızdan kontrol edebilirsiniz.Google Analytics Veri paylaşımı ayarları hakkında daha fazla bilgi edinin.

Google Analytics mülkünüzün Yönetici sayfasından mülk ayarlarınızı güncelleyebilirsiniz. Örneğin:

  • Veri paylaşım ayarları
  • Veri saklama ayarları
  • Saat dilimi ve para birimi ayarları

Mülk ayarlarınızı güncellemek için aşağıdaki adımları uygulayın:

  1. Firebase konsolunda > Proje ayarları'na gidin.
  2. Entegrasyonlar sekmesine gidin ve ardından Google Analytics kartında Yönet veya Bağlantıyı göster'i tıklayın.
  3. Hesap ve mülk ayarlarını açmak için Google Analytics hesabınızın bağlantısını tıklayın.

Evet. Daha fazla bilgi için Veri Toplama ve Kullanımı Yapılandırın sayfasına bakın.

Bu değişikliklerin özetini Firebase için Google Analytics'teki yeni Google Analytics 4 işlevleri başlıklı Firebase Yardım Merkezi makalesinde bulabilirsiniz.

Analytics verileri Firebase projesinde değil, Google Analytics mülkünde bulunur. Mülkü silerseniz veya mülkün bağlantısını kaldırırsanız Analytics verilerine Firebase erişemez ve Firebase konsolunda boş bir Analytics kontrol paneli görürsünüz. Veriler daha önce bağlanmış mülkte bulunduğundan mülkü dilediğiniz zaman Firebase'e yeniden bağlayabilir ve Analytics verilerini Firebase konsolunda görebilirsiniz.

Firebase projenize yeni bir Google Analytics hesabını (ve dolayısıyla yeni bir Google Analytics mülkünü) bağladığınızda Firebase konsolunda boş bir Analytics kontrol paneli gösterilir. Ancak daha önce bağladığınız mülk hâlâ mevcutsa eski mülkten yeni mülke mevcut verileri taşıyabilirsiniz.

Hayır. Mülkünüz silindiyse mülkün silinmesini geri almak veya daha önce toplanmış Analytics verilerini almak mümkün değildir.

Google Analytics'i tekrar kullanmaya başlamak istiyorsanız Firebase projenize yeni veya mevcut bir mülk bağlayabilirsiniz. Bu bağlamayı Firebase konsolundan veya Google Analytics kullanıcı arayüzünden yapabilirsiniz. Google Analytics mülkünü Firebase projenize bağlama hakkında daha fazla bilgi edinin.

Google Analytics'i tekrar kullanmaya başlamak istiyorsanız Firebase projenize yeni veya mevcut bir mülk bağlayabilirsiniz. Bu bağlamayı Firebase konsolundan veya Google Analytics kullanıcı arayüzünden yapabilirsiniz. Google Analytics mülkünü Firebase projenize bağlama hakkında daha fazla bilgi edinin.

Tüm Analytics verilerinin Firebase projesinde değil mülkte depolandığından, daha önce toplanan Analytics verilerinin alınamayacağını unutmayın.

Birçok Firebase ürünü, Google Analytics entegrasyonundan yararlanır. Analytics mülkünüz ve verileri silinirse aşağıdaki ürünleri kullanıyorsanız aşağıdakiler olur:

  • Crashlytics: Artık kilitlenme yaşamayan kullanıcıları, içerik haritası günlüklerini ve/veya hız uyarılarını göremezsiniz.
  • Cloud Messaging ve In-App Messaging: Artık hedefleme, kampanya metrikleri, kitle segmentasyonu ve analiz etiketlerini kullanamazsınız.
  • Remote Config: Artık hedeflenen yapılandırmaları veya kişiselleştirmeyi kullanamazsınız.
  • A/B Testing: Deneme ölçümü Google Analytics tarafından sağlandığından artık A/B Testing'ü kullanamazsınız.
  • Dynamic Links: Google Analytics'teki verilere dayanan tüm özellikler devre dışı bırakılır.

Ayrıca aşağıdaki entegrasyonlar da etkilenecektir:

Bu kullanıcıları "negatif olarak hedefleyerek" sorunu yeniden çerçevelendirebilirsiniz. Örneğin, sorunu "Bir şey satın almış kullanıcılara reklam gösterme" olarak yeniden ifade edin ve hedeflenecek bu kullanıcılardan bir kitle oluşturun.

Kitleleriniz ve kullanıcı özellikleriniz senkronize edilir. Segmentasyon ve kapalı dönüşüm hunileri gibi bazı özellikler için Google Analytics arayüzünü kullanmanız gerekir. Google Analytics arayüzüne doğrudan Firebase konsolundaki derin bağlantılar üzerinden erişebilirsiniz.

Firebase konsolundan yaptığınız tüm değişiklikler Google Analytics'te de yapılabilir ve bu değişiklikler Firebase'e yansıtılır.



Authentication

Firebase Authentication, telefon numarası doğrulamayı dünya genelinde destekler ancak tüm ağlar doğrulama mesajlarını güvenilir bir şekilde yayınlamaz. Aşağıdaki bölgelerde teslimat oranları iyidir ve telefonla kimlik doğrulama için iyi çalışması beklenir. Belirtilen durumlarda, teslimat başarı oranlarının düşük olması nedeniyle bazı operatörler bir bölgede kullanılamaz.

Bölge Kod
REKLAMAndora
AEBirleşik Arap Emirlikleri
AFAfganistan
AGAntigua ve Barbuda
ALArnavutluk
ÖÖErmenistan
AOAngola
ARArjantin
ASAmerikan Samoası
ATAvusturya
AUAvustralya
AWAruba
AZAzerbaycan
BABosna Hersek
BBBarbados
BDBangladeş
BEBelçika
BFBurkina Faso
BGBulgaristan
BJBenin
BMBermuda
BNBrunei Darussalam
BOBolivya
BRBrezilya
BSBahamalar
BTButan
BWBotsvana
BYBelarus
BZBelize
CAKanada
CDKongo (Kinşasa)
CFOrta Afrika Cumhuriyeti
CGKongo (Brazavil)
CHİsviçre
CIFildişi Sahili
CKCook Adaları
CLŞili
CMKamerun
COKolombiya
CRKosta Rika
CVCabo Verde
CWCuraçao
CYGüney Kıbrıs Rum Yönetimi
CZÇek Cumhuriyeti
DEAlmanya
DJCibuti
DKDanimarka
DMDominika
DODominik Cumhuriyeti
DZCezayir
ECEkvador
EGMısır
ESİspanya
ETEtiyopya
FIFinlandiya
FJFiji
FKFalkland Adaları (Malvinas)
FMMikronezya Federe Devletleri
FOFaroe Adaları
FRFransa
GKSTGabon
GBİngiltere
AGrenada
GEGürcistan
AGFransız Guyanası
GGGuernsey
GHGana
GICebelitarık
GLGrönland
GMGambiya
OMGuadalup
GQEkvator Ginesi
GRYunanistan
GTGuatemala
GYGuyana
HKHong Kong, SAR Çin
HNHonduras
İKHırvatistan
DAHaiti
HUMacaristan
KimlikEndonezya
IEİrlanda
ILİsrail
IMMan Adası
GİRİŞHindistan
IQIrak
ITİtalya
JEJersey
JMJamaika
JOÜrdün
JPJaponya
KEKenya
KGKırgızistan
KHKamboçya
KMComoros
KNSaint Kitts ve Nevis
KRKore (Güney)
KWKuveyt
KYCayman Adaları
KZKazakistan
LALao PDR
LBLübnan
LCSaint Lucia
LILihtenştayn
LKSri Lanka
LSLesotho
LTLitvanya
LULüksemburg
LVLetonya
LYLibya
MAFas
MDMoldova
MEKaradağ
MFSaint-Martin (Fransız Bölgesi)
MGMadagaskar
MKMakedonya Cumhuriyeti
MMMyanmar
MNMoğolistan
MOMakao, Çin Özel İdari Bölgesi
MSMontserrat
MTMalta
MUMorityus
MWMalavi
MXMeksika
MYMalezya
MZMozambik
NANamibya
NCYeni Kaledonya
KDNijer
NFNorfolk Adası
NGNijerya
NINikaragua
NLHollanda
HAYIRNorveç
NPNepal
NZYeni Zelanda
OMUmman
VSPanama
PEPeru
PGPapua Yeni Gine
PHFilipinler
PKPakistan
PLPolonya
ÖSSaint Pierre ve Miquelon
PRPorto Riko
PSFilistin Bölgesi
PTPortekiz
PYParaguay
kalite güvencesiKatar
RERéunion
RORomanya
RSSırbistan
RURusya Federasyonu
RWRuanda
SASuudi Arabistan
SCSeyşeller
SEİsveç
SGSingapur
Out vuruşuSaint Helena
SISlovenya
SKSlovakya
SLSierra Leone
SNSenegal
SRSurinam
STSao Tome ve Principe
SVEl Salvador
SZSvaziland
TCTurks ve Caicos Adaları
TGTogo
THTayland
TLDoğu Timor
TMTürkmenistan
TKTonga
TRTürkiye
TTTrinidad ve Tobago
TWTayvan, Çin Cumhuriyeti
TZTanzanya Birleşik Cumhuriyeti
UAUkrayna
UGUganda
ABDAmerika Birleşik Devletleri
UYUruguay
UZÖzbekistan
VCSaint Vincent ve Grenadinler
VEVenezuela (Bolivar Cumhuriyeti)
VGBritanya Virjin Adaları
VIVirgin Adaları, ABD
VNVietnam
WSSamoa
YEYemen
YTMayotte
ZAGüney Afrika
ZMZambiya
ZWZimbabve

Telefonla Kimlik Doğrulama'nın güvenliğini ve hizmet kalitesini iyileştirmek için Eylül 2024'ten itibaren Firebase projelerinin SMS Hizmeti'ni etkinleştirmesi ve kullanması amacıyla bir Cloud Faturalandırma hesabına bağlanması gerekir.

Projenizi SMS trafiği pompalamaya ve API kötüye kullanımına karşı korumak için aşağıdaki adımları uygulayın:

SMS bölge politikası belirleme
  1. Bölgesel SMS kullanımınızı görüntüleyin.

    Gönderilen SMS sayısının çok yüksek, doğrulanmış SMS sayısının ise çok düşük (veya sıfır) olduğu bölgeleri bulun. Doğrulanan/gönderilen oranı, başarı oranınızdır. SMS, teslimatı garanti edilen bir protokol olmadığı ve bazı bölgelerde kötüye kullanım yaşanabileceği için sağlıklı başarı oranları genellikle% 70-85 aralığındadır. %50'nin altındaki başarı oranları, çok sayıda SMS gönderildiği ancak çok az sayıda başarılı giriş yapıldığı anlamına gelir. Bu durum, kötü niyetli kişilerin ve SMS trafiği pompalamanın yaygın bir göstergesidir.

  2. Başarı oranı düşük SMS bölgelerini reddetmek veya uygulamanız yalnızca belirli pazarlarda dağıtılmak üzere tasarlandıysa yalnızca belirli bölgelere izin vermek için SMS Bölge Politikası'nı kullanın.

Yetkili kimlik doğrulama alanlarınızı sınırlama

Yetkili alanları yönetmek için Kimlik doğrulama ayarları kontrol panelini kullanın. Geliştirmeyi basitleştirmek için localhost alanı, onaylanmış kimlik doğrulama alanlarına varsayılan olarak eklenir. Kötü niyetli kişilerin üretim projenize erişmek için kendi localhost'lerinde kod çalıştırmasını önlemek amacıyla localhost'yi üretim projenizdeki yetkili alanlardan kaldırabilirsiniz.

Uygulama Kontrolü'nü etkinleştirme ve zorunlu kılma

İsteklerin yalnızca projenizle ilişkili uygulamalardan geldiğini onaylayarak projenizi API kötüye kullanımına karşı korumaya yardımcı olmak için Uygulama Kontrolü'nü etkinleştirin.

Uygulama Denetimi'ni Firebase Authentication ile kullanmak için Firebase Authentication with Identity Platform sürümüne geçmeniz gerekir.

Kimlik doğrulama için Uygulama Kontrolü'nü Firebase konsolunda zorunlu kılmanız gerektiğini unutmayın (zorunlu kılmadan önce trafiği izlemeyi düşünün). Ayrıca, reCAPTCHA Enterprise onaylı siteler listenizin yalnızca üretim sitelerinizi içerdiğini ve Uygulama Kontrolü'nde projenize kayıtlı uygulamaların listesinin doğru olduğunu doğrulamak için listenizi tekrar kontrol edin.

Uygulama Kontrolü, çağrının kayıtlı uygulamalarınızdan birinden geldiğini doğrulayarak otomatik saldırılara karşı koruma sağlamaya yardımcı olur. Kullanıcıların uygulamanızı istenmeyen şekillerde kullanmasını engellemez (ör. gönderilen SMS'ler oluşturmak için giriş akışlarını başlatıp hiç bitirmemek).

Şu anda operatörler arasında taşınan numaralar, söz konusu son kullanıcılar için tüm SMS'lerin teslim edilememesine neden olmaktadır. Bu sorunun geçici bir çözümü yoktur. Firebase bu sorun üzerinde çalışmaktadır.

Aşağıdaki hatayı alıyorsanız bu SSS'deki sorun giderme adımlarını uygulayın:

GoogleFragment: Google sign in failed
    com.google.android.gms.common.api.ApiException: 13: Unable to get token.
        at
com.google.android.gms.internal.auth-api.zbay.getSignInCredentialFromIntent(com.google.android.gms:play-services-auth@@20.3.0:6)
  1. Google ile oturum açma özelliğinin kimlik doğrulama sağlayıcısı olarak düzgün şekilde etkinleştirildiğinden emin olun:

    1. Firebase konsolunda Authentication bölümünü açın.

    2. Oturum açma yöntemi sekmesinde, Google ile oturum açma yöntemini devre dışı bırakıp yeniden etkinleştirin (etkinleştirilmiş olsa bile):

      1. Google oturum açma yöntemini açın, devre dışı bırakın ve ardından Kaydet'i tıklayın.

      2. Google ile oturum açma yöntemini yeniden açın, etkinleştirin ve ardından Kaydet'i tıklayın.

  2. Uygulamanızın güncel Firebase yapılandırma dosyasını (google-services.json) kullandığından emin olun.
    Uygulamanızın yapılandırma dosyasını edinin.

  3. Hatayı almaya devam edip etmediğinizi kontrol edin. Bu durumda, sonraki sorun giderme adımına geçin.

  4. Gerekli temel OAuth 2.0 istemcilerinin bulunduğundan emin olun.

    1. Google Cloud konsolunun Kimlik Bilgileri sayfasında OAuth 2.0 istemci kimlikleri bölümüne bakın.

    2. OAuth 2.0 istemcileri bulunmuyorsa (ve yukarıdaki tüm sorun giderme adımlarını uyguladıysanız) Destek Ekibi ile iletişime geçin.

Aşağıdaki hatayı alıyorsanız bu SSS'deki sorun giderme adımlarını uygulayın:

You must specify |clientID| in |GIDConfiguration|
  1. Google ile oturum açma özelliğinin kimlik doğrulama sağlayıcısı olarak düzgün şekilde etkinleştirildiğinden emin olun:

    1. Firebase konsolunda Authentication bölümünü açın.

    2. Oturum açma yöntemi sekmesinde, Google ile oturum açma yöntemini devre dışı bırakıp yeniden etkinleştirin (etkinleştirilmiş olsa bile):

      1. Google oturum açma yöntemini açın, devre dışı bırakın ve ardından Kaydet'i tıklayın.

      2. Google ile oturum açma yöntemini yeniden açın, etkinleştirin ve ardından Kaydet'i tıklayın.

  2. Uygulamanızın güncel Firebase yapılandırma dosyasını (GoogleService-Info.plist) kullandığından emin olun.
    Uygulamanızın yapılandırma dosyasını edinin.

  3. Hatayı almaya devam edip etmediğinizi kontrol edin. Bu durumda, sonraki sorun giderme adımına geçin.

  4. Gerekli temel OAuth 2.0 istemcilerinin bulunduğundan emin olun.

    1. Google Cloud konsolunun Kimlik Bilgileri sayfasında OAuth 2.0 istemci kimlikleri bölümüne bakın.

    2. OAuth 2.0 istemcileri bulunmuyorsa (ve yukarıdaki tüm sorun giderme adımlarını uyguladıysanız) Destek Ekibi ile iletişime geçin.

Aşağıdaki hatayı alıyorsanız bu SSS'deki sorun giderme adımlarını uygulayın:

AuthErrorCode.INVALID_OAUTH_CLIENT_ID
  1. Google ile oturum açma özelliğinin kimlik doğrulama sağlayıcısı olarak düzgün şekilde etkinleştirildiğinden emin olun:

    1. Firebase konsolunda Authentication bölümünü açın.

    2. Oturum açma yöntemi sekmesinde, Google ile oturum açma yöntemini devre dışı bırakıp yeniden etkinleştirin (etkinleştirilmiş olsa bile):

      1. Google oturum açma yöntemini açın, devre dışı bırakın ve ardından Kaydet'i tıklayın.

      2. Google ile oturum açma yöntemini yeniden açın, etkinleştirin ve ardından Kaydet'i tıklayın.

  2. Ayrıca, Authentication bölümünün Google ile oturum açma sağlayıcı yapılandırmasında, OAuth istemci kimliğinin ve gizli anahtarının Google Cloud konsolunun Kimlik Bilgileri sayfasında gösterilen web istemciyle eşleştiğinden emin olun (OAuth 2.0 İstemci Kimlikleri bölümüne bakın).

Aşağıdaki hatayı alıyorsanız bu SSS'deki sorun giderme adımlarını uygulayın:

This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.

Bu hatanın nedeni büyük olasılıkla yönlendirme alanınızın Firebase Authentication için yetkili alan olarak listelenmemesi veya Firebase Authentication Hizmeti ile kullandığınız API anahtarının geçersiz olmasıdır.

Öncelikle YOUR_REDIRECT_DOMAIN'ün Firebase projenizin yetkili alan adları listesinde olduğundan emin olun. Yönlendirme alanınız zaten listedeyse geçersiz API anahtarı sorunlarını gidermeye devam edin.

Varsayılan olarak Firebase Authentication JS SDK'sı, Browser key olarak etiketlenen Firebase projenizin API anahtarını kullanır ve oturum açma yönlendirme URL'sinin yetkili alanlar listesine göre geçerli olup olmadığını doğrulamak için bu anahtarı kullanır. Authentication, Authentication SDK'sına nasıl eriştiğinize bağlı olarak bu API anahtarını alır:

Bu API anahtarının silinmediğinden emin olun: Google Cloud Console'da projenizin tüm API anahtarlarının listelendiği API'ler ve Hizmetler > Kimlik Bilgileri paneline gidin.

  • Browser key silinmediyse aşağıdakileri kontrol edin:

    • Anahtarın erişebilmesi için Firebase Authentication API'nin izin verilen API'ler listesinde olduğundan emin olun (API anahtarları için API kısıtlamaları hakkında daha fazla bilgi edinin).

    • Oturum açma kodunu kendiniz barındırıyorsanız __/firebase/init.json dosyanızda listelenen API anahtarının Cloud Console'daki API anahtarıyla eşleştiğinden emin olun. Gerekirse dosyadaki anahtarı düzeltin ve uygulamanızı yeniden dağıtın.

    • Browser key silindiyse Firebase'in sizin için yeni bir API anahtarı oluşturmasını sağlayabilirsiniz: Firebase konsolunda > Proje ayarları'na gidin, ardından Uygulamalarınız bölümünde web uygulamanızı tıklayın. Bu işlem, web uygulamanızın SDK kurulumu ve yapılandırması bölümünde görebileceğiniz bir API anahtarını otomatik olarak oluşturur.

    Cloud Console'da bu yeni API anahtarının Browser key olarak adlandırılmayacağını, bunun yerine Firebase web uygulamanızın takma adıyla aynı olacağını unutmayın. Bu yeni API anahtarına API kısıtlamaları eklemeye karar verirseniz Firebase Authentication API'nin izin verilen API'ler listesinde olduğundan emin olun.

    Yeni API anahtarınız oluşturulduktan sonra aşağıdaki geçerli adımları tamamlayın:

    • Ayrılmış Hosting URL'leri kullanıyorsanız uygulamanızı Firebase'e yeniden dağıtın. Böylece, Firebase yapılandırmanızın geri kalanıyla birlikte yeni API anahtarını otomatik olarak alabilir.

    • Giriş kodunu kendiniz barındırıyorsanız yeni API anahtarını kopyalayıp __/firebase/init.json dosyanıza ekleyin, ardından uygulamanızı yeniden dağıtın.

  1. Google Cloud konsolunun Kimlik bilgileri sayfasını açın.

  2. Sayfanın üst kısmından Kimlik bilgileri oluştur > OAuth istemci kimliği'ni seçin.

  3. Kullanıcı rızası ekranınızı yapılandırmanız istenirse ekrandaki talimatları uygulayın ve ardından bu SSS'deki aşağıdaki adımlara geçin.

  4. OAuth web istemcisini oluşturun:

    1. Uygulama Türü için Web uygulaması'nı seçin.

    2. Yetkilendirilmiş JavaScript Kaynakları için aşağıdakileri ekleyin:

      • http://localhost
      • http://localhost:5000
      • https://PROJECT_ID.firebaseapp.com
      • https://PROJECT_ID.web.app
    3. Yetkilendirilmiş yönlendirme URI'leri için aşağıdakileri ekleyin:

      • https://PROJECT_ID.firebaseapp.com/__/auth/handler
      • https://PROJECT_ID.web.app/__/auth/handler
    4. OAuth istemcisini kaydedin.

  5. Yeni OAuth istemci kimliğini ve istemci gizli anahtarını panonuza kopyalayın.

  6. Firebase konsolunda Authentication bölümünü açın.

  7. Oturum açma yöntemi sekmesinde Google ile oturum açma sağlayıcısını açın ve ardından yeni oluşturduğunuz ve Google Cloud konsolundan kopyaladığınız web sunucusu istemci kimliğini ve gizli anahtarını yapıştırın. Kaydet'i tıklayın.

Aralık 2022'den önce, e-posta şablonundaki %APP_NAME%, Firebase projesine bir Android uygulaması kaydedildiğinde otomatik olarak sağlanan OAuth marka adıyla dolduruluyordu. OAuth markası yalnızca Google ile oturum açma etkinleştirildiğinde sağlandığından, %APP_NAME% değerinin nasıl belirlendiği aşağıda açıklanmıştır:

  • OAuth marka adı mevcutsa e-posta şablonundaki %APP_NAME%, OAuth marka adı olur (Aralık 2022'den önceki davranışla aynıdır).

  • OAuth marka adı mevcutsa e-posta şablonundaki %APP_NAME% aşağıdaki şekilde belirlenir:

    • Web uygulamaları için %APP_NAME%, varsayılan Firebase Hosting site adı (.firebaseapp.com ve .web.app'ten önceki değer ve genellikle Firebase proje kimliği) olur.

    • Mobil uygulamalar için:

      • İstekte Android paket adı veya iOS paket kimliği varsa %APP_NAME%, Play Store'da ya da App Store'da kullanılan uygulama adı olur (sırasıyla).

      • Aksi takdirde %APP_NAME%, varsayılan Firebase Hosting site adı (.firebaseapp.com ve .web.app'den önce gelen değer ve genellikle Firebase proje kimliği) olur.

    Varsayılan Firebase Hosting site adının aranması başarısız olursa son yedek olarak %APP_NAME% için Firebase proje kimliğinin kullanıldığını unutmayın.



Cloud Functions

Cloud Functions çalışma zamanı desteği

  1. Blaze fiyatlandırma planını kullandığınızdan emin olun.
  2. Firebase CLI'nin en son sürümünü kullandığınızdan emin olun.
  3. İşlevlerinizin package.json bölümünde engines alanını güncelleyin.
  4. İsterseniz Firebase Local Emulator Suite simgesini kullanarak değişikliklerinizi test edebilirsiniz.
  5. Tüm işlevleri yeniden dağıtın.

Firebase konsolunda işlevler kontrol paneline gidin, bir işlev seçin ve Ek ayrıntılar bölümünde işlevin dilini kontrol edin.

Evet. Uzantılar Cloud Functions'ı kullandığından, uzantılarınızın çalışma zamanının Cloud Functions ile aynı zaman çizelgesinde güncellenmesi gerekir.

Projenizde yüklü olan her uzantıyı düzenli olarak en son sürüme güncellemenizi öneririz. Projelerinizin uzantılarını Firebase konsolu veya Firebase CLI üzerinden yükseltebilirsiniz.

Cloud Functions fiyatlandırması

Cloud Functions for Firebase, bazı ücretli Google hizmetlerini kullanır. Firebase CLI 11.2.0 ve sonraki sürümlerde yeni işlev dağıtımları Cloud Build ve Artifact Registry'i kullanır. Eski sürümlere yapılan dağıtımlarda Cloud Build aynı şekilde kullanılır ancak depolama alanı için Artifact Registry yerine Container Registry ve Cloud Storage kullanılır. Bu hizmetlerin kullanımı, mevcut fiyatlandırmaya ek olarak faturalandırılır.

Firebase CLI 11.2.0 ve sonraki sürümler için depolama alanı

Artifact Registry işlevlerin çalıştırıldığı kapsayıcıları sağlar. Artifact Registry, ilk 500 MB'ı ücretsiz olarak sağlar. Bu nedenle, ilk işlev dağıtımlarınız ücrete tabi olmayabilir. Bu eşiğin üzerindeki her ek GB depolama alanı için ayda 0, 10 ABD doları faturalandırılır.

Firebase CLI 11.1.x ve önceki sürümler için depolama alanı

Eski sürümlere dağıtılan işlevler için Container Registry, işlevlerin çalıştığı kapsayıcıları sağlar. Bir işlevi dağıtmak için gereken her kapsayıcı için ücretlendirilirsiniz. Saklanan her kapsayıcı için küçük ücretler görebilirsiniz.Örneğin, 1 GB depolama alanı için ayda 0,026 ABD doları faturalandırılır.

Faturanızın nasıl değişebileceği hakkında daha fazla bilgi edinmek için lütfen aşağıdaki

Evet. Blaze planında Cloud Functions, çağrılar, işlem süresi ve internet trafiği için ücretsiz bir katman sunar. İlk 2.000.000 çağrı, 400.000 GB/saniye, 200.000 CPU/saniye ve 5 GB internet çıkış trafiği her ay ücretsiz olarak sağlanır. Yalnızca bu eşiklerin üzerindeki kullanımlar için ücretlendirilirsiniz.

İlk 500 MB ücretsiz depolama alanının ardından her dağıtım işlemi, işlevin kapsayıcısı için kullanılan depolama alanı için küçük ölçekli ücretlere tabi olur. Geliştirme süreciniz, test için işlevleri dağıtmaya bağlıysa geliştirme sırasında Firebase Local Emulator Suite kullanarak maliyetleri daha da azaltabilirsiniz.

Firebase Fiyatlandırma planları ve Cloud Functions Fiyatlandırma örnek senaryolarına bakın.

Hayır. Maksimum derleme süresi sınırının kaldırılması dışında kotalarda değişiklik yapma planımız yoktur. 120 dakikalık günlük derleme kotasına ulaşıldığında hata veya uyarı almanız yerine Blaze fiyatlandırma planının şartları uyarınca faturalandırılırsınız. Kotalar ve sınırlar bölümüne bakın.

Evet, 300 ABD doları kredi almak için Google Cloud konsolunda bir Cloud Billing hesabı oluşturabilir ve ardından bu Cloud Billing hesabını bir Firebase projesine bağlayabilirsiniz.

Google Cloud kredisi hakkında daha fazla bilgiyi burada bulabilirsiniz.

Bunu yaptığınızda, 300 ABD doları krediniz bittikten sonra projenizin çalışmaya devam edebilmesi için Firebase konsolunda Blaze fiyatlandırma planını ayarlamanız gerektiğini unutmayın.

Hayır, maalesef. Cloud Billing hesabınız olmadan geliştirme için Firebase emülatörünü kullanabilirsiniz. Alternatif olarak, Google Cloud ücretsiz deneme sürümüne başvurmayı da deneyebilirsiniz. Bu değişiklik nedeniyle faturanızı ödeme konusunda sorun yaşamaya devam ederseniz Firebase Destek Ekibi ile iletişime geçin.

Maliyetleri kontrol etmek için Google Cloud konsolunda bütçe uyarıları oluşturabilirsiniz. Ayrıca, işlevleriniz için oluşturulan faturalandırılan örneklerin sayısına sınır belirleyebilirsiniz. Tipik senaryoların maliyeti hakkında fikir edinmek için Cloud Functions Fiyatlandırması örneklerine bakın.

Firebase konsolunda Kullanım ve faturalandırma kontrol panelini görüntüleyin.

Evet. Uzantılar Cloud Functions'i kullandığından uzantılar diğer işlevlerle aynı ücretlere tabidir.

Uzantıları kullanmak için Blaze fiyatlandırma planına yükseltmeniz gerekir. Firebase hizmetlerinin kullanımıyla ilişkili ücretlere ek olarak, yüklediğiniz her uzantının gerektirdiği Firebase kaynakları (kullanılmasa bile) için küçük bir ücret (normal şartlarda aylık yaklaşık 0,01 ABD doları) ödeyeceksiniz.



Cloud Messaging

Firebase Cloud Messaging, istemci SDK'ları ve HTTP ile XMPP sunucu protokolleri aracılığıyla eksiksiz bir mesajlaşma özelliği grubu sağlar. Daha karmaşık mesajlaşma gereksinimleri olan dağıtımlar için FCM doğru seçimdir.

Bildirimler derleyicisi, Firebase Cloud Messaging üzerine inşa edilmiş hafif ve sunucusuz bir mesajlaşma çözümüdür. Kullanıcı dostu bir grafik konsolu ve daha az kodlama şartıyla bildirimler derleyicisi, kullanıcıların yeniden etkileşime geçmelerini ve elde tutmalarını, uygulama büyümesini desteklemelerini ve pazarlama kampanyalarını desteklemelerini sağlamak için kolayca mesaj göndermelerine olanak tanır.

Özellikler Bildirim Oluşturucu Cloud Messaging
Hedef Tek cihaz
Konulara (ör. hava durumu) abone olan müşteriler
Önceden tanımlanmış kullanıcı segmentindeki istemciler (uygulama, sürüm, dil)
Belirtilen analiz kitlelerindeki istemciler
Cihaz gruplarındaki istemciler
İstemciden sunucuya yayın
Mesaj Türü      2 KB'a kadar bildirimler
4 KB'a kadar veri mesajları
Teslimat Hemen
Gelecekteki istemci cihazının yerel saati
Analytics Dahili bildirim analizi toplama ve dönüşüm hunisi analizi

Hayır. Firebase Cloud Messaging, 2017'de HTTP/2 tabanlı APN protokolüne geçti. iOS cihazlara bildirim göndermek için FCM kullanıyorsanız herhangi bir işlem yapmanız gerekmez.

Firebase Cloud Messaging'ü diğer Firebase hizmetlerini kullanmadan, GCM'de yaptığınız gibi bağımsız bir bileşen olarak kullanabilirsiniz.

FCM, Firebase markası altında GCM'nin yeni sürümüdür. Geliştirmeyi kolaylaştırmak için yeni SDK'lar ile GCM'nin temel altyapısını devralır.Cloud Messaging

FCM SDK'sına geçmenin avantajları arasında şunlar yer alır:

  • Daha basit istemci geliştirme. Artık kendi kayıt veya abonelik yeniden deneme mantığınızı yazmanız gerekmez.
  • Kullanıma hazır bir bildirim çözümü. Google Analytics'teki analizlere göre belirli kitleleri hedeflemek için herkese bildirim gönderme olanağı sunan bir web konsolu içeren sunucusuz bildirim çözümü olan Bildirimler derleyicisini kullanabilirsiniz.

GCM SDK'larından FCM SDK'larına geçiş yapmak için Android ve iOS uygulamalarını taşımayla ilgili kılavuzlara bakın.

Cihazların mesajları başarıyla almadığı anlaşılıyorsa öncelikle aşağıdaki iki olası nedeni kontrol edin:

Bildirim mesajları için ön planda mesaj işleme. İstemci uygulamalarının, uygulama cihazda ön plandayken bildirim mesajlarını işlemek için mesaj işleme mantığı eklemesi gerekir. iOS ve Android ile ilgili ayrıntıları inceleyin.

Ağ güvenlik duvarı kısıtlamaları. Kuruluşunuzda, internete gelen veya internetten giden trafiği kısıtlayan bir güvenlik duvarı varsa Firebase Cloud Messaging istemci uygulamalarınızın mesaj alabilmesi için bu güvenlik duvarını FCM ile bağlantıya izin verecek şekilde yapılandırmanız gerekir. Açılacak bağlantı noktaları şunlardır:

  • 5228
  • 5229
  • 5230

FCM genellikle 5228'i kullanır ancak bazen 5229 ve 5230'u da kullanır. FCM belirli IP'ler sağlamadığından, güvenlik duvarınızın Google'ın ASN 15169 listesinde yer alan IP bloklarında bulunan tüm IP adreslerine giden bağlantıları kabul etmesine izin vermeniz gerekir.

Uygulamanız arka plandayken sistem tepsisinde bildirim mesajları gösterilir ve onMessageReceived çağrılmaz. Veri yükü içeren bildirim mesajları sistem tepsisinde görüntülenir ve bildirim mesajına dahil edilen veriler, kullanıcı bildirime dokunduğunda başlatılan intent'ten alınabilir.

Daha fazla bilgi için Mesajları alma ve işleme başlıklı makaleyi inceleyin.

Bildirimler derleyicisi, Firebase Cloud Messaging üzerine inşa edilmiş hafif ve sunucusuz bir mesajlaşma çözümüdür. Kullanıcı dostu bir grafik konsolu ve daha az kodlama şartıyla bildirimler derleyicisi, kullanıcıların yeniden etkileşime geçmelerini ve elde tutmalarını, uygulama büyümesini desteklemelerini ve pazarlama kampanyalarını desteklemelerini sağlamak için kolayca mesaj göndermelerine olanak tanır.

Firebase Cloud Messaging, istemci SDK'ları ve HTTP ile XMPP sunucu protokolleri aracılığıyla eksiksiz bir mesajlaşma özelliği grubu sağlar. Daha karmaşık mesajlaşma gereksinimleri olan dağıtımlar için FCM doğru seçimdir.

Aşağıda, Firebase Cloud Messaging ve Bildirim Oluşturucu tarafından sağlanan mesajlaşma özelliklerinin karşılaştırması verilmiştir:

Özellikler Bildirim Oluşturucu Cloud Messaging
Hedef Tek cihaz
Konulara (ör. hava durumu) abone olan müşteriler
Önceden tanımlanmış kullanıcı segmentindeki istemciler (uygulama, sürüm, dil)
Belirtilen analiz kitlelerindeki istemciler
Cihaz gruplarındaki istemciler
İstemciden sunucuya yayın
Mesaj Türü      2 KB'a kadar bildirimler
4 KB'a kadar veri mesajları
Teslimat Hemen
Gelecekteki istemci cihazının yerel saati
Analytics Dahili bildirim analizi toplama ve dönüşüm hunisi analizi

Bildirim derleyici, Google Analytics'teki analizlere dayalı olarak belirli kitleleri hedeflemek için herkesin bildirim göndermesine olanak tanıyan hazır bir çözümdür. Ayrıca Bildirim Oluşturucu, her mesaj için dönüşüm hunisi analizi sağlayarak bildirim etkinliğinin kolayca değerlendirilmesini sağlar.

Mevcut bir GCM geliştiricisiyseniz Bildirimler derleyicisini kullanmak için GCM SDK'larından FCM SDK'larına geçmeniz gerekir. Android ve iOS uygulamalarını taşımayla ilgili kılavuzları inceleyin.

FCM özellikleri Haziran 2023'te kullanımdan kaldırıldı

Aşağıdaki API'ler/SDK'lar desteğin sonlandırılmasından etkilenecektir:

Sunucu API'leri

API adı API Uç Noktası Kullanıcılar üzerindeki etkisi İşlem Gerekli
Eski HTTP protokolü https://fcm.googleapis.com/fcm/send Bitiş noktasına yapılan istekler 21.06.2024'ten sonra başarısız olmaya başlayacak. HTTP v1 API'ye geçiş yapın.
Eski XMPP protokolü fcm-xmpp.googleapis.com:5235 Bitiş noktasına yapılan istekler 21.06.2024'ten sonra başarısız olmaya başlayacak. HTTP v1 API'ye geçiş yapın.
Instance ID sunucu API'leri https://iid.googleapis.com/v1/web/iid Bitiş noktasına yapılan istekler 21.06.2024'ten sonra başarısız olmaya başlayacak. FCM web kayıtları oluşturmak için Web JS SDK'sını kullanın.
https://iid.googleapis.com/iid/* Bitiş noktaları çalışmaya devam edecek ancak 21.06.2024'ten sonra statik sunucu anahtarları kullanılarak yapılan kimlik doğrulama desteklenmeyecek. Hizmet hesabından türetilen bir OAuth 2.0 erişim jetonu kullanın.
Cihaz grubu yönetimi API'si https://fcm.googleapis.com/fcm/notification Uç nokta çalışmaya devam edecek ancak 21.06.2024'ten sonra statik sunucu anahtarları kullanılarak yapılan kimlik doğrulamayı desteklemeyecek. Hizmet hesabından türetilen bir OAuth 2.0 erişim jetonu kullanın.
XMPP üzerinden yayın mesajları fcm-xmpp.googleapis.com:5235 Uygulamadaki FirebaseMessaging.send API çağrıları, 21.06.2024'ten sonra uygulama sunucusuna yayın mesajları tetiklemez. Bu işlevi sunucu mantığınıza uygulayın. Örneğin, bazı geliştiriciler kendi HTTP/gRPC uç noktalarını uygular ve istemcilerinden uygulama sunucusuna mesaj göndermek için uç noktayı doğrudan çağırır. gRPC'yi kullanarak yayın mesajlaşmasını örnek uygulamak için bu gRPC Hızlı Başlangıç makalesine bakın.
Toplu Gönderme API'si https://fcm.googleapis.com/batch Bitiş noktasına yapılan istekler 21.06.2024'ten sonra başarısız olmaya başlayacak. Çoklu yayın için HTTP/2'yi destekleyen standart HTTP v1 API gönderme yöntemine geçin.

Firebase Yönetici SDK'sı API'leri

API adı API Dili Kullanıcılar üzerindeki etkisi İşlem Gerekli
sendToDevice() Node.js API, eski HTTP gönderme API'sini çağırdığı için 21.06.2024'ten sonra çalışmayı durduracak. send() yöntemini kullanın.
sendToDeviceGroup() Node.js API, eski HTTP gönderme API'sini çağırdığı için 21.06.2024'ten sonra çalışmayı durduracak. send() yöntemini kullanın.
sendToTopic() Node.js API, eski HTTP gönderme API'sini çağırdığı için 21.06.2024'ten sonra çalışmayı durduracak. send() yöntemini kullanın.
sendToCondition() Node.js API, eski HTTP gönderme API'sini çağırdığı için 21.06.2024'ten sonra çalışmayı durduracak. send() yöntemini kullanın.
sendAll()/sendAllAsync()/send_all()/sendMulticast()/SendMulticastAsync()/send_multicast() Node.js, Java, Python, Go, C# Bu API'ler, toplu gönderme API'sini çağırdıkları için 21.06.2024'ten sonra çalışmayı durduracak. En yeni Firebase Admin SDK'sına geçin ve bunun yerine yeni API'leri kullanın: sendEach()/ sendEachAsync()/send_each()/sendEachForMulticast()/sendEachForMulticastAsync()/ send_each_for_multicast().

Yeni API'lerin artık desteği sonlandırılan toplu gönderme API'sini çağırmadığını ve bu nedenle eski API'lere kıyasla daha fazla eşzamanlı HTTP bağlantısı oluşturabileceğini unutmayın.

İstemci SDK'ları

SDK sürümleri Kullanıcılar üzerindeki etkisi İşlem Gerekli
GCM SDK'ları (2018'de desteği sonlandırıldı) GCM SDK'larını kullanan uygulamalar, 21.06.2024'ten sonra jeton kaydedemeyecek veya FCM'den mesaj alamayacak. Henüz yapmadıysanız Android SDK'nızı en son Firebase SDK'sına yükseltin.
JS SDK'ları 7.0.0'den eski sürümler (2019'da 7.0.0 sürümünde yapılan önemli değişiklik) Eski JS SDK'larını kullanan web uygulamaları 21.06.2024'ten sonra jeton kaydedemeyecek. Firebase Web SDK'nızı en son sürüme yükseltin.

Hayır. Eski API'lerden yeni API'lere geçişinizi, hizmet düşürme olmadan 12 ay içinde (20.06.2023 - 21.06.2024) yapmanız gerekir. Haziran 2024'te API'lerin kullanımdan kaldırılmasından etkilenmemek için geçişi mümkün olduğunca erken planlamanızı önemle tavsiye ederiz.

Haziran 2024'ten sonra, yukarıda listelenen API'leri/SDK'ları kullanırken daha fazla hata veya işlev eksikliği görebilirsiniz (daha fazla bilgi için sonraki SSS'ye bakın).

FCM, desteği sonlandırılan API'leri 22 Temmuz 2024'te kademeli olarak kullanımdan kaldıracak. Bu tarihten sonra, desteği sonlandırılan hizmetler için isteklerin giderek artan bir oranda hata yanıtı döndüreceği bir "titreşim" süreci uygulanacaktır. Kademeli olarak azaltma döneminde aşağıdaki davranış ve hata yanıtlarının zaman içinde sıklığının artmasını bekleyebilirsiniz:

Kategori Beklenecek sonuçlar
Eski HTTP protokolü İstekler 301 HTTP koduyla reddediliyor.
Eski XMPP protokolü İstekler 302 hata koduyla reddediliyor.
FCM yayını FCM arka ucu tarafından sessizce bırakılan mesajlar.
Toplu Gönderme API'si İstekler, UNIMPLEMENTED hata kodu ve "API'nin desteği sonlandırıldı." hata mesajıyla reddediliyor.
GCM SDK'ları - Jeton Kaydetme İstekler 301 HTTP koduyla reddediliyor.
GCM SDK'ları - Mesaj Gönderme İstekler 400 hata kodu ve "V3 jetonunun desteği sonlandırıldı" hata mesajıyla reddediliyor.
JS SDK'ları 7.0.0'dan eski sürümler İstekler 501 HTTP koduyla reddediliyor.
Instance ID ve cihaz grubu yönetim API'lerine erişmek için sunucu anahtarını kullanma İstekler 401 HTTP koduyla reddediliyor.

OAuth 2.0 jetonu, hizmet hesabından türetilen kısa ömürlü bir jetondur. Google'ın standart kimlik doğrulama modelidir ve statik sunucu anahtarlarından daha güvenlidir.

Jeton almak için Google Kimlik Doğrulama Kitaplığı'nı kullanmayla ilgili yardım için Erişim jetonu oluşturmak için kimlik bilgilerini kullanma başlıklı makaleyi inceleyin.

Farklı uç noktalara yapılan istekler için OAuth 2.0 jetonları kullandığınızda istek üstbilgilerinin farklı olduğunu unutmayın.

  • HTTP v1 API: Authorization: Bearer $oauth_token
  • Instance ID server API ve Device group management API: Authorization: Bearer $oauth_token
    access_token_auth: true

Yeni API'ye trafiğinizi yavaş yavaş artırmanızı öneririz. Düzenli olarak dk. başına 600.000'den fazla mesaj göndermeyi planlıyorsanız kotayı artırma talimatları için Firebase destek ekibiyle iletişime geçin veya trafiği nasıl dağıtacağınızla ilgili öneriler alın.

Konu: v1 API'yi kullanırken konu hedefinize "/topics/" ön ekini eklemeniz gerekmez.

Cihaz grupları: HTTP v1 API'sinde jeton hedefi olarak grup jetonu kullanabilirsiniz. Ancak HTTP v1 API, yanıtta başarı/başarısızlık sayılarını döndürmez. FCM konularını kullanmanızı veya cihaz gruplarınızı kendiniz yönetmenizi öneririz.

Hayır. Eski HTTP API'lerinde "çoklu yayın" olarak adlandırılan bu özellik, ölçeklenebilirlik için daha iyi tasarlanmış HTTP v1 API tarafından desteklenmez.

Uçtan uca gecikmenin kritik olduğu veya toplam dağıtım boyutunun küçük (1 milyondan az) olduğu kullanım alanlarında Google, HTTP v1 API'yi kullanarak birden fazla ayrı istek göndermenizi önerir. HTTP/2 üzerinden HTTP v1 API, çoklu yayın isteklerinin% 99,9'unda (100'den az jeton gönderme) benzer performans gösterir. Tekil kullanım alanları (1.000 jeton gönderme) için işleme hızının üçte birine kadar ulaşır. Bu nedenle, bu anormal kullanım alanı için optimizasyon yapmak üzere ek eşzamanlılık gerekir. Kullanıcılar, HTTP v1 API ile eski çoklu yayına kıyasla daha fazla güvenilirlik ve kullanılabilirlik deneyimleyebilir.

Veri akışı ve çıkış bant genişliğinin öncelikli olduğu veya toplam dağıtım boyutunun büyük olduğu (1 milyondan fazla) kullanım alanları için Google, konu mesajlaşmasını önerir. Konu mesajları, alıcıları bir konuya abone etmek için tek seferlik bir işlem gerektirse de konu boyutunda maksimum sınır olmadan proje dağıtım oranı başına 10.000 QPS'ye kadar performans sunar.

Platform Firebase Admin SDK sürümü
Node.js >=11.7.0
Python >=6.2.0
Java >=9.2.0
Go >=4.12.0
.NET >=2.4.0

FCM toplu gönderme API'si, HTTP v1 API ile aynı mesaj biçimini ve kimlik doğrulama mekanizmasını kullanır. Ancak farklı bir uç nokta kullanır. Verimliliği artırmak istiyorsanız HTTP v1 API'sine aynı HTTP bağlantısı üzerinden birden fazla istek göndermek için HTTP/2'yi kullanmayı düşünebilirsiniz.

Yardım için lütfen Google Cloud Destek Ekibi ile iletişime geçin.

Hayır. 20 Mayıs 2024'ten itibaren yeni projelerin eski API'lerimizi etkinleştirmesine izin verilmeyecek.

HTTP v1 API'ye tamamen geçiş yaptığınızdan emin olduktan sonra eski Cloud Messaging API'yi devre dışı bırakabilirsiniz (API zaten devre dışıysa sayfa yüklenmeyebilir).

FCM kotaları ve sınırları

Maalesef bu kullanım alanı desteklenmiyor. Trafiğinizi 5 dakikaya yaymanız gerekir.

Maalesef bu nedenle kota artışına izin veremiyoruz. Trafiğinizi 5 dakikaya yaymanız gerekir.

Bildirimleri etkinlikten en az 5 dakika önce göndermeye başlamanızı öneririz.

Bu, FCM'yi kullanma şeklinize bağlıdır. Her durumda, birkaç iş günü içinde yanıt alabilirsiniz. Bazı durumlarda, FCM kullanımınız ve çeşitli durumlarla ilgili olarak birtakım geri bildirimler olabilir. Bu da süreci uzatabilir. Tüm şartlar karşılanırsa çoğu istek 2 hafta içinde işleme alınır.

Kota metriklerini grafik hâline getirme ve izleme ile ilgili Google Cloud kılavuzlarına bakın.

Kota sınırlarının zor olabileceğinin farkındayız ancak kotalar, hizmetin güvenilirliğini korumak için çok önemlidir ve kotalardan muafiyet veremeyiz.

1 aya kadar süren bir etkinliği desteklemek için ek kota isteyebilirsiniz. İsteği etkinlikten en az 1 ay önce gönderin ve etkinliğin ne zaman başlayıp ne zaman sona erdiğine dair net ayrıntılar sağlayın. FCM, isteği yerine getirmek için her türlü çabayı gösterir (artış garanti edilemez). Bu kota artışları, etkinliğin bitiş tarihinden sonra geri alınır.

Google bu işlemi kolayca yapmasa da sistemin bütünlüğünü korumak için kotalar gerektiğinde değiştirilebilir. Mümkün olduğunda Google bu tür değişikliklerden önce sizi bilgilendirir.



Cloud Storage for Firebase

Varsayılan Cloud Storage paketiyle ilgili değişiklikler hakkında daha fazla bilgi edinmek için Cloud Storage belgelerine gidin.

Cloud Storage for Firebase, App Engine ücretsiz katmanında varsayılan bir paket oluşturur. Bu sayede, kredi kartı girmek veya Cloud Billing hesabı etkinleştirmek zorunda kalmadan Firebase ve Cloud Storage for Firebase ile hızlıca çalışmaya başlayabilirsiniz. Ayrıca, Firebase ile Google Cloud projesi arasında kolayca veri paylaşmanıza olanak tanır.

Ancak bu paketin oluşturulamadığı ve Cloud Storage for Firebase'ü kullanamadığınız iki bilinen durum vardır:

  • Google Cloud'ten içe aktarılan ve App Engine Üst/Alt Datastore uygulamasına sahip bir proje.
  • Alan ön eklerine sahip projelerin bulunduğu Google Cloud'ten içe aktarılan bir proje. Örneğin: domain.com:project-1234.

Şu anda bu sorunlar için geçici çözüm bulunmuyor. Firebase Konsolu'nda yeni bir proje oluşturmanızı ve bu projede Cloud Storage for Firebase'ı etkinleştirmenizi öneririz.

412 hata kodları, Cloud Storage for Firebase API'nin projeniz için etkinleştirilmemiş olması veya gerekli bir hizmet hesabında gerekli izinlerin eksik olması nedeniyle gösteriliyor olabilir.

İlgili SSS sayfasına bakın.

Ücretsiz (Spark) plan projeleri için Firebase, Cloud Storage for Firebase ve Firebase Hosting tarafından Windows, Android ve Apple için belirli yürütülebilir dosya türlerinin yüklenmesini ve barındırılmasını engeller. Bu politika, platformumuzda kötüye kullanımı önlemek için hazırlanmıştır.

İzin verilmeyen dosyaların sunulması, barındırılması ve dosya yüklemeleri, 28 Eylül 2023'te veya sonrasında oluşturulan tüm Spark projeleri için engellenir. Bu tarihten önce yüklenen dosyaların bulunduğu mevcut Spark projeleri için bu tür dosyalar yüklenmeye ve barındırılmaya devam edebilir.

Bu kısıtlama, Spark planı projeleri için geçerlidir. Kullandıkça öde (Blaze) planındaki projeler bu durumdan etkilenmez.

Aşağıdaki dosya türleri Firebase Hosting ve Cloud Storage for Firebase'te barındırılamaz:

  • .exe, .dll ve .bat uzantılı Windows dosyaları
  • .apk uzantılı Android dosyaları
  • .ipa uzantılı Apple platform dosyaları

Ne yapmam gerekiyor?

28 Eylül 2023'ten sonra bu dosya türlerini barındırmaya devam etmek istiyorsanız:

  • Barındırma için: Bu dosya türlerini firebase deploy komutu aracılığıyla Firebase Hosting'e dağıtabilmek için Blaze planına yükseltin.
  • Storage için: GCS CLI'yi, Firebase konsolunu veya Google Cloud konsolunu kullanarak bu dosya türlerini seçtiğiniz pakete yüklemek için Blaze planına geçin.

Firebase Hosting ve Cloud Storage kaynaklarınızı yönetmek için Firebase araçlarını kullanın.

  • Firebase Hosting'teki kaynakları yönetmek için Firebase konsolunu kullanarak sürümleri bu kılavuza göre silin.
  • Cloud Storage'teki kaynakları yönetmek için projenizdeki Depolama Alanı ürün sayfasına gidin.
    1. Dosyalar sekmesinde, klasör hiyerarşinizde silinmesine izin verilmeyen dosyaları bulun ve panelin sol tarafındaki dosya adlarının yanındaki onay kutusunu kullanarak seçin.
    2. Sil'i tıklayın ve dosyaların silindiğini onaylayın.

Hosting kaynaklarını Firebase araçlarıyla yönetme ve Firebase için Cloud Storage paketlerini istemci kitaplıklarıyla yönetme hakkında daha fazla bilgi için lütfen dokümanlarımıza bakın.

Daha önce, Cloud Storage for Firebase API'ye yapılan indirme ve yükleme istekleri doğru şekilde sayılmıyordu. 15 Eylül 2023'ten itibaren bu sorunu düzeltmek için gerekli işlemleri yaptık.

Blaze kullanıcıları için yükleme ve indirme işlemleri aylık faturanıza dahil edilmeye başlanacak. Spark kullanıcıları için bu kullanıcılar, aylık ücretsiz sınırınıza dahil edilmeye başlayacak.

Sınırlarınıza dahil edilebilecek artışlar için Kullanım sayfanızı izlemenizi öneririz.

Firebase, kullanıcı kimlik bilgilerini paylaşmadan hizmetleri çalıştırmak ve yönetmek için hizmet hesaplarını kullanır. Bir Firebase projesi oluşturduğunuzda, projenizde halihazırda bir dizi hizmet hesabının mevcut olduğunu fark edebilirsiniz.

Cloud Storage for Firebase tarafından kullanılan hizmet hesabı, projenizin kapsamına sahiptir ve
service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com olarak adlandırılır.

Cloud Storage for Firebase'ü 19 Eylül 2022'den önce kullandıysanız daha önce bağlanmış Cloud Storage paketlerinde firebase-storage@system.gserviceaccount.com adlı ek bir hizmet hesabı görebilirsiniz. Bu hizmet hesabı 19 Eylül 2022'den itibaren desteklenmemektedir.

Projenizle ilişkilendirilmiş tüm hizmet hesaplarını Firebase konsolundaki Hizmet hesapları sekmesinde görüntüleyebilirsiniz.

Yeni hizmet hesabını ekleme

Hizmet hesabını daha önce kaldırdıysanız veya hizmet hesabı projenizde yoksa hesabı eklemek için aşağıdakilerden birini yapabilirsiniz.

  • (Önerilen) Otomatik: Paketinizi Firebase'e yeniden içe aktarmak için AddFirebase REST uç noktasını kullanın. Bu uç noktayı her bağlı paket için bir kez değil, yalnızca bir kez çağırmanız gerekir.
  • Manuel: Hizmet hesabı oluşturma ve yönetme başlıklı makaledeki adımları uygulayın. Bu kılavuzu izleyerek IAM rolü Cloud Storage for Firebase Service Agent ve hizmet hesabı adı
    service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com olan bir hizmet hesabı ekleyin.
Yeni hizmet hesabını kaldırma

Hizmet hesabını kaldırmanız, uygulamalarınızdan Cloud Storage paketlerinize erişimi engelleyebileceği için bunu kesinlikle yapmamanızı öneririz. Hizmet hesabını projenizden kaldırmak için Hizmet hesabını devre dışı bırakma başlıklı makaledeki talimatları uygulayın.

Cloud Storage for Firebase fiyatlandırması

Cloud Storage için fiyatlandırma planı koşullarında yapılan değişiklikler hakkında daha fazla bilgi edinmek üzere Cloud Storage belgelerine gidin.

Firebase Fiyatlandırma sayfasını ziyaret edin ve Blaze plan hesaplayıcıyı kullanın. Hesaplama aracında, Cloud Storage for Firebase için tüm kullanım türleri listelenir.

Depolama alanı paketinizin beklenen kullanımını girmek için kaydırma çubuklarını kullanın. Hesaplama aracı, aylık faturanızı tahmin eder.

Spark planındaki bir projede Cloud Storage sınırlarını aştığınızda sonuç, aştığınız sınırın türüne bağlıdır:

  • Depolanan GB sınırını aşarsanız depolanan verilerin bir kısmını kaldırmadığınız veya daha fazla depolama alanı ya da sınırsız depolama alanı sunan bir plana geçmediğiniz sürece söz konusu projede daha fazla veri depolayamazsınız.
  • İndirilen GB sınırını aşarsanız daha az kısıtlayıcı sınırlara veya sınırsız bir plana geçmediğiniz sürece uygulamanız ertesi güne kadar (ABD Pasifik Saati'ne göre gece yarısından itibaren) daha fazla veri indiremez.
  • Yükleme veya indirme işlemi sınırını aşarsanız daha az kısıtlayıcı sınırlara veya sınırsız bir plana geçmediğiniz sürece uygulamanız bir sonraki güne kadar (ABD Pasifik Saati'ne göre gece yarısından itibaren) daha fazla veri yükleyemez veya indiremez.



Crashlytics

Daha fazla SSS'nin yanıtlarını ve faydalı ipuçları için Crashlytics sorun giderme ve SSS sayfasını ziyaret edin.



Dynamic Links SSS bölümüne bakın.

getInvitation API, kaydedilen dinamik bağlantıya iki kez erişilmesini önlemek için bağlantıyı temizler. Etkinliğin ana etkinlik dışında tetiklenmesi durumunda temizlemek için bu API'yi, derin bağlantı etkinliklerinin her birinde autoLaunchDeepLink parametresi false olarak ayarlanmış şekilde çağırdığınızdan emin olun.



Hosting

Ücretsiz (Spark) plan projeleri için Firebase, Cloud Storage for Firebase ve Firebase Hosting tarafından Windows, Android ve Apple için belirli yürütülebilir dosya türlerinin yüklenmesini ve barındırılmasını engeller. Bu politika, platformumuzda kötüye kullanımı önlemek için hazırlanmıştır.

İzin verilmeyen dosyaların sunulması, barındırılması ve dosya yüklemeleri, 28 Eylül 2023'te veya sonrasında oluşturulan tüm Spark projeleri için engellenir. Bu tarihten önce yüklenen dosyaların bulunduğu mevcut Spark projeleri için bu tür dosyalar yüklenmeye ve barındırılmaya devam edebilir.

Bu kısıtlama, Spark planı projeleri için geçerlidir. Kullandıkça öde (Blaze) planındaki projeler bu durumdan etkilenmez.

Aşağıdaki dosya türleri Firebase Hosting ve Cloud Storage for Firebase'te barındırılamaz:

  • .exe, .dll ve .bat uzantılı Windows dosyaları
  • .apk uzantılı Android dosyaları
  • .ipa uzantılı Apple platform dosyaları

Ne yapmam gerekiyor?

28 Eylül 2023'ten sonra bu dosya türlerini barındırmaya devam etmek istiyorsanız:

  • Barındırma için: Bu dosya türlerini firebase deploy komutu aracılığıyla Firebase Hosting'e dağıtabilmek için Blaze planına yükseltin.
  • Storage için: GCS CLI'yi, Firebase konsolunu veya Google Cloud konsolunu kullanarak bu dosya türlerini seçtiğiniz pakete yüklemek için Blaze planına geçin.

Firebase Hosting ve Cloud Storage kaynaklarınızı yönetmek için Firebase araçlarını kullanın.

  • Firebase Hosting'teki kaynakları yönetmek için Firebase konsolunu kullanın ve sürümleri bu kılavuza göre silin.
  • Cloud Storage'teki kaynakları yönetmek için projenizdeki Depolama Alanı ürün sayfasına gidin.
    1. Dosyalar sekmesinde, klasör hiyerarşinizde silinmesine izin verilmeyen dosyaları bulun ve panelin sol tarafındaki dosya adlarının yanındaki onay kutusunu kullanarak seçin.
    2. Sil'i tıklayın ve dosyaların silindiğini onaylayın.

Hosting kaynaklarını Firebase araçlarıyla yönetme ve Firebase için Cloud Storage paketlerini istemci kitaplıklarıyla yönetme hakkında daha fazla bilgi için lütfen dokümanlarımıza bakın.

Firebase, Hosting sitesiyle ilgili meta veriler içeren ek dosyaları otomatik olarak ekler. Bu dosyalar, sürümün toplam dosya sayısına dahil edilir.

Hosting'te tek dosyaların boyutu en fazla 2 GB olabilir.

Daha büyük dosyaları, bağımsız nesneler için terabayt aralığında maksimum boyut sınırı sunan Cloud Storage kullanarak depolamanızı öneririz.

Firebase Hosting çok siteli özellik, proje başına en fazla 36 siteyi destekler.



Performance Monitoring

Daha fazla SSS'nin yanıtlarını ve faydalı ipuçları için Performance Monitoring sorun giderme ve SSS sayfasını ziyaret edin.

Uygulama başına toplam 400'e kadar özel URL kalıbı ve bu uygulamanın alan adı başına 100'e kadar özel URL kalıbı oluşturabilirsiniz.

Gerçek zamanlı performans verilerini görüntülemek için uygulamanızın, gerçek zamanlı veri işlemeyle uyumlu bir Performance Monitoring SDK sürümü kullandığından emin olun.

  • iOS: 7.3.0 veya sonraki sürümler
  • tvOS: 8.9.0 veya sonraki sürümler
  • Android: 19.0.10 veya sonraki sürümler (veya Firebase Android BoM 26.1.0 veya sonraki sürümler)
  • Web: 7.14.0 veya sonraki sürümler

Her zaman SDK'nın en son sürümünü kullanmanızı öneririz ancak yukarıda listelenen sürümlerin tümü Performance Monitoring'ün verilerinizi neredeyse gerçek zamanlı olarak işlemesine olanak tanır.



Realtime Database

Eşzamanlı bağlantı, veritabanına bağlı bir mobil cihaz, tarayıcı sekmesi veya sunucu uygulamasına eşdeğerdir. Firebase, uygulamanızın veritabanına yapılan eşzamanlı bağlantıların sayısına katı sınırlar uygular. Bu sınırlar, hem Firebase'i hem de kullanıcılarımızı kötüye kullanıma karşı korumak için uygulanır.

Spark plan sınırı 100'dür ve yükseltilemez. Flame ve Blaze planlarında veritabanı başına 200.000 eşzamanlı bağlantı sınırı vardır.

Kullanıcılarınızın tümü aynı anda bağlanmadığı için bu sınır, uygulamanızın toplam kullanıcı sayısıyla aynı değildir. 200.000'den fazla eşzamanlı bağlantıya ihtiyacınız varsa lütfen birden fazla veritabanı ile ölçeklendirme başlıklı makaleyi okuyun.

Her Realtime Database örneğinin saniye başına yazma işlemi sayısıyla ilgili sınırlamaları vardır. Küçük yazma işlemleri için bu sınır yaklaşık olarak saniye başına 1.000 yazma işlemidir. Bu sınıra yaklaşıyorsanız birden fazla yol güncellemesi kullanarak işlemleri gruplandırma, daha yüksek bir aktarım hızına ulaşmanıza yardımcı olabilir.

Ayrıca, her veritabanı örneğinde eşzamanlı veritabanı bağlantısı sayısına dair bir sınır vardır. Varsayılan sınırlarımız çoğu uygulama için yeterlidir. Daha fazla ölçek gerektiren bir uygulama geliştiriyorsanız ek ölçek için uygulamanızı birden fazla veritabanı örneğine bölmeniz gerekebilir. Alternatif bir veritabanı olarak Cloud Firestore'u da kullanabilirsiniz.

Firebase konsolunda Realtime Database kullanım sınırlarınızı aştığınıza dair bir e-posta uyarısı veya bildirimi aldıysanız bu sorunu, aştığınız kullanım sınırına göre çözebilirsiniz. Realtime Database kullanımınızı görmek için Firebase konsolundaki Realtime Database Kullanım kontrol paneline gidin.

İndirilen dosya sayısı sınırınızı aştıysanız Firebase fiyatlandırma planınızı yükseltebilir veya bir sonraki faturalandırma döneminizin başında indirilen dosya sayısı sınırınızın sıfırlanmasını bekleyebilirsiniz. İndirme sayısını azaltmak için aşağıdaki adımları deneyin:

  • Dinleme işlemlerinizin döndürdüğü verileri sınırlamak için sorgu ekleyin.
  • Dizine eklenmemiş sorguları kontrol edin.
  • Yalnızca verilerdeki güncellemeleri indiren dinleyicileri kullanın (ör. once() yerine on()).
  • Yetkisiz indirmeleri engellemek için güvenlik kurallarını kullanın.

Depolama alanı sınırınızı aştıysanız hizmet kesintisi yaşamamak için fiyatlandırma planınızı yükseltin. Veritabanınıza eklediğiniz veri miktarını azaltmak için aşağıdaki adımları deneyin:

  • Periyodik temizleme işleri çalıştırın.
  • Veritabanınızdaki yinelenen verileri azaltın.

Silinen verilerin depolama alanı kotanıza yansımasının biraz zaman alabileceğini unutmayın.

Eşzamanlı veritabanı bağlantısı sınırınızı aştıysanız hizmet kesintisi yaşamamak için planınızı yükseltin. Veritabanına yapılan eşzamanlı bağlantıları yönetmek için, gerçek zamanlı bağlantı gerektirmiyorsa REST API üzerinden kullanıcılar aracılığıyla bağlanmayı deneyin.

Spark planlarında sunulan kaynaklar için üst sınır uygulanır. Bu sayede, tahmin edilebilir bir fiyattan yararlanabilirsiniz. Bu, herhangi bir ayda herhangi bir plan sınırını aştığınızda daha fazla kaynak kullanımı ve ek ücret alınmasını önlemek için uygulamanızın devre dışı bırakılacağı anlamına gelir.

Uygulamanız Spark planındaki eşzamanlılık sınırına ulaştığında, mevcut bağlantılardan bazıları kapatılana kadar sonraki bağlantılar reddedilir. Uygulama, bağlı olan kullanıcılar için çalışmaya devam eder.

Otomatik yedeklemeler, Blaze fiyatlandırma planımızdaki müşterilere sunulan gelişmiş bir özelliktir. Bu özellik, Firebase Realtime Database verilerinizi günde bir kez yedekler ve Google Cloud Storage'e yükler.

Saatlik yedekleme hizmeti sunulmaz.

Bant genişliği hesaplamalarımıza genellikle SSL şifreleme ek yükünü (OSI modelinin 5. katmanına göre) dahil ederiz. Ancak Eylül 2016'da, bant genişliği raporlamamızın şifreleme ek yükünü yoksaymasına neden olan bir hata ekledik. Bu durum, birkaç ay boyunca hesabınızda yapay olarak düşük bildirilen bant genişliği ve faturalara neden olmuş olabilir.

Mart 2017'nin sonlarında, bant genişliği raporlamasını ve faturalandırmayı normal seviyelerine döndüren bir düzeltme yayınladık.



Remote Config

Değerleri fetchAndActivate() ile getirmediğiniz sürece değerler yerel olarak depolanır ancak etkinleştirilmez. Getirilen değerlerin geçerlilik kazanması için activate işlevini çağırın. Bu tasarım, activate işlevini ne zaman çağıracağınızı seçebildiğiniz için uygulamanızın davranışının ve görünümünün ne zaman değişeceğini kontrol etmenize olanak tanır. activate işlevini çağırdıktan sonra, güncellenen parametre değerlerinin ne zaman kullanılacağını uygulama kaynak kodunuz belirler.

Örneğin, değerleri getirip bir sonraki sefer kullanıcı uygulamanızı başlattığında etkinleştirebilirsiniz. Bu sayede, uygulamanız hizmetten getirilen değerleri beklerken uygulama başlatmayı geciktirmeniz gerekmez. Uygulamanız güncellenmiş parametre değerlerini kullandığında uygulamanızın davranışında ve görünümünde değişiklikler gerçekleşir.

Remote Config API ve kullanım modeli hakkında daha fazla bilgi edinmek için Remote Config API'ye Genel Bakış başlıklı makaleyi inceleyin.

Uygulama geliştirme sırasında, uygulamanızı geliştirip test ederken hızlı bir şekilde iterasyon yapabilmek için yapılandırmaları çok sık (saatte birkaç kez) getirip etkinleştirmek isteyebilirsiniz. 10'a kadar geliştiricinin bulunduğu bir projede hızlı iterasyon sağlamak için uygulamanızda minimum getirme aralığı (setMinimumFetchIntervalInSeconds) düşük bir FirebaseRemoteConfigSettings nesnesi geçici olarak ayarlayabilirsiniz.

Cihazlar genellikle getirilen değerleri bir saniyeden kısa sürede, çoğu zaman da milisaniyeler içinde alır. Remote Config hizmeti, getirme isteklerini milisaniyeler içinde işler ancak getirme isteğinin tamamlanması için gereken süre, cihazın ağ hızına ve cihaz tarafından kullanılan ağ bağlantısının gecikmesine bağlıdır.

Amacınız, getirilen değerlerin uygulamanızda en kısa sürede geçerli olmasını sağlamak ancak bu işlemi rahatsız edici bir kullanıcı deneyimi oluşturmadan gerçekleştirmek ise uygulamanız tam ekran yenileme yaptığı her seferinde fetchAndActivate çağrıları ekleyebilirsiniz.



Test Lab

Yararlı ipuçları ve SSS'lere yanıtlar için Test Lab sorun giderme sayfasını ziyaret edin.



Firebase Kullanıcı Segmentasyonu Depolama Alanı

Firebase Kullanıcı Segmentasyonu Depolama Alanı, Firebase kurulum kimliklerini, ilgili özellikleri ve segmentleri, ayrıca Crashlytics, FCM, Remote Config kişiselleştirme gibi bunları kullanan diğer Firebase hizmetlerine hedefleme bilgileri sağlamak için oluşturduğunuz kitle listelerini depolar.