Bu belgede, bir Firebase uygulamasını üretim ortamında kullanıma sunmadan önce dikkate alınması gereken noktalar ve en iyi uygulamalarla ilgili bir yapılacaklar listesi yer almaktadır.
Sürüm yayınlamayla ilgili genel en iyi uygulamalar
Üretime dağıtmadan önce tüm değişikliklerinizi Firebase Local Emulator Suite (desteklenen ürünler için) test ettiğinizden emin olun. Kapsamlı testler, maliyetli hataları önlemeye yardımcı olabilir.
Destekleyen her hizmet için Firebase App Check zorunlu kılmaya başlayın. App Check, arka uç hizmetlerinize ve kaynaklarınıza yalnızca gerçek uygulamalarınızın erişebilmesini sağlar.
Firebase'in genel güvenlik kontrol listesini inceleyin.
Uygulamanızda yeni özellikleri ve güncellemeleri güvenli ve kademeli bir şekilde yayınlamak için Firebase Remote Config kullanıma sunma özelliğini kullanın.
Henüz yapmadıysanız Firebase Crashlytics oluşturmayı düşünebilirsiniz. Bu, uygulamanızın kalitesini düşüren kararlılık sorunlarını izlemenize, önceliklendirmenize ve düzeltmenize yardımcı olan basit, gerçek zamanlı bir kilitlenme raporlama aracıdır.
Fiyatlandırma planınızın sınırlarını öğrenme ve bütçe uyarıları ayarlama
Özellikle ücretsiz Spark planını kullanıyorsanız üretime geçtikten sonra kullanım sınırlarına ve kotalara ulaşmadığınızdan emin olun. Kullandıkça öde Blaze fiyatlandırma planına geçmeyi düşünebilirsiniz.
Projeniz için bütçe uyarıları oluşturun.
Bütçe uyarılarının bütçe sınırları olmadığını unutmayın. Yapılandırılmış eşiğinize yaklaştığınızda veya eşiği aştığınızda uyarılar gönderilir. Böylece uygulamanızda veya projenizde işlem yapabilirsiniz.
Uyarılara yanıt olarak faturalandırmayı devre dışı bırakacak işlevler gibi gelişmiş uyarılar ve işlemler ayarlayabilirsiniz.
Firebase AI Logic, Firebase App Hosting, Cloud Functions for Firebase ve Firebase Extensions kullanıyorsanız projeniz ilgili hizmet için belirlenen bütçeye ulaştığında geçerli hizmeti duraklatacak harcama sınırları belirlemenizi de önemle tavsiye ederiz.
Kullanımınızı ürüne özel kontrol panellerinden veya Firebase konsolundaki merkezi Kullanım ve faturalandırma kontrol panelinden izleyin.
Firebase projelerinizin ve uygulamalarınızın en iyi uygulamalara uyduğundan emin olun
İster tek bir geliştirici ister kurumsal ölçekte bir ekip olun, Firebase projelerinizin, uygulamalarınızın ve kaynaklarınızın korunduğundan, güvende olduğundan ve ekibinizdeki değişikliklerle birlikte gelişebileceğinden emin olmanız önemlidir.
Firebase projesinin, Firebase hizmetleri ve yapılandırmaları etkinleştirilmiş bir Google Cloud projesi olduğunu unutmayın. Bu nedenle, Google Cloud'un önerdiği en iyi uygulamaların çoğu Firebase için de geçerlidir.
Geliştirme, test ve üretim için farklı Firebase projeleri kullanın.
Üretim uygulamanızla ilişkili projeye beklenmedik erişimi sınırlamaya çalışın. Geliştirme iş akışlarını ayarlama hakkında daha fazla bilgi edinin.
Önemli projelerinizi, özellikle de üretim uygulamanızla ilişkili projeyi koruyun.
Projelerin yanlışlıkla silinmesini önlemek için proje rehinlerini kullanın.
Üretim ortamınızı daha kolay tanımlamak için Firebase konsolunda "Prod" etiketi uygulayın.
Henüz yapmadıysanız bir Google Cloud kuruluşu oluşturup Firebase projelerinizi bu kuruluşa ekleyebilirsiniz.
Özellikle projeniz bir Google Cloud kuruluşunda değilse Firebase projelerinize birden fazla sahip ekleyin. Firebase projesine ne zaman ve nasıl sahip atanacağı hakkında daha fazla bilgi edinin.
Proje üyelerini (diğer adıyla "sorumlular") tek tek eklemek yerine Google grupları olarak ekleyin.
Grupları kullanmak, ekip üyelerine toplu olarak rol atamayı ve Firebase projenize kimlerin erişebileceğini yönetmeyi kolaylaştırır. Bu, özellikle ekip üyelerinin değiştiği veya ayrıldığı durumlarda faydalıdır.
Her proje üyesine ("sorumlu" olarak da bilinir) Firebase projelerinize ve kaynaklarınıza uygun düzeyde erişim izni verin. Daha fazla bilgi için Firebase IAM ile proje erişimini yönetme başlıklı makaleyi inceleyin.
Geçerli her proje üyesinin (diğer adıyla "sorumlu"), belirli ürünler veya proje durumu (ör. faturalandırma planı değişiklikleri ya da kota sınırları) hakkında uyarılar almak için tercihlerini ayarladığından emin olun. Firebase uyarıları alma başlıklı makaleden daha fazla bilgi edinebilirsiniz.
Belirli veya ek proje üyelerinin bildirim almasını istiyorsanız isteğe bağlı olarak projenizin "temel kişilerini" özelleştirebilirsiniz. Bu, özellikle faturalandırma, yasal konular ve ürün değişiklikleriyle ilgili bildirimleri yalnızca proje sahibinin değil, diğer kullanıcıların da almasını sağlamak için yararlıdır.
Firebase API anahtarlarınızı yalnızca anahtarın API izin verilenler listesinde olması gereken API'lerle kısıtlayın. Ayrıca Firebase'in güvenlik kontrol listesinde API anahtarlarıyla ilgili bilgileri inceleyin.
Uygulamanızda kullanılan belirli hizmetleri hazırlama
Uygulamanızda kullanılan her ürün ve hizmetin, üretimde kullanıldığında dikkate alınması gereken özel noktaları olabilir.
Firebase AI Logic
Google Analytics
Uygulamanızın lansmanından itibaren analiz verilerini toplamaya başlamak için Google Analytics için kitle koşullarını tanımlayın.
Verilerinizi BigQuery SQL ile analiz edebilmek veya kendi araçlarınızla kullanmak üzere dışa aktarabilmek için Google Analytics verilerinin BigQuery platformuna aktarılmasını etkinleştirebilirsiniz.
Kullanıcı özelliklerini, uygulamanızın tüm yaşam döngüsüyle alakalı olacak bilgilerle sınırlayın. Oluşturabileceğiniz özellik sayısı sınırlıdır ve bunlar arşivlenemez.
Google Analytics mülkleriniz ve hesaplarınız için Google Analytics rollerinin ayarlarını inceleyin. Bu izinler, Firebase projesi IAM izinlerinden ve rollerinden ayrı olarak yönetilir.
Firebase konsolunun Proje ayarları bölümünde uygulama mağazası kimliğinizin ve ekip kimliğinizin (gerekirse) doğru olduğundan emin olun.
App Check
Firebase konsolunun Proje ayarları bölümünde ekip kimliğinizin doğru olduğundan emin olun.
Henüz yapmadıysanız destekleyen her hizmet için Firebase App Check zorunlu kılmaya başlayın. App Check, arka uç hizmetlerinize ve kaynaklarınıza yalnızca gerçek uygulamalarınızın erişebilmesini sağlar.
Authentication
Kullanmadığınız tüm sağlayıcıları (özellikle anonim kimlik doğrulama) devre dışı bırakın.
Uygulamanız Google ile oturum açma özelliğini kullanıyorsa OAuth kullanıcı rızası ekranınızı kişiselleştirin.
Authentication e-posta gönderme hizmeti için alanınızı ve göndereninizi özelleştirin.
Identity Platform SMS doğrulama hizmetlerini kullanıyorsanız uygulamanızı SMS kötüye kullanımından korumak için Firebase App Check uygulamaya başlayın ve bir SMS bölge politikası yapılandırın.
Apple platformlarında yaygın Authentication hatalar için hata işleme özelliğini uygulayın.
Firebase konsolunun Proje ayarları bölümünde uygulamanızın imzalama sertifikası için bir sürüm SHA-1 karması ekleyin. Uygulamanız telefon numarasıyla oturum açma veya Google ile oturum açma (OAuth istemci şartı vardır) özelliklerini kullanıyorsa SHA-1 karması gereklidir.
Yetkisiz kullanımı önlemek için alanlarınızda erişim denetimi ekleyin. Özellikle, Firebase konsolunun Authentication bölümünde üretim alanınıza erişime izin verin (Firebase Security Rules kullanan ürünler kullanıyorsanız bu özellikle önemlidir).
Cloud Firestore
İstenmeyen veri erişimini önlemek için Cloud Firestore Security Rules yapılandırın.
Yayınlanan derlemenizde kod daraltma için ProGuard kullanın. ProGuard olmadan Cloud Firestore SDK'sı ve bağımlılıkları APK boyutunuzu artırabilir.
Cloud Messaging
Verilerinizi BigQuery SQL ile analiz edebilmek veya kendi araçlarınızla kullanmak üzere dışa aktarabilmek için Cloud Messaging verilerinin BigQuery platformuna aktarılmasını etkinleştirebilirsiniz.
Firebase konsolunda Apple uygulamaları için Cloud Messaging APNS kimlik doğrulama anahtarınızı yükleyin. APNS sertifikaları kullanıyorsanız üretim APNS sertifikanızın yüklendiğinden emin olun.
Google Cloud kaynaklarınızdaki yönetim ve erişim etkinliklerini kaydeden denetleme günlükleri oluşturabilmek için Cloud Messaging hizmetinde Cloud denetleme günlüğünü etkinleştirebilirsiniz.
Yeni özellikler ve güvenlik güncellemelerinden haberdar olmak için SDK'yı düzenli olarak en yeni sürüme güncellediğinizden emin olun.
Uygulama sunucunuzda Cloud Messaging kayıt jetonu yönetimiyle ilgili en iyi uygulamaları izleyin. Geçerli teslimat raporlaması ve verimli mesaj hedefleme için kayıt jetonlarını zaman damgasıyla kaydedin, değişiklikler olduğunda güncelleyin ve eski jetonları (bir aydan uzun süredir etkin olmayan) kaldırın.
Cloud Messaging mesajlarını geniş ölçekte gönderirken en iyi uygulamaları takip edin. HTTP v1 API veya Firebase Admin SDK kullanın, yeniden denemeler için gecikmeli eksponansiyel geri yükleme uygulayın ve trafik artışları ile sıklık sınırlarını önlemek için
Retry-Afterbaşlıklarına uyun.
Cloud Storage
- İstenmeyen veri erişimini önlemek için Cloud Storage Security Rules hizmetinizi yapılandırın.
Crashlytics
Geçerli her proje üyesinin (diğer adıyla "sorumlu"), Crashlytics veya proje durumu (ör. faturalandırma planı değişiklikleri ya da kota sınırları) hakkında uyarı almak için tercihlerini ayarladığından emin olun. Firebase uyarıları alma başlıklı makaleden daha fazla bilgi edinebilirsiniz.
Verilerinizi BigQuery SQL ile analiz edebilmek veya kendi araçlarınızla kullanmak üzere dışa aktarabilmek için Crashlytics verilerinin BigQuery platformuna aktarılmasını etkinleştirebilirsiniz.
(Yalnızca yerel Android ve iOS) Kilitlenmenin nedenini ve bu konuda ne yapmanız gerektiğini daha hızlı anlamak için Crashlytics uygulamasında Yapay Zeka Desteği'ni etkinleştirebilirsiniz.
Crashlytics uygulamasında kullanılmak üzere yayınlanan derlemeler için dSYM dosyasını yükleyin. Xcode'un dSYM'leri otomatik olarak işleyebildiğinden ve dosyaları yükleyebildiğinden emin olun.
Crashlytics uygulamasında kullanılmak üzere yayınlanan derlemeler için ProGuard eşleme dosyası yükleyin. Firebase CLI'yı kullanarak yükleme yapabilirsiniz.
Android uygulamanızın durumu hakkında daha kapsamlı bir görünüm elde etmek için Firebase'i Google Play platformuna bağlayın. Örneğin, uygulamanızın kilitlenme raporlarını Google Play kanalına göre filtreleyerek kontrol panelinizi belirli derlemelere daha iyi odaklayabilirsiniz.
Android'i hedefleyen ve IL2CPP kullanan derlemelerde, kod veya yapılandırma değişikliği olup olmadığına bakılmaksızın, sembollere sahip olmak istediğiniz her bir derleme çalıştırması için yerel sembolleri yüklediğinizden emin olun.
Dynamic Links
- Dynamic Links kullanımdan kaldırıldığı için hizmetten geçiş yapmanızı öneririz. Daha fazla bilgi için desteğin sonlandırılmasıyla ilgili SSS bölümüne göz atın.
Firebase ML
Firebase ML Apple uygulamanızı üretime hazırlama başlıklı makaleyi inceleyin.
Firebase ML Android uygulamanızı üretime hazırlama başlıklı makaleyi inceleyin.
Performance Monitoring
Geçerli her proje üyesinin (diğer adıyla "sorumlu"), Performance Monitoring veya proje durumu (ör. faturalandırma planı değişiklikleri ya da kota sınırları) hakkında uyarılar almak için tercihlerini ayarladığından emin olun. Firebase uyarıları alma başlıklı makaleden daha fazla bilgi edinebilirsiniz.
Verilerinizi BigQuery SQL ile analiz edebilmek veya kendi araçlarınızla kullanmak üzere dışa aktarabilmek için Performance Monitoring verilerinin BigQuery platformuna aktarılmasını etkinleştirebilirsiniz.
Realtime Database
İstenmeyen veri erişimini önlemek için Realtime Database Security Rules hizmetinizi yapılandırın.
Ölçeklendirmeye hazır olduğunuzdan emin olun. Realtime Database, çoğu uygulama için yeterli büyüklükte bir varsayılan kotaya sahiptir ancak bazı uygulamalar için ek kapasite gerekebilir.
Proguard kurallarınızı Realtime Database ile çalışacak şekilde yapılandırın.
Remote Config
Deneysel Remote Config kurallarının, sürüm kullanıcılarınızı etkilemediğinden ve uygulamanızda uygun sunucu ve uygulama içi varsayılanların dağıtıldığından emin olun.
Eski sürümler uyumsuz hale gelir veya kullanımdan kaldırılırsa kullanıcıların uygulamalarını güncellemelerini istemek veya zorunlu kılmak için Remote Config içinde
minimum_versionparametresi yapılandırmayı düşünebilirsiniz.