Bu belgede, bir Firebase uygulamasını üretim ortamında kullanıma sunmadan önce yapılması gerekenler ve dikkat edilmesi gereken noktalarla ilgili bir kontrol listesi yer almaktadır.
Yayınlama ile ilgili genel en iyi uygulamalar
Üretime dağıtmadan önce Firebase Local Emulator Suite'da (desteklenen ürünler için) tüm değişikliklerinizi test ettiğinizden emin olun. Kapsamlı testler maliyetli hataları önlemeye yardımcı olabilir.
Zorunlu kılma işlemini, destekleyen her hizmet için başlatın. Firebase App Check App Check, yalnızca gerçek uygulamalarınızın arka uç hizmetlerinize ve kaynaklarınıza erişebilmesini sağlar.
Firebase'in genel güvenlik kontrol listesini inceleyin.
Yeni özellikleri ve güncellemeleri uygulamanıza 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'ı ayarlamayı düşünebilirsiniz. Bu, uygulamanızın kalitesini düşüren kararlılık sorunlarını izlemenize, önceliklendirmenize ve düzeltmenize yardımcı olan hafif bir anlık kilitlenme raporu aracıdır.
Fiyatlandırma planınızın sınırlarını öğrenme ve bütçe uyarıları ayarlama
Üretime geçtikten sonra, özellikle ücretsiz Spark planını kullanıyorsanız kullanım sınırlarına ve kotalara ulaşmadığınızdan emin olun. Kullandıkça öde Blaze fiyatlandırma planına geçebilirsiniz.
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 bu eşiği aştığınızda uygulamanızda ya da projenizde işlem yapabilmeniz için size iletişim gönderen bir uyarı gösterilir.
Uyarılar karşısında faturalandırmayı devre dışı bırakacak işlevler gibi gelişmiş uyarılar ve işlemler ayarlamayı düşünebilirsiniz.
Firebase AI Logic, Firebase App Hosting, Cloud Functions for Firebase ve Firebase Extensions hizmetlerini kullanıyorsanız harcama sınırları belirlemenizi önemle tavsiye ederiz. Bu sınırlar, projeniz ilgili hizmet için belirlenen bütçeye ulaştığında geçerli hizmeti duraklatır.
Kullanımınızı ürüne özel kontrol panellerinde veya Firebase konsolundaki merkezi Kullanım ve faturalandırma kontrol panelinde izleyin.
Firebase projelerinizin ve uygulamalarınızın en iyi uygulamalara uygun olduğundan emin olun.
İster tek bir geliştirici ister kurumsal düzeyde bir ekip olun, Firebase projelerinizin, uygulamalarınızın ve kaynaklarınızın korunmasını, güvenliğini ve ekibinizdeki değişikliklerle birlikte gelişebilmesini sağlamanız önemlidir.
Firebase projesinin aslında Firebase hizmetleri ve yapılandırmaları etkinleştirilmiş bir Google Cloud proje olduğunu unutmamak önemlidir. Bu nedenle, Google Cloud'un önerdiği birçok en iyi uygulama 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.
Özellikle üretim uygulamanızla ilişkili proje olmak üzere önemli projelerinizi koruyun.
Yanlışlıkla proje silinmesine karşı koruma sağlamak için proje ipoteklerini kullanın.
Üretim ortamınızı tanımlamayı kolaylaştırmak için Firebase konsolunda "Prod" etiketi uygulayın.
Henüz yapmadıysanız bir Google Cloudkuruluş oluşturup Firebase projelerinizi bu kuruluşa ekleyebilirsiniz.
Firebase projelerinize birden fazla sahip ekleyin. Bu özellikle projeniz bir Google Cloud kuruluşunda değilse önemlidir. Firebase projesi için 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 durum, özellikle ekip üyelerinin değiştiği veya ayrıldığı durumlarda faydalıdır.
Her proje üyesine (diğer adıyla "asıl") Firebase projelerinize ve kaynaklarınıza uygun düzeyde erişim izni verin. Daha fazla bilgiyi Firebase IAM ile proje erişimini yönetme başlıklı makalede bulabilirsiniz.
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ı almak için tercihlerini ayarladığından emin olun. Daha fazla bilgi için Firebase uyarılarını alma başlıklı makaleyi inceleyin.
Belirli veya ek proje üyelerinin bildirim almasını istiyorsanız projenizin "önemli kişilerini" isteğe bağlı olarak özelleştirebilirsiniz. Bu özellik, özellikle faturalandırma, yasal ve ürün değişiklikleriyle ilgili bildirimlerin yalnızca proje sahibine değil, diğer kullanıcılara da gönderilmesini sağlamak için kullanışlı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 listesindeki API anahtarlarıyla ilgili bilgilere de göz atın.
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 belirli noktaları olabilir.
Firebase AI Logic
Google Analytics
Uygulamanızın kullanıma sunulmasıyla birlikte analiz verileri toplamaya başlamak için Google Analytics için kitle koşullarını tanımlayın.
Verilerinizi BigQuery SQL ile analiz edebilmek veya verileri kendi araçlarınızla kullanmak için dışa aktarabilmek üzere Google Analytics verilerinin BigQuery'e aktarılmasını etkinleştirmeyi düşünün.
Kullanıcı özelliklerini, uygulamanızın yaşam döngüsü boyunca alakalı olacak bilgilerle sınırlayın. Oluşturabileceğiniz sayı sınırlıdır ve bu özellikler 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ında App Store kimliğinizin ve gerekirse ekip kimliğinizin doğru olduğundan emin olun.
App Check
Firebase konsolunun proje ayarlarında ekip kimliğinizin doğru olduğundan emin olun.
Henüz yapmadıysanız zorunlu kılmayı Firebase App Check destekleyen her hizmet için başlatın. App Check, yalnızca gerçek uygulamalarınızın arka uç hizmetlerinize ve kaynaklarınıza erişebilmesini sağlar.
Authentication
Kullanmadığınız sağlayıcıları (özellikle anonim kimlik doğrulama) devre dışı bırakın.
Uygulamanızda Google ile oturum açma özelliği kullanılı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 Firebase App Check'ı zorunlu kılmaya başlayın ve uygulamanızı SMS kötüye kullanımından korumak için SMS bölge politikası yapılandırın.
Sık karşılaşılan Authentication hatalar için Apple platformlarında hata işlemeyi uygulayın.
Firebase konsolunun Proje ayarları bölümüne uygulamanızın imzalama sertifikası için bir yayın SHA-1 karması ekleyin. Uygulamanızda telefon numarasıyla oturum açma veya Google ile oturum açma (OAuth istemcisi gerektirir) kullanılıyorsa SHA-1 karması zorunludur.
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 (özellikle Firebase Security Rules'ye dayalı ürünler kullanıyorsanız önemlidir).
Cloud Firestore
İstem dışı veri erişimini önlemek için Cloud Firestore Security Rules yapılandırın.
Kod daraltma için ProGuard'ı yayınlanan derlemenizde 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 verileri kendi araçlarınızla kullanmak için dışa aktarabilmek üzere Cloud Messaging verilerinin BigQuery'e aktarılmasını etkinleştirmeyi düşünün.
Cloud Messaging için APNS kimlik doğrulama anahtarınızı Firebase konsolunda Apple uygulamalarına yükleyin. APNS sertifikaları kullanıyorsanız üretim APNS sertifikanızın yüklendiğinden emin olun.
Cloud Storage
- İstem dışı veri erişimini önlemek için Cloud Storage Security Rules 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. Daha fazla bilgi için Firebase uyarılarını alma başlıklı makaleyi inceleyin.
Verilerinizi BigQuery SQL ile analiz edebilmek veya verileri kendi araçlarınızla kullanmak için dışa aktarabilmek üzere Crashlytics verilerinin BigQuery'e aktarılmasını etkinleştirmeyi düşünün.
(yalnızca yerel Android ve iOS) Bir kilitlenmenin nedenini anlamanız ve bu konuda ne yapmanız gerektiğini belirlemeniz için gereken süreyi hızlandırmaya yardımcı olması amacıyla Crashlytics'da yapay zeka yardımını etkinleştirmeyi düşünebilirsiniz.
Yayın derlemeleri için dSYM dosyasını yükleyerek Crashlytics'da kullanın. Xcode'un dSYM'leri otomatik olarak işleyebildiğinden ve dosyaları yükleyebildiğinden emin olun.
Crashlytics'te kullanılmak üzere sürüm derlemeleri için ProGuard eşlemesi yükleyin. Yükleme işlemi Firebase CLI kullanılarak yapılabilir.
Android uygulamanızın durumu hakkında daha kapsamlı bir görünüm elde etmek için Firebase'i Google Play'e bağlayın. Örneğin, uygulamanızın kilitlenme raporlarını Google Play kanala göre filtreleyebilirsiniz. Bu sayede, kontrol panelinizi belirli derlemelere daha iyi odaklayabilirsiniz.
Android'i hedefleyen ve IL2CPP kullanan derlemeler için, kod veya yapılandırma değişiklikleri olup olmadığına bakılmaksızın, sembollerini kullanmak istediğiniz her derleme çalıştırması için yerel sembolleri yüklediğinizden emin olun.
Dynamic Links
- Dynamic Links hizmetinin desteği sonlandırıldı. Bu nedenle, hizmetten taşınmanızı öneririz. Daha fazla bilgiyi desteği sonlandırmayla ilgili SSS bölümünde bulabilirsiniz.
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ı almak için tercihlerini ayarladığından emin olun. Daha fazla bilgi için Firebase uyarılarını alma başlıklı makaleyi inceleyin.
Verilerinizi BigQuery SQL ile analiz edebilmek veya verileri kendi araçlarınızla kullanmak için dışa aktarabilmek üzere Performance Monitoring verilerinin BigQuery'e aktarılmasını etkinleştirmeyi düşünün.
Realtime Database
İstem dışı veri erişimini önlemek için Realtime Database Security Rules 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 ek kapasiteye ihtiyaç duyabilir.
Proguard kurallarınızı Realtime Database ile çalışacak şekilde yapılandırın.
Remote Config
Deneysel Remote Config kuralların, sürümünüzü kullananları etkilemediğinden ve uygulamanızda uygun sunucu ile uygulama içi varsayılanların dağıtıldığından emin olun.
Önceki sürümler uyumsuz hale gelirse veya desteği sonlandırılırsa kullanıcıları uygulamalarını güncellemeye yönlendirebilmek ya da zorunlu tutabilmek için Remote Config içinde
minimum_versionparametresini yapılandırmayı düşünebilirsiniz.