Bu dokümanda, Firebase uygulamasını üretime sunmadan önce dikkat edilmesi gereken noktalar ve en iyi uygulamalarla ilgili bir yapılacaklar listesi yer almaktadır.
Yayınlamayla ilgili genel en iyi uygulamalar
Tüm değişikliklerinizi, üretime dağıtmadan önce Firebase Local Emulator Suite (desteklenen ürünler için) bölümünde test ettiğinizden emin olun. Ayrıntılı testler, maliyetli hataları önlemeye yardımcı olabilir.
Destekleyen her hizmet için Firebase App Check'i uygulamaya başlayın. 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.
Uygulamanızda yeni özellikleri ve güncellemeleri güvenli ve kademeli olarak yayınlamak için Firebase Remote Configkullanıma sunma özelliğini kullanın.
Henüz yapmadıysanız Firebase Crashlytics'ı ayarlayın. Bu, uygulamanızın kalitesini düşüren kararlılık sorunlarını izlemenize, önceliklerini belirlemenize ve düzeltmenize yardımcı olan hafif ve anlık bir kilitlenme raporlama aracıdır.
Fiyatlandırma planı sınırlarınızı öğ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ını ve kotaları aşmadığınızdan emin olun. Kullandıkça öde Blaze fiyatlandırma planına yükseltme yapabilirsiniz.
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ırdığınız eşiğe yaklaştığınızda veya eşiği aştığınızda uygulamanızda ya da projenizde işlem yapabilmeniz için size uyarı gönderilir.
Uyarılara yanıt olarak faturalandırmayı devre dışı bırakan işlevler gibi gelişmiş uyarılar ve işlemler ayarlayabilirsiniz.
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
Tek bir geliştirici veya kurumsal ölçekte bir ekip olmanız fark etmeksizin Firebase projelerinizin, uygulamalarınızın ve kaynaklarınızın korunduğundan, güvenli olduğundan ve ekibinizdeki değişikliklere göre gelişebildiğinden emin olmanız önemlidir.
Firebase projesinin, Firebase hizmetlerinin ve yapılandırmalarının etkinleştirildiği bir Google Cloud proje olduğunu unutmayın. Bu, Google Cloud'un önerdiği birçok en iyi uygulamanın Firebase için de geçerli olduğu anlamına gelir.
Geliştirme, test ve üretim için farklı Firebase projeleri kullanın.
Üretim uygulamanızla ilişkili projeye beklenmedik şekilde maruz kalmayı sınırlamaya çalışın. Geliştirme iş akışlarını ayarlama hakkında daha fazla bilgi edinin.
Özellikle de üretim uygulamanızla ilişkili proje olmak üzere önemli projelerinizi koruyun.
Projelerin yanlışlıkla silinmesini önlemek için proje ipoteklerinden yararlanın.
Üretim ortamınızın tanımlanmasını kolaylaştırmak için Firebase konsolunda "Prod" etiketi uygulayın.
Henüz yapmadıysanız Google Cloudkuruluş oluşturabilir ve Firebase projelerinizi bu kuruluşa ekleyebilirsiniz.
Firebase projelerinize birden fazla sahip ekleyin. Özellikle projeniz bir Google Cloud kuruluşunda değilse. Firebase projesi için sahip atamanın ne zaman ve nasıl yapılacağı hakkında daha fazla bilgi edinin.
Proje üyelerini (diğer adıyla "yöneticiler") tek tek değil, Google grupları olarak ekleyin.
Grupları kullanmak, ekip üyelerine toplu olarak rol atamayı ve özellikle ekip üyeleri değiştiğinde veya ayrıldığında Firebase projenize kimin erişimi olduğunu yönetmeyi kolaylaştırır.
Her proje üyesine ("yönetici" olarak da bilinir) Firebase projelerinize ve kaynaklarınıza uygun erişim düzeyini verin. Firebase IAM ile proje erişimini yönetme başlıklı makalede daha fazla bilgi edinin.
İlgili her proje üyesinin ("yönetici" olarak da bilinir) belirli ürünler veya proje durumuyla ilgili uyarılar (ör. faturalandırma planı değişiklikleri veya kota sınırları) almak için tercihlerini ayarladığından emin olun. Firebase uyarıları alma başlıklı makalede daha fazla bilgi edinin.
Belirli veya ek proje üyelerinin bildirim almasını istiyorsanız isteğe bağlı olarak projenizin "önemli kişilerini" de özelleştirebilirsiniz. Bu, ö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 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 yapılacaklar listesinde API anahtarlarıyla ilgili bilgilere göz atın.
Uygulamanızda kullanılan belirli hizmetleri hazırlama
Uygulamanızda kullanılan her ürün ve hizmetin üretimde kullanılmasıyla ilgili belirli hususlar olabilir.
Google Analytics
Uygulamanızın lansmanından itibaren 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 kendi araçlarınızla kullanmak için dışa aktarabilmek amacıyla Google Analytics verilerinin BigQuery'e aktarılmasını etkinleştirebilirsiniz.
Kullanıcı özelliklerini, uygulamanızın tamamının yaşam döngüsü için alakalı olacak bilgilerle sınırlayın. Oluşturabileceğiniz kullanıcı özelliği sayısına dair bir sınır vardır ve bu özellikler arşivlenemez.
Google Analytics mülkleriniz ve hesaplarınız için Google Analytics rollerine ait ayarları inceleyin. Bu izinler, Firebase projesi IAM izinlerinden ve rollerinden ayrı olarak yönetilir.
Firebase konsolunun Proje ayarları bölümündeki App Store kimliğinizin ve gerekirse ekip kimliğinizin doğru olduğundan emin olun.
App Check
Firebase konsolunun Proje ayarları bölümündeki ekip kimliğinizin doğru olduğundan emin olun.
Henüz yapmadıysanız destekleyen her hizmet için Firebase App Check'i uygulamaya başlayı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ız Google ile oturum açma özelliğini kullanıyorsa OAuth izin 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ına karşı korumak için Firebase App Check SMS bölge politikası yapılandırın ve uygulamaya başlayın.
Yaygın Authentication hataları için Apple platformlarında 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ı ile oturum açma veya Google ile oturum açma özelliğini (OAuth istemci şartı vardır) kullanıyorsa SHA-1 karma oluşturma işlemi gereklidir.
Yetkisiz kullanımı önlemek için alanlarınıza erişim denetimi ekleyin. Daha açık belirtmek gerekirse, Firebase konsolunun Authentication bölümünde üretim alanınıza erişim izni verin (özellikle Firebase Security Rules'i kullanan ürünler kullanıyorsanız önemlidir).
Cloud Firestore
İstenmeyen veri erişimini önlemek için Cloud Firestore Security Rules cihazınızı yapılandırın.
Sürüm derlemenizde kod küçültme 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 için dışa aktarabilmek amacıyla Cloud Messaging verilerinin BigQuery'e aktarılmasını etkinleştirebilirsiniz.
Apple uygulamalarında Cloud Messaging için APNS kimlik doğrulama anahtarınızı Firebase konsoluna yükleyin. APNS sertifikaları kullanıyorsanız üretim APNS sertifikanızı yüklediğinizden emin olun.
Cloud Storage
- İstenmeyen veri erişimini önlemek için Cloud Storage Security Rules cihazınızı yapılandırın.
Crashlytics
İlgili her proje üyesinin Crashlytics veya proje durumuyla ilgili uyarılar (ör. faturalandırma planı değişiklikleri veya kota sınırları) almak için tercihlerini ayarladığından emin olun. Firebase uyarıları alma başlıklı makalede daha fazla bilgi edinin.
Verilerinizi BigQuery SQL ile analiz edebilmek veya kendi araçlarınızla kullanmak için dışa aktarabilmek amacıyla Crashlytics verilerinin BigQuery'e aktarılmasını etkinleştirebilirsiniz.
(yalnızca yerel Android ve iOS) Bir kilitlenmenin neden oluştuğunu ve bu konuda ne yapmanız gerektiğini anlamanızı hızlandırmak için Crashlytics'te yapay zeka yardımını etkinleştirebilirsiniz.
Crashlytics'de kullanılmak üzere sürüm derlemeleri için dSYM dosyasını yükleyin. Xcode'un dSYM'leri otomatik olarak işleyip dosyaları yükleyebildiğinden emin olun.
Crashlytics'te kullanılacak sürüm derlemeleri için ProGuard eşlemesini yükleyin. Yükleme işlemini Firebase KSA ile yapabilirsiniz.
Android uygulamanızın durumunu daha ayrıntılı bir şekilde görmek 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şikliği olup olmadığına bakılmaksızın yerel simgeleri yüklediğinizden emin olun.
Dynamic Links
- Dynamic Links desteği sonlandırıldığı için hizmetten geçiş yapmanızı öneririz. Desteği sonlandırmayla ilgili SSS bölümünden daha fazla bilgi edinebilirsiniz.
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
İlgili her proje üyesinin Performance Monitoring veya proje durumuyla ilgili uyarılar (ör. faturalandırma planı değişiklikleri veya kota sınırları) almak için tercihlerini ayarladığından emin olun. Firebase uyarıları alma başlıklı makalede daha fazla bilgi edinin.
Verilerinizi BigQuery SQL ile analiz edebilmek veya kendi araçlarınızla kullanmak için dışa aktarabilmek amacıyla Performance Monitoring verilerinin BigQuery'e aktarılmasını etkinleştirebilirsiniz.
Realtime Database
İstenmeyen veri erişimini önlemek için Realtime Database Security Rules cihazınızı 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.
Realtime Database ile çalışacak şekilde proguard kurallarınızı 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ılan ayarların dağıtıldığından emin olun.