Firebase lansman kontrol listesi

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ınlamayla ilgili genel en iyi uygulamalar

  • Üretim ortamına 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 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 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 hafif, gerçek zamanlı bir kilitlenme raporlayıcı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ı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. Uygulamanızda veya projenizde işlem yapabilmeniz için yapılandırılmış eşiğinize yaklaştığınızda veya bu eşiği aştığınızda uyarılar size bildirim gönderir.

    • 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 kullanıyorsanız projeniz ilgili hizmet için belirlenen bütçeye ulaştığında geçerli hizmeti duraklatacak harcama sınırları belirlemenizi ö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 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, Firebase hizmetleri ve yapılandırmaları etkinleştirilmiş bir Google Cloud projesi olduğunu unutmayın. 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.

  • Önemli projelerinizi, özellikle de üretim uygulamanızla ilişkili projeyi koruyun.

    • Yanlışlıkla projenin silinmesini önlemek 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 Cloud kuruluşu 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, ö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 erişim düzeyini 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ı 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 isteğe bağlı olarak projenizin "önemli kişilerini" ö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 dikkat edilmesi gereken özel noktaları olabilir.

Firebase AI Logic

Google Analytics

App Check

  • Firebase konsolunun proje ayarlarında ekip kimliğinizin doğru olduğundan emin olun.

  • Henüz yapmadıysanız Firebase App Check'ı zorunlu kılmaya başlayın. Bu özellik, desteklenen tüm hizmetlerde kullanılabilir. 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 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 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.

  • Apple platformlarında sık karşılaşılan 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 karma değeri ekleyin. Uygulamanızda telefon numarasıyla oturum açma veya Google ile oturum açma (OAuth istemci şartı vardır) özelliği kullanılıyorsa SHA-1 karma değeri gerekir.

  • 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

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 Messaging için bulut denetleme günlüğünü etkinleştirmeyi düşünün. Bu sayede, Google Cloud kaynaklarınızdaki yönetim ve erişim etkinliklerini kaydeden denetleme günlükleri oluşturabilirsiniz.

  • Yeni özelliklerden 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 etkili mesaj hedefleme için kayıt jetonlarını zaman damgasıyla kaydedin, değişikliklerde güncelleyin ve eski jetonları (bir aydan uzun süredir etkin olmayan) kaldırın.

  • Büyük ölçekte Cloud Messaging mesaj gönderirken en iyi uygulamalardan yararlanın. 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ından kaçınmak için Retry-After başlıklarına uyun.

Cloud Storage

Crashlytics

  • Dynamic Links desteği sonlandırıldığından hizmetten başka bir hizmete geçmenizi öneririz. Desteği sonlandırmayla ilgili SSS bölümünden daha fazla bilgi edinebilirsiniz.

Firebase ML

Performance Monitoring

Realtime Database

  • İstenmeyen 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 yeterince büyük 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 uygulamasında minimum_version parametresi yapılandırmayı düşünebilirsiniz.